So work continues. Nick’s working on the trailer video and providing small pieces of art work. My focus shifts depending on need. A desync appeared in a game against Brian recently – the first in a while. These are always high priority, just behind crashes. It took quite a bit of digging and the careful construction of a scenario to reproduce the bug to figure out what was happening. Yet again it was caused by the system I added to hide network latency when building structures. I’m seriously thinking about overhauling it to reduce the instances of these kinds of problems, but that will take considerable work and destabilise the code for a period too.
Usability is probably the next priority. The game is deceptively complex. I consider it to be a real-time level editor, with projectiles. Not only does it need to be powerful, it needs to be intuitive and tell you what happened if you did something wrong. The standard is higher than typical in-house development tools because the player will get frustrated more easily and doesn’t have someone nearby to tell him how to use it. I’ve added some new cursors to give contextual feedback, such as showing a door icon when the selected weapon is blocked by a door. The aiming arc is also coloured according to which angles are clear to shoot, which are blocked by doors, and which are blocked by solid structures (see image below).
Structures can now be built with a drag motion as well as point clicking, and dragging over an existing structure will replace the material with the current selection. This reduces the amount of accidental material changes and allows for the preferred building systems of different people which we observed during GameOn.
A major bug with the sound has been fixed. The problem was Fmod keeps channels reserved even after they finish playing, and the game didn’t un-reserve them. The game would eventually run out of channels to allocate, preventing new sounds from playing and spamming an error message to the console.
Optimisation is usually pretty far down the list, after various bug fixes and new features, but with Nick building some big forts (image below) for the trailer I’ve had to address some performance issues. In the process I made an observation that led to reducing load times from about 14 seconds to 1 second. I wish I had found that a year ago!