I Have Issues With Network Programming…

I have one relatively tiny issue with network programming. This problem is potentially making my development stall.

I like network programming too much.

I like seeing those packets arrive the right places. I like checking speed of UDP transfers. I like watching what the server does when clients join and leave… I like coding this stuff and testing different solutions and libraries. I like reading the material about handling lag and think of how to plan do network code (excellent article I wrote back in 2006). This might sound fine, but I suspect that there’s a chance that I’m using too much time to programming this network code.

…maybe I just call this “thorough testing”?

Juuso Hietalahti


  1. Fili: In my case it’s superb important, since this traitor thing really shows its guts in the multiplayer. I would expect soloing to be mainly “training for the multiplayer” (if even possible, since this game focuses so much on player deduction based on the things that happen on screen… I’m not sure if anyone has invented an AI that can mimic humans on decision making in this level… :))

    Anyway. I’ve done first bits of networking code as early as 2001, and got hang on them around 2005… 2007 (there was a few years gap also)… and now I feel that the hard work is already done. The planning I mean.

    I’m quite simply just “cloning” some of the network structure I did earlier and just putting things here.

    [add in the end]
    Yeh, some see it like this, but I feel that it might be tricky (depends on your game I suppose) to add things later if there’s no any planning done earlier.

    In my game (which is so multiplayer oriented due traitor focus), I just gotta have the multiplayer up & running fast so that I can test it as soon as possible = which increases value of my project.

  2. Network programming is seen by many as “something you add at the end of the project when everything else is working to increase the value of the product”.
    The reality is that network code is a very important part of the game and should receive a fair share of work-hours, just like graphics or AI. Sometimes I start writing a little of network code before doing anything else on the engine so that I get an idea how things should flow. Essentially, when running in singleplayer, my games behave just like a local multiplayer game with one human and lots of bots.
    So don’t worry, take your time in writing good network code. If you do it right now, you’ll be able to recycle a lot of it in the next game ;)

Comments are closed.