// caseydunham.net

Friday, January 23, 2009

Orb Drop

Over this past Christmas break from school, in which now sees me entering my last semester of college, I picked three proejcts to work on. One of them was a Tetris clone that I had started in C and SDL a while back as a quick game to get used to developing with SDL (the other two will probably be making appearances here soon). Tetris is one of my all time favorite games, and it is usually what I pick to develop when learning a new API. I dusted off the prototype and spent some time refactoring it to a more C++ oriented design (which currently I think isn’t quite there). I also wanted to focus on creating artwork, and making it as polished as possible. It isn’t quite ready for release yet, as I need to finish the Hi score system, but below is a screenshot. I created all the graphics myself using Paint.NET, which I would highly recommend to anyone looking for a free alternative to the GIMP.

My current thoughts on the development of this project is that I didn’t intend to create a game engine from the start. I fell down that road a long time ago so knew better. If you are just starting out in game development I would highly recommend reading this article.

However, it is important to refactor code as you write. While I didn’t set out to create a game engine, as I developed this game I refactored a few things into something that I can use in another project. I am definitely not happy with my code right now, but I learned something important, how not to architect a game. I have also found that it is very helpful to create wrappers around commonly used C based API’s. I didn’t do this in Orb Drop, but have done some experimenting, and when trying to keep things object oriented it definitely makes everything cleaner and easier.

I am planning on finishing this up and fixing a few bugs by end of next week, at which time I will talk a bit more about my development process.

Preview of Orb Drop

posted by Casey at 9:54 pm  

Powered by WordPress