As you (hopefully) know by now, SketchBox 360 was release onto Xbox Live Indie Games on July 25, 2010. I thought I’d start out here by telling everyone about my experiences from the technical side of things.
SketchBox 360 was programmed in C# using the XNA Framework developed by Microsoft. Never having to write any boilerplate code certainly made my life easier.
A decision was made early on that our game was going to be all 2D. On one level that may seem like it makes the job of the programmer a lot easier. For a gameplay programmer on most games, the answer is yes. For me, life was not so simple. The main issue we found early on was that programmers can’t create animations in code very well. I ended up making a sprite layout and tweening tool called Fluidimotion so that animations could be created and exported by the artist. I imported the animations into the game project and away they ran. Some pretty advanced code was written to make a realtime animation engine. Each scene that was exported was to be its own DrawableGameComponent.
A lot of time was spent after the animations were created to Play them and handle the main structure of the game. We kind of used our own game state management technique to fit the pieces together easier and more logically than the XNA GameStateManagement sample code. This allowed us a lot of flexibility for how menu navigation was to work. Writing menu code isn’t very fun, but the end result from it led to a more consistent package. The FluidiMotion Engine that powers the game is what gave it a very unique feel. So much effort was put into making the game graphically impressive. Even our main menu screen has a dynamic background animation with various abstract shapes moving around. It’s a very subtle effect that hardly anyone notices, but it really adds a nice touch to the game. The whole game is made up of a lot of graphical subtleties. It’s all to achieve the mood of feeling really smooth and, dare I say, fluid.
Whew, we haven’t even gotten to the gameplay yet! That will be coming soon in the post ‘Making of SketchBox 360: Pt. 2.’