Whirlygig 1920x1200
After our teaser announcement, I wanted to share a little bit of information about what we are working on and current issues we are trying to solve by competition release (and for sure by Live release). Here are some of the biggest things I’ve been adding in over the last few days…

Building Generation

There are 11 basic buildings and 6 special buildings in Whirlygig. The game generates a random map according to your screen resolution so that every game has different nooks and crannies to hide in. Previously, I only had about 6 total buildings and there were lots of duplicates, which annoyed me because it made for a clunky skyline. I more than doubled the number of buildings and implemented a more intelligent map system so that buildings should never appear twice in a row (though they will very likely appear more than once on the screen, especially at high resolutions). I also made it so that at lower resolutions, buildings are shorter…that way they don’t extend off the top of the screen at lower resolutions. This still happens at extremely low resolutions but I will talk about that later. Ideally I would have a wide enough variety of buildings that every one would be unique but…there are sacrifices that must be made to release an independent game. Especially one that will probably retail for less than $3 (and the developer does not get the majority of that).

Steering Issues

Most of the testing and development are done on my PC. Rocket steering on the PC is relative, meaning that rockets steer like an RC car. You press left or right and the rocket steers left or right as if you were inside of it if that makes any sense. This method of steering did not go over well when I allowed some volunteers to test the game. The expected behaviour was absolute steering, meaning that when you press the stick up, the rocket goes towards the top of the screen…left goes left, etc. So, based on the tester feedback, I implemented the absolute steering system but there was a persistent bug: sometimes the rocket would go into an endless spiral and refuse to respond to control. After much tearing out of hair, I finally tracked down and fixed this bug and steering is (IMHO) very intuitive now.

GUI Tweaks

powerup-burstMany of the fonts and font sizes in the game either did not jive with the rest of the game feel, were hard to read, or otherwise annoyed me. I spent some time improving the font sizes, types and colors.

The icons on the powerups were not immediately obvious (some still need some work). In addition, it wasn’t clear what kind of score benefit you were getting on successful hits. I added a little score/powerup effect that shows the powerup name when you pick up a powerup and the score when a rocket impacts its target. In the screenshot at left, the red player has just picked up the Ghost Shot powerup (which allows the player to fire through obstructions).

Resolution Testing

Another important thing to consider is the variety of displays that the game could be played on. While the game can technically operate at any resolution (it scales to your display’s max resolution automatically), it is not a great experience at resolutions like 640×480. I have tested up to my own display’s native 1920×1200 and the Xbox struggles a little with some processes at that resolution. The lagging I can improve with optimization but I’m not sure the game will ever play as I intend it to at really low resolutions. You can see how cramped and boring the game looks at 640×480 in the screenshot below. I am still figuring out how those resolutions translate onto different types of TV screens. Parts of the game being cut off could also be a problem.

Whirlygig 640x480

Next Steps

Obviously, I have some screen resolution testing to do. I also need to add sound effects to a few game events. I fixed several bugs, including one where the game would not end once one player had killed all of the other players. Other known bugs are lag at high resolutions when a lot of stuff is happening on the screen (this is no surprise, lots of games struggle with this), aiming bugs that need some tweaking, and a few general performance tweaks.