Chameleon: post-mortem
(Edit: maybe I have written this post-mortem too soon, i.e. without having enough feedback about the game. Post-mortem of the post-mortem.)
This is my first LD entry. I intended to work on another game (not related to the competition) in order to benefit from the worldwide good vibes emitted during these 48 hours. But things turned out differently…
What went right
- Initial research. After reading the theme, I thought about it peacefully for about 3 hours, with ideas coming in naturally. The result was an extensive list of the elements of an exploration game.
- Keeping it simple. I selected the absolutely core elements to implement first. Finally, I even had to remove one of these elements after performance troubles of the implementation, without much loss (the knowledge of a location is either 0% or 100%). Maybe the result was too simple, but the aim was to complete something, even if too simple. Despite this simplicity, I managed to get somewhat addicted to the game.
- Iterating. I have probably spent as much time playing the game as programming it. Playing the game showed the need of additional controls or warnings to remove some tedious tasks. Adding these features sometimes completely changed the game feel. For example, a very late addition: right click to go back to the NEAREST source, instead of the previous source. This allowed a faster gameplay because going back or to a recently found source doesn’t require precise pointing anymore.
- Sounds. Creating sounds with sfxr and Audacity didn’t take too much time, and the result is at least consistent.
- pygame. Starting from scratch using almost exclusively the online reference documentation was much simpler and faster than I thought. Note: this is not my first game made with pygame.
What went wrong
- Using a never-used library. This was not the time to discover a library I was not familiar with (numpy). Lots of time spent stumbling upon gotchas. Reading the documentation in a rushed way is not so fun either.
- Programming some of the audio events. Making sure that some sounds (especially the alerts and the reload sound) were played at the right moment and not repeatedly was trickier than I expected (this problem didn’t appear in the visual part, more forgiving). I even added a (minor) display bug who made it to the initial release (sound was added at a late stage of the development, so there were less tests to detect bugs).
- pygame and py2exe. Too many time lost at the worst moment figuring out why it wouldn’t work. For some reason, switching to Python 2.4 did the trick.
- Graphics. I didn’t even try. Not enough time, energy, and knowledge. I plan to play with Gimp more often.
- Music. Same here. Maybe a very discrete ambient loop would have helped. PureData?
- Full screen. I didn’t make sure that the game would be the same for a different resolution (mine was 1280×1024). So monday I had to send a new version to make sure that the difficulty is as intended. The game would have been too easy with 640×480.
- A random game level. Maybe handmade levels with an increasing difficulty would have been better, with more time. A bitmap would have been a way to store these levels and benefit from an image editor used as a level editor (a colored pixel = an energy source).
Surprises
- While it was not intended, and while as few mechanisms as possible were implemented, the result seemed original, even somewhat addictive (discovering an energy source, even an easy one, is always a pleasure, even without a sound effect).
- While there is no hint, no way to know where the energy sources are, the end game is not totally random. Moreover, it might be how exploration or research works: there is a safe, mechanical, yet somewhat pleasant activity of moving around the known sources; then, when the safe routes have been explored, there is a risky, “no way back” activity, with calculated risks, and yet depending on the ultimate factor: luck.
What’s next?
This game could evolve in several distinct ways.
- A single player version, very similar to this game, with a quick gameplay and few additions (graphics, background music, maybe gray out known zones).
- A single player version with more mechanisms: hints (legends gathered from visited settlements) , enemy AI, etc.
- A multiplayer online version with a slower persistent gameplay, using waypoints (add color warnings when tracing routes); the discoveries would be published or not, etc.
Using a 3D engine with nice light effects (still with a “from above” 2D gameplay) might be fun too. Maybe the energy sources could be also light sources, and give hints about their location (some kinds of satellites with big orbits might be interesting too).
Comments
Gaeel
18. Dec 2009 · 17:07 UTC
You mentioned PureData as a program to make ambiant music for your game.