We’re down to the wire folks. Final submission deadline for the Dream Build Play contest is Thursday, August 6th. Ideally, I will submit the game prior to the final day in case something goes wrong. That means I really need to have everything done by Wednesday.
I made significant, important progress this weekend and the game is pretty much done. I upgraded all code and soundbanks from XNA version 3.0 to 3.1 (a requirement of the competition). Other than the fact that it takes some time to download the latest framework, uninstall the old one and install the new one…the upgrade was pretty painless. I clicked on the project and clicked “Update” and pow – done. Of course, when I built the project it crashed (nothing works the first time) because I hadn’t upgraded the audio portions of the project. Once I did that, it worked fine.
I’m down to the last of my todo list. I [think I] fixed an error that came up in bug testing where if you fired a rocket as the game ended it wouldn’t be unloaded. This didn’t crash the game as the rocket would unload itself when it’s timer ran out. But it did cause some potential memory leaks in addition to looking really unprofessional.
I created a controller diagram that shows how to control the game. I loaded this diagram into the loading screen and also the pause screen. So, while the game arena loads it shows the controls and if you press pause. Controls are simple enough that most players probably won’t even look at this. It currently needs to be positioned a little better on the screen.
Originally the game was intended to scale to any resolution. I still hope that the release version will do that since the graphics look cleaner that way. However, there were significant potential issues with fitting all game elements from 640×480 to 1920×1600. Given a little more time I’m confident that I can tease out these issues but for the competition, the resolution will be locked to 720p and scaled by the xbox automatically…the easy way out. Problems that this fixes: sometimes the buildings go out the top of the screen on small resolutions meaning the player can not access parts of the arena and may spawn on top of a building. In addition, at the highest resolutions there can be significant lag when all four players are playing and are flying close to buildings. This engages the pixel-perfect collision system which has significant overhead. In my tests, it’s able to handle it with rare lag at 720p.
The last big thing I noticed was major lag in a certain situation. There is a building (see post image) that is a stylized version of the Sears (oops, I mean the Willis Tower of course). Since it stairsteps up, the object rectangle is significantly bigger than the building in certain places (near the top). When a powerup icon falls toward the building it quickly enters the object rectangle, causing a basic collision which triggers pixel-perfect collision. Since there are almost 100,000 pixels to test in the tower alone, and they are tested every other frame, the game is basically looping through around 600,000 pixels per second and testing their transparency against the powerup icon. There are much better ways to do this but not in the timeline I had. Anyway, the short term solution is going to have to be to remove the Sears Tower from the game. This is a bummer because it’s one of my favorite buildings. Fixing the problem correctly would require significant coding and there just isn’t time at this point.
So, things I have left to do: Remove the Sears Tower (this will take a few seconds), Fix where the controller diagram displays (it overlaps the loading text right now, this is an easy fix), write a game synopsis (will take less than an hour), and create a game trailer (could take a few hours), remove some debug code and package the game for final submission.
I think I have about five hours of work left before I submit the game. Wish me luck!

No user commented in " XNA upgrade to 3.1 "
Follow-up comment rss or Leave a TrackbackLeave A Reply