Update

Published March 03, 2007
Advertisement
Well I had a test session on March 1st...things went well. I've hammered out the last crash bug about a month ago, so nobody has crashed in a while, that's good news. Other than that I've mostly been working on cleaning up the netcode.

This last test session I had coded up a new client side interpolation algorithm for the actors / vehicles. I'm happy with the way things are working out...things looked really good on my end. My publisher [Strategy First] is based out of Montreal, so we have about a 130ms ping difference. I have servers running out of my office in Raleigh NC, and they set up a server as well. We jump back and forth between each server typically during a session.

I can't notice too bad of a difference in-game between a 30ms and 150ms ping that's good news...but the only real problem that's left is to get the vehicle physics working perfectly over the network which is a real bear. I'm trying to avoid the client side prediction route which could get real hairy.

One thing that I thought was cool about the latest test session, I recently added the ability for multiple clients to be inside the same vehicle. It was neat to be in the passenger seat while my producer was driving the car around the city, things were synced up perfectly for me.

Also, I recorded close to 13GB of [uncompressed AVI] footage during the session. I like to analyize things after the fact so I can get things cleaned up for the next weeks test session.

I typically run 2 game clients in each test session so I can spectate the game world and just to check things out. With the recent implementation of teamplay [last build/test session] I think things are going to start to interesting.

Earlier today I was working on implementing grenades / C4 / time bombs into the game. Also I fixed some bugs with the 'graffiti spraypaint' functions, as well as further optimized the ray casting funcitons as well as fixing a bug with the bullet code.

Ok...Here are some screenshots from the latest test session on the 1st of March.

//I like this one :-D


//I really don't know why I'm getting 45FPs in this screen. I'm playing @ 1024x768 & 8x FSAA & 12X motion blur and bloom...I usually get ~60-70FPS on my 8800...but yea. I guess it had to do with the extra network traffic. You can see the netgraph on the right side of the screen.


//"" just a hour gmae-time later.


//Here you can see what spectators / bosses look like to other people. Again, WTF with the low FPS...I chalk it up to net traffic. I wouldn't have thought it could cut the FPS to 1/3 their offline values. Especially considering the physics / AI is now offloaded to the server. Something is fishy.


//Up high.


In-case you missed it here is one of my favorite videos I've made lately....Also I'm playing around with a new logo for the game you can see it overlayed on these screens.



CLICK HERE TO DOWNLOAD THE VIDEO [18MB MPEG].







Ok. Another update soon :-D

- Dan
0 likes 5 comments

Comments

Aardvajk
That's the first time I've seen one of your videos. Absolutley awe-inspiring. The shadow and lighting effects are out of this world.

I'm pretty stunned that one person could create something like this on their own.
March 03, 2007 04:43 AM
dgreen02
Thanks a lot guys [grin]
March 04, 2007 03:10 AM
Ysaneya
At 41 seconds into the video, in the background buildings on the very left, there seems to be a frustum culling problem :)

Yeah, I have the eye for such things :)

The video is really nice. A point of curiosity: what algorithm are you using to handle the physics in networking ?
March 05, 2007 12:05 PM
dgreen02
Ysaneya - Yes I imagine you have an eye for such things :-D

I have to do some tricks in terms of vertex buffer calculations to make the city render at a reasonable rate...it's not perfect yet [grin] I know what you're talking about I was waiting to see if anyone would mention it. Good to see you're analyzing the video.

For the physics across the network I had to handle that myself...it's rather straight forward I use the same system for vehicles + actors + objects. Converting their matrices / position into a quat + vector and checking the floats against a 'delta change' value to determine if the object needs to be sent across the network.

Things are done completly server-side [ I basically used the HL2 system http://www.valve-erc.com/srcsdk/general/multiplayer_networking.html ]. I do client side interpolation to smooth things out and that's really all it takes [syncing the props/objects every ~90ms]. The vehicles could get hairy if I have to do client side prediction, but overall it was pretty straightfoward / easy to get the physics working over the network, just a lot of tweaking values. I'll discuss it a little more and post a new video soon.

Actually here is a old post with more details if u want - http://www.gamedev.net/community/forums/mod/journal/journal.asp?jn=323649�

- Dan
March 05, 2007 08:59 PM
You must log in to join the conversation.
Don't have a GameDev.net account? Sign up!
Advertisement