Thursday, May 7, 2009 at 10:04 AM |  
I've got basic networking done. Now the game engine deals cleanly with connection handshake and network command messaging.

These two feature is essential for the game. Handshake exist such that verification between server and client must exist when initiating connection. This will allow server to verify if the client is the actual Aftershock game client and not some other random app who so happen to use the same port number. It also filters bad version matches so only game binary of the same version can connect. Last but not least, it also deals with filtering of conflicting user names.

Eventually, this system will be extended to authenticating with our central server for validating users in online play. :)

The second system which is network command messaging acts as a way for two computer to communicate and send command to each other. This is important for world synchronizing where the server needs to tell clients to spawn objects, shoot some fireworks, trigger some sounds, or even send chat messages.

Unfortunately, network is not as nice as graphics. There's nothing flashy to show even though the underlying part is a masterpiece. :P So no screenies for this post.

But one thing I must say before I end. I'm glad I planned for network when designing the engine. Writing a single player game engine and a network multiplayer game engine is two totally different thing. A single player game engine can never be enhanced properly in a multiplayer environment. I'm glad to have so many reference articles by Epic, Valve and id-Soft for puny little me to refer to. :) Gotta love living in this era. :P

Next up: Time synchronizing :)
Posted by Lf3T-Hn4D


Prometheus said...

Excellent! So when I start fragging ???

May 7, 2009 at 11:28 AM  
swin said...

i spent several months on my networking. a lot of unexpected things...

May 7, 2009 at 5:29 PM  
Vhab said...

Could you share that collection of reference articles with us? :)

May 8, 2009 at 3:16 AM  
Lf3T-Hn4D said...

@swin: yeah.. which is why preparing for it before coding is very important. :)

@Vhab: I'd love to. I'll post them up next blog post. :)

May 10, 2009 at 8:56 AM  

Post a Comment

Liquid Rock Games and Project Aftershock. All Rights Reserved.