Quest for Something, status update
Posted by: joost in Quest for Something, XNA, Xbox360 on February 4th, 2009
It has been a while since I released some information about my game Quest for Something. At the end of the Dream Build Play competition last year, I had to decide what to do with my semi finished action puzzle game.
the Options
The first option would be to wrap it up, and release it with some minor adjustments on XBLA. After giving it a long thought I decided that would be a complete waste of all the effort put into it. Some people might consider its worth the 400 something ms points (judging by what is currently sold on the community games channel right now), but for me it would feel like releasing something unfinished.
So the second choice was to take a better look at the current version, recycle all functioning parts, and start all over again.
Realizing the latter was the better choice I decided to backup the old version (687mb of source files), and keep the most important classes (actually.. only the gameplay and AI classes survived). So here are some of the changes I did in the last couple of months explained:
Project structure
The class structure got the biggest overhaul. The old version for example used separate classes for user input, AI and network players. This new version uses a single class for all forms. Thus making it possible to switch between AI and human controlled boards at runtime, and not having to write the same code over and over again.. Another great example would be the game logic class (this one handles all gameplay elements, like falling blocks, clearing blocks, dealing with special blocks, and crashing the game with blocks). The old version class was responsible for both calculation and graphic output. The new version separates these two functions into two classes, therefore allowing flexible graphic output and better logic calculations.
Performance
The old version wasn’t build for performance (wasn’t part of my schedule), it only cleaned up “properly” if you switched from the game to the main menu, with the exception of the sound effects and music being constantly resident in the memory. The new version uses threaded loaders (with spiffy animations!), global assets (thy shall never load a texture twice) and sound effects and music only get streamed to the memory when they need to. Code wise some major changes have been made as well, the post process effect shader got a major overhaul (still a single pass but better results and more effect), and a lot of classes have been converted to structs when necessary, eliminating stuttering caused by the dreaded garbage collector.
Changes you will actually notice
Aside from some changes to special blocks, animations, control updates, smoother gameplay, smarter AI, and etc. the biggest noticable change would be switching from 720p (that’s a resolution of 1280×720 pixels at 60 frames per second) to 1080p (or 1920×1080 pixels at 60 frames per second). By doing this the game looks much much better on a full HD TV and separates itself by doing this from most community games on XBLA.
The only downside on this choice would be that I will have to redesign every single graphic object, and this will take a while.. So expect a release within months, not days!
Ps. I’ve included an early screenshot of the new version showing some basic board elements and a background made in 15 minutes, but hey! Its 1080p!



