Game Development Community

How do I build a RW compatible Torque Engine?

by Bryan Turner · in General Discussion · 03/25/2002 (4:30 pm) · 5 replies

Hello,

I'm tring to get some networking statistics from a running game, but no one is playing the 'fps' mod right now, so I figgured I'd just start up my engine with the RW mod and catch the action there.

Unfortunately it crashes before even displaying the logo screen! I'm using Release_1_1_1, what diffs do I need to pick up to be compatable with the RW mod?

Thanks!
--Bryan

#1
03/25/2002 (4:33 pm)
I hear the HEAD version is required if you want to play with RW compiled scripts.

You're using an older version of source, so get the HEAD version and try again. That should fix that problem.
#2
03/25/2002 (6:19 pm)
Matt,

Thanks! Works great.

Now if I can just find a server with > 3 people playing. :)

I'm interested in gathering data to look at bandwidth optimization strategies. The data I just collected ran like this:

5 Player Game:
Avg Packet size: 172.3 bytes
Avg #Ghosts: 10.0

3 Player Game (after adding some more stats):
Avg Packet Size: 45.2 bytes
Avg #Ghosts: 3.4
Avg #PlayerGhost Updates: 3.1
Avg Player Update Size: 12.6 bytes

Looks like optimizing the player update would make the biggest difference. It appears that the player update dumps 12-18 bytes for just the position, velocity and view orientation vectors (which coincides nicely with the average player update size).

--Bryan
#3
03/28/2002 (9:31 am)
Wow, very cool information!

How did you collect it? I haven't looked into any of the networking debug features of the engine, but I really see how this can be useful when trying to allieviate latency issues.
#4
03/28/2002 (11:14 am)
Yeah, were you using a protocol analyser or are you doing something in the engine to dump these stats?
#5
03/29/2002 (11:15 am)
Actually, I dropped to the old-skool printf() method. Each packet that is recieved I store some info on as it gets processed (size, # ghosts, size of each ghost update, etc..) then printf() the data with commas between it.

Then use notepad to delete the non-protocol data, and import it as a CSV into Excel for post-processing.

I have a recording of an entire game which maps every player's position on the landscape (looks neat in an Excel XY-Plot).

There may be some built-in protocol trace functions, but I didn't see any obvious ones (only error-tracking, not protocol sniffing).

--Bryan