I Know What You Did Last Week #28

“Imagination is the beginning of creation. You imagine what you desire, you will what you imagine and at last you create what you will.” - George Bernard Shaw

Loading sucks. Loading while the player is trying to play the game REALLY sucks. The reason loading sucks is because it takes time. Time is very valuable. I spent a good chunk of last week working on getting Ogre’s background loading working. This allows the developer to load resources in another thread which would prevent loading from interrupting gameplay.

You may be asking why we don’t just load everything before the player is playing the game. The answer is we do. But the future is unknowable. When other player’s connect to the server they can be wearing any of our many pieces of gear. We cannot preload all of this gear so it must be loaded when needed.

Unfortunately the background loading didn’t work out for us so we are loading the content once the player is ready (the game play is over and they are waiting for the next round).

This week’s big task is to get something called NAT punch through working. This will allow players behind a firewall to host a Zero Gear server. This is going to be a huge task that is going to require us to switch our low level networking layer over to a different library entirely. Wish me luck!

Between scribbling madly on my legal pad to remind me of things that need doing, I have been tweaking maps, tweaking graphics, tweaking GUI’s and managing our issue tracker. I also spent a good chunk of time spicing up our Zero Gear website to start preparing for more people to start hitting it as we get closer to a public beta. As our private testing expands it is great to be hearing feedback from everyone and addressing what we can, and focusing on what people find the most fun.

This week I am just going to be hitting things as they come at me, and trying to prepare as best I can for what the next few months are going to bring!

Last week I started overhauling the garage GUIs, but hit a few snags and moved on to Bot work, mostly for tag mode. The tag bots now have limited functionality, enough to fill a spot or two in a server but not so great if you’re playing all alone. Zero Gear was intended to be played with real-live people so we’re debating how much time to invest in bot AI.

This week I’m hoping to get the garage back up and running with the new GUI so that our testers can go back to dressing up their characters!

Last week’s SVN log:
svnlog28

Share and Enjoy:
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google
  • LinkedIn
  • MySpace
  • N4G
  • Reddit
  • StumbleUpon
  • TwitThis

8 Comments

  • adam Says:

    Woah, Murphy, NAT punch-through would be sweet (I happen to be behind a firewall)– are you considering switching to RakNet to accomplish this?

  • Liam Anderson Says:

    Sounds good guys :) keep up the good work. Hope the NAT stuff goes well had to do it myself in the past a real pain :)

  • Murphy Says:

    We are using enet now (which I really like actually). It does not natively support NAT punch. For a number of reasons I am going to use what Steam offers. The interface is not far off from enet and they provide the NAT punch server so it seems like the best method.

    RakNet was in consideration but would require we run our own server. Also, I like a simpler interface than RakNet offers.

  • Liam Anderson Says:

    I find Raknet to be to cluttered if you aint using most their features then you have a lot of bits and pieces sitting about you never use. Better to go for the smaller lib’s i think personally.

  • Liam Says:

    Murphy I do not know enough about your server code but why would a user run server require a hole punched through it? Also are you clients talking to each other?

  • Liam Says:

    Also it is nice to see nearly all commits now have messages :)

  • Murphy Says:

    The user would have to manually open up a port on their firewall in order for other players to connect to them. Using NAT punch gets rid of this requirement (in most cases…).

    This is how a game like L4D or most XBox games allow anyone to host the game even if they don’t know what a firewall or router is.

    The clients do not talk to each other. It is a client-server system, not peer-to-peer. That would complicate things soooo much, haha.

    Posting the commits on the blog subconsciously makes us enter more messages. A nice side effect :)

  • Liam Says:

    So as not to make my previous post seem like a stupid question :)

    As discussed in the irc channel the missing piece of information which makes my question redundant is that the server and clients talk to the steam server. Without this central server it did not make sense which is why I asked if the clients could talk to each other.

Leave a Reply