Things that went right:
- The Pomodoro technique kept me focued for the first day. It breaks work down into 25 minute chunks, with 5 minutes of break inbetween. In my todo list I kept track of how many pomodoros I had spent on each task, so I could see when I was getting sidetracked. For instance I could have spent more time on the procedural level generation mechanics, but could see the pomodoros adding up, so decided to move on.
- Git and github. I haven’t used Git in anger before and quite like the workflow, but by hosting for free on github I could quickly push updates to a friend who would playtest them for me. This was two or three keypresses in bash, but if I had to package and email off builds it would have taken much longer.
- Playtesting. The game was essentially finished by 5pm, but I spent a lot of time balancing and playtesting the game, along with a friend mentioned above. He helped me fix many bugs and gave input on the difficulty and balance of the game. It’s inifinitely better because of his input. Thanks Steve!
- Libtcod. This was the first roguelike engine I tried. I had others lined up, but this fitted the bill perfectly. It did not require much code to hook up, and handled all the annoying bits of game development: graphics, input, etc. Its BSP library was very useful for the procedural generation of levels, and even provided a good random number generator.
Things that went wrong:
- Difficulty. The procedural generation is very basic, which makes some levels much harder or impossible compared to others. The only sop to this is that fire is not allowed to start in the exit room or the room connected to it. This removes some of the frustrations but it’s still there. I needed more time to come up with a scheme that generates fire in challenging but not frustrating places.
- Choosing an engine. I was originally going to use Unity, and had spent a few days prior to the event learning the ins and outs. However on the morning I decided on a roguelike game, which by its 2D nature is not very well suited to Unity. It took me more than the first morning to investigate, choose and then learn a dedicated roguelike engine. Libtcod was very good as I mentioned above, but I could have got a lot more done if I had got up to speed before the weekend.
- Presentation. Everything about the game is functional - the color of the fire, the ascii art representing the tools, etc. It is not that attractive to look at. In particular it’s not easy to create enticing screenshots, which may hurt the click-through rate on the ludum dare site.