Since it was encouraged to blog about our experience, I thought I would take some time to share my general process in making games. First, lets start with my game concept.
The theme “Chaos” took me a bit by surprise because it is far more generic than I had expected, so I wanted to take ample time to design a game that was chaotic but not cliche. What I came up with was a fast playing building game, where you build a structure that is up against a barrage of natural disasters, including flood, tornado, solar flare, and rain storm. Nothing is more chaotic than a natural disaster, so having them come every 20 or so seconds is what should make the game really exciting.
Structures are made out of blocks on a grid. There are about 7 block types, each have a type of weather they are strong against (generate money to build more blocks) and a type of weather they are weak against, meaning they take more damage. For example, a Solar Panel block will generate money during solar flares, but be heavily damaged by tornados. Blocks take damage in bad weather, and can be repaired by holding the mouse on top of them. Blocks also have restrictions on where they can be; Rain Collectors are only beneficial if they are on top of the structure, so as not to be covered up by others. I know describing a game via text is seemingly pointless, but the overall goal is to be a fast paced sim/strategy/resource management game.
When the contest started Thursday night, I set out a schedule for myself:
Friday - Sunday: Conceptualization, planning
Monday - Thursday: Coding
Friday: Assets (sound, graphics)
Saturday: Test, Upload
Sunday: Open
I gave myself the entire weekend to plan because I’m a firm believer in software engineering and wanted to be really conservative to hopefully avoid traps in the future. In the process of choosing this game concept, I did a lot of sketches. After I chose a concept, I fleshed out the details in pencil and paper, and spent some time this morning drawing up a diagram of my class decomposition. I am programming this game in Python, so I am taking a heavily object oriented approach.
Today I actually started coding a little because I had some spare time. So far I believe I am making good progress, and am impressed on how well Python is holding up as the application language. Coming from C and Java, Python is a breath of fresh air, although I have to be super careful about performance.
In detail, what I have is:
Block base classes, two block sub classes
Weather base class, interaction with blocks
Gamestate and input, as well as the weather “forecast” and weather switching
Text particle emitter
Timer (very important for this type of game)
Finally, here are two of my main sketches, that serve as my roadmap:
4 comments