Skip to content

Retrospective

fillest edited this page Mar 17, 2013 · 2 revisions

Preface

I decided to participate in 7DRL-2013 and my friend Tosh agreed to help me. I failed the challenge mainly with bad planning.

It was my first such event, first roguelike and actually first game (I’ve wrote a not yet finished side-scroll game engine for another game but nothing fully complete yet).

Goals

I wanted to make something experimental and decided to try to mix tower defence and roguelike mechanics. The fundamental condition - randomized enemy wave generation. I thought mazing (enemy path maxing) is not so fun so I would make an open map with towers at center and enemies coming from all directions. The game would be real-time with active pause, so player wouldn’t have to constantly hit “skip turn” but would be able to stop and think. I also wanted to make friendly UI with mouse support.

Preparation

I’ve searched and read some blog posts and articles on tower defence design and particularly this nice paper http://julian.togelius.com/Avery2011Computational.pdf

I’ve also examined several roguelike engines and frameworks, chose libtcod/Python according to game requirements and wrote a bit of engine-related helpers.

What went good

The technical stuff went very smooth. We translated our ideas quickly straight into the code without any fighting with the tools. The engine went quite clean and flexible.

Writing down thoughts and decisions (we’ve used a private Bitbucket repository wiki) was useful early on.

##What went bad Planning. I’ve made the critical mistake - put off till last days actual construction of the main fundamental mechanic - random wave generation. I had a blurry vision of it and thought: ok, we’ll think out and implement different units and abilities and then somehow combine it. It was really stupid. One should focus straight on the core mechanics, write it down in details and model/prototype it. Sounds obvious of course, but, well, it caused “yet another stupid death” :) So, when we finally started to model enemy spawning and player reaction, we couldn’t think out anything challenging. In the end we hurriedly implemented a primitive algorithm expecting to balance it incrementally but it didn’t help and it was too late.

We also had little time on workdays - we have full-time jobs and it’s often not easy to productively brainstorm complex mechanics after coming home tired at evening. Maybe we should pick a more predictable idea, or at least think more about this before the event beginning.

Information management went quite out of control later also. Having lists of things is nice but when you want to take a “whole picture”-look and examine relations between some components in your game design and you whole project and at the same time related programming tasks and linked ideas, and work with it quickly and conveniently, lists or plain diagrams cease to work, especially for remote collaboration.

##Result

  • So the challenge is failed. But it’s not painful - it was just a week.
  • Got a lot of practical experience with game design and some with time-pressured project management.
  • At first it was a bit stressful but then it was fun! And generally it charged me with sprightliness - good for my other projects :)
  • Got a nice working engine
  • Got a bunch of ideas

##What next

  • I will make something like a checklist about the process. The first item will be “fully examine the main mechanics first” :)
  • Maybe I will make an information management tool
  • Maybe we will continue to work on this game later
  • Definitely try further events like 7DRL

I want to say special thanks and respect to roguelike and indie community. Grow stronger, people!

Thanks for reading, hope it helped you.

Clone this wiki locally