I was planning on starting to program Mage First yesterday, but I got carried away writing some meta programming scripts, learning to use the gdb debugger from the terminal and figuring out boost's unit test library. It's probably for the best since those scripts and that knowledge will be helpful while working on the game.
I'm going to start making the most critical interfaces and an outline of a few classes that will implement them after class tonight. I've never done proper Test Driven Development; I'm going to try it out for this project. I'll write the unit tests against the interfaces and work at the classes one-by-one until the tests pass. So by the end of my waking day (which will be early morning) I plan to have the first iteration of the game's basic skeleton done as well as several tests to run while I fill in that skeleton.
After I have the outline ready, the first thing I'm planning to fill in is the graphics engine and the level loading classes; I've found that having something display early in a project is great motivation. I also want to do decide on the format of the level data so I can begin working on a level editor soon.
Starting a new project is always such a great feeling, the freedom of what's possible is fantastic. I'm going to do my best to write this code clean and flexible enough and with enough high-quality tests that it doesn't lose that feeling as I get deeper into the project.
I'll also need to start producing more art for the game soon so that I'll actually have things to display when the level loader and graphics engine are starting to take form. There are quite a few interconnected subproject involved; I'm going to spend time making a proper time allocation plan with deadline to stay focused. This will be fun.
No comments:
Post a Comment