/-/S'pht-Translator-Active/-/


Re: Jason Jones interview
Posted By: M-ClassDate: 1/13/02 11:08 a.m.

In Response To: Re: Jason Jones interview (M-Class)

Q. I'm guessing that you're considering porting Marathon to another platform at some point.

A. Obviously for portability, assembly language code is a huge liability.

Q. You mention texture mapping. What other parts of Marathon needed that final performance boost from assembly language?

A. Actually, just the texture mapping. That's one reason why the texture mapping was kept seperate from the rendering. That front end that builds the surfaces loop.
Q. Was there any difficulty in presenting things in 3-D and keeping track of it? I've wandered around in corridors that go one above another.

A. Not really. We planned for that kind of stuff and it works pretty well. There's some tricks, but that was a fairly easy part of the project compared to say, the front end of the rendering engine. The collision detection code is really complicated as well.
Q. Why is that complicated?

A Just because it's a lot of gross maps. You're dealing with an object, an arbitrary polygon, that's moving around, and you have to make sure it doesn't go through a wall. In fact, you have to stop the object before it goes through a wall, not right up against the wall. you end up with a pretty weird, complicated set of equations.

Q. Did you use signed integer math and keep away from doing flaoting point calculations?
A. Yes. All the complicated math in Marathon is done in fixed point math for speed. There's no floating point.

Q. How do you manage the game map, or keep things mapped in memory, such as the tunnels? Is there a list, or what?

A.Yes. It's just a bunch of lists. There's a monster list, a projectile list, a list of the walls, doors, stuff like that. It's a fairly straightforward arrangement. Anybody who's seen the map editor can pretty much appreciate what all of our low level data structures look like. There's a set of points, a set of lines that connect points, and a set of polygons, which are made of lines. They're just a bunch of lists in memory.

Q. Now, about Marathon's network capabilities. Suppose several people are playing a networked death match. How do you handle network protocols and communications? How does that big global block of data get updated so that it looks the same on everybody's screen? So that what happens to one person gets relayed (or transmitted) to everyone else?

A. One of the tricks we used in Marathon was to try to make its network operation no different from its local operation. That is, commands from remote machines are really no different than the commands from your local machine. Inside the game engine itself, we don't special-case the networking commands. Marathon is set up so it's almost like there are eight people on the same keyboard as far your machine is concerned. The network protocol itself is packet-based. We don't use any of the fancy, higher-level services of AppleTalk. We don't use any of the data streams stuff. It's all DDP.

Q. Datagram Delivery Protocol.

A. Exactly. We use DDP with some tricks to try to minimize the number of packets you send around the network, especially over LocalTalk, so that we don't overload the network. On an Ethernet network, we're sending packets 30 times a second to make sure that everybody keeps up with the game. The networking code is another thing like the rendering. It's just heinously complicated.

[ | Message Index | Read Prev Msg | Read Next Msg ]
Pre-2004 Posts

Replies:

Jason Jones interviewAndrew Nagy 1/9/02 8:31 a.m.
     Also, while playing Marathon 2 the other day...Andrew Nagy 1/9/02 9:10 a.m.
     Re: Jason Jones interviewHamish Sinclair 1/9/02 9:17 a.m.
           Re: Jason Jones interviewwhocares 1/9/02 11:31 a.m.
           Re: Jason Jones interviewM-Class 1/9/02 2:51 p.m.
                 Re: Jason Jones interviewM-Class 1/9/02 3:11 p.m.
                       Re: Jason Jones interviewM-Class 1/9/02 3:24 p.m.
                             Re: Jason Jones interviewM-Class 1/9/02 3:43 p.m.
                                   Re: Jason Jones interviewM-Class 1/9/02 3:54 p.m.
                                         Cool. Are you going to continue? *NM*Hamish Sinclair 1/9/02 9:28 p.m.
                                               HAMISH!!Khral 1/10/02 2:39 a.m.
                                                     Re: HAMISH!!Hamish Sinclair 1/10/02 3:11 a.m.
                                               yep, I got sleepy last night *NM*M-Class 1/10/02 10:58 a.m.
                                         Re: Jason Jones interviewM-Class 1/10/02 11:17 a.m.
                                               Re: Jason Jones interviewM-Class 1/10/02 11:34 a.m.
                                                     Re: Jason Jones interviewM-Class 1/12/02 9:43 a.m.
                                                           Re: Jason Jones interviewM-Class 1/12/02 10:06 a.m.
                                                                 Re: Jason Jones interviewM-Class 1/12/02 10:31 a.m.
                                                                       Re: Jason Jones interviewM-Class 1/12/02 10:44 a.m.
                                                                             Re: Jason Jones interviewM-Class 1/12/02 11:01 a.m.
                                                                                   Many thanks *NM*Hamish Sinclair 1/12/02 12:22 p.m.
                                                                                   Re: Jason Jones interviewM-Class 1/13/02 11:08 a.m.
                                                                                         Re: Jason Jones interviewM-Class 1/13/02 11:31 a.m.
                                                                                               Re: Jason Jones interviewM-Class 1/13/02 11:58 a.m.
                                                                                                     Re: Jason Jones interviewM-Class 1/13/02 12:27 p.m.
                                                                                                           Many thanks. *NM*Hamish Sinclair 1/14/02 12:14 p.m.
                 Re: Jason Jones interviewDan Aris 1/10/02 2:13 p.m.
                 I have this Book! I will sell it if anyone wants!Ernie TMBM 1/11/02 2:53 p.m.
                       Re: I have this Book! I will sell it if anyone wanHamish Sinclair 1/12/02 9:05 a.m.
                             Re: I have this Book! I will sell it if anyone wanErnie 1/15/02 12:39 p.m.
                             Re: I have this Book! I will sell it if anyone wanErnie 1/15/02 12:40 p.m.
           Re: Jason Jones interviewVid Boi 1/10/02 2:20 a.m.



Problems? Suggestions? Comments? Email maintainer@bungie.org

Marathon's Story Forum is maintained with WebBBS 5.12.