Darumaban Postmortem
Here’s the postmortem for my jam entry, the first one I managed to complete. If you’re interested in reading it, playing the game first might give it some more context.
Development process
As with a lot entries this time around it all started with ☃. During the last day of the voting I was thinking of possible snow-based games, and Azumanga snowball fighting game kept coming to mind. So I imagined a rough design of something similar but with players having to pick up snow from the ground tiles to “refill ammo”. While not exceptionally novel, it would’ve probably fit ☃ quite well.
Day 1
When the theme turned out to be different, I was completely at loss and decided to put it off for a while to see if some random interesting idea comes by. About 16 hours after the start of the Compo, I was browsing the progress posts on the LD main page and noticed that, while there was some snowball throwing and snowman hunting going on, there weren’t many attempts at snowman building. So I recycled the “picking up snowballs” part of the earlier design, made up the rules for rolling them and got to work.
The toolset I used (Intellij IDEA + Kotlin to Javascript, and PIXI.js for rendering) was chosen mostly to satisfy 3 basic requirements: good tooling, runnable in browser, and small output. While I had some experience with Kotlin, this was the first time I used PIXI.js, having only checked that I can render a triangle with it beforehand. So I learned parts of the API as they became necessary and by the end of the first day the result looked like this:
Day 2
At first I wasted lot of time in a coder’s block, having trouble making myself rewrite the snowball handling to make space for snowmen. After overcoming it, the process was straightforward and soon the gameplay, as it’s seen in the jam version, was done.
The last question remaining was: how to wrap it up to be an actual game? Having discarded all sorts of crazy ideas (tower defense with snowball-throwing snowmen instead of towers), I was left with only a single reasonable solution. All the going around snowballs to push them through narrow passages had distinct Sokoban feel to it, so having similar game goals as well seemed like a good idea.
So the game was playable, and it was time for some graphics. With my lack of drawing skill, the chance of finishing the entry before the compo deadline was pretty slim, so I decided to extend it to the jam.
Day 3
Drawing tiles took a lot of tweaking, and by the time the graphics were ready it was 6 hours before the jam submission time. The game looked acceptable so I decided to spend the rest of the LD momentum to try enriching the atmosphere by adding some music. To simplify things I put a constraint on myself: use only Reaper and an instance of Native Instruments FM8 for each necessary instrument. The base idea was to have some sort of arpeggiating melody using a metallic sound to give an impression of frosty air, and after working from there for about 2 hours the theme music was ready.
It was close to submission hour, but I couldn’t think of an interesting title. So being under time pressure, I just took Sokoban and replaced “storehouse” with “snowman”. While there was still some time left I extended the level to make it more interesting.
Things that went well
- Developing the gameplay more or less to completion first made it easier to perceive the amount of available time left and allocate it to graphics/music.
- Top-down view helped save time on drawing extra sprites for different directions.
- With everyting compiled to a not very large amount of javascript, it was reasonably easy to debug right in the browser when necessary.
- Having an approximate idea of the requirements for music sped up its creation quite a bit.
Things that went not so well
- For some unexplicable reason I tried to draw each tile in its own file at first. Naturally it all went out of balance after being put together.
- Learning PIXI.js wasn’t too hard, but had I studied it a bit before LD more time would be left to make the actual game.
- A proper tutorial would help getting into the game a lot, as the snowball controls aren’t very obvious at start.
Things to reinforce
- Scope. Scope is everything. Scope is everywhere. It lurks in shadows waiting for you to wish for just one extra little feature to consume your mind completely. After having a working implementation of the design it’s easy to get overwhelmed by far-fetching ideas, but it’s important to stay focused, especially under time limit.
- The only way to do something better next time is to do it now.
Thanks for reading it this far!


