Thursday, March 18, 2010

First killin's

All this week I've had the chance to test out and refine the network code of Space Combat Sim. I've also managed to get some of the guys from class to play the game and hash out bugs and glitches. Currently I've only been able to run small test sessions with four players but that's been enough to get a flurry of random bugs that needed fixing.

Here's an abridged list of SVN commits I've made since my last blog to give you an idea of the number of fixes and tweaks being done. They're in order from newest (yesterday night) to oldest.

  • Got the game closing down nicely now.
  • Mostly working game exit sequence... still doesn't unload DynamicTextures yet.
  • Precess rotation axes when in strafe mode.
  • Kill beams when its parent dies.
  • Fix wrong thrusters becoming visible.
  • Clean up ALL references to a leaving player (fix crash on join after a player quits)
  • Proper fix for weapon toggle not working on remotes
  • Minor improvement to weapon switching from remote
  • Fix scaling in billboard shader
  • Add state items for targeting, and thrust
  • Recursively update scene nodes as well as entities. (FIXED THE GLITCH)
  • Another attempt to fix off-by-one graphical glitch. Didn't work.
  • Ensure that entities on host will still receive remote input properly.
  • Don't collect input if using a remote controller
  • Implement bandwidth usage tracking and some measures to reduce usage
  • First stab at fixing crash on >2 players at once in game.
  • Fix wrong name in kill news item
  • Fix bug where more than one join attempt would cause a crash
  • Assign gamertag to player slot when initializing on remote.
  • Remember to dequeue pending notifications after sending them.
  • Finish up host side of sending player notifications
  • Implement remote side and part of host side of player notification packet.
  • Don't actively produce score updates unless hosting the game.
  • Fix kill detection bug.
  • First stab at fixing weird off-by-one-frame glitch.
  • Fix stack overflow in resolving entity creations.
  • First stab at queuing creations that arrive out of order.
  • Fix up absurd level of brightness.
  • Fix impossible to see through HUD
  • First shot at multipass lighting. Tested with single light
  • CoalesceDeadEntities called in response to entity destruction packet
  • Add weapon states to data to be sent.
  • Make sure criteria for StateItems being sent are updated.
  • Adjust send criteria to keep bandwidth more sane and keep lag down

After all the pain of February this switch from hacking and designing to steady bug fixing and feature creation is a very welcome change of pace. My most satisfying fix was to finally get rid of a bunch of annoying graphical glitches that occured when players would be killed and/or respawned. Their causes are rather boring so I'm not going to bother with any details.

Screenshots coming tomorrow. I might also talk about how to create a simple radar display.

No comments:

Post a Comment