Behind the Fog – Postmortem

Posted by (twitter: @fullmontis)
December 9th, 2014 4:40 am

Three days ago, there was a naive me who believed things would go smoothly this time around.

“After 5 Ludum Dares, now I know everything. I cannot do anything wrong!”.

Oh, myself. I want to punch you in the coclea, so much.

So the Ludum Dare came and went, and after some trouble and some fun moments, there is a little, shiny game in my lap, Behind the Fog. It is so unpolished, so crappy, and yet I like it. Ludum Dare never fails to deliver on accomplishment.

Now it’s the time to look back to the past and see the lights and darks of this weekend, and hopefully learn something for the future.

Day 1

Or: How to start on the wrong foot


Woke up at 8:30 am. I go on and look at the theme. And I feel confused. Is that even a theme?

I scowled at the screen for a few minutes, then I thought I might as well start thinking about something.

I jotted down a few ideas on a piece of paper.

Then, a cool little idea came foward. What about a multiple room point and click game that fits all on one screen? I really enjoyed the idea, the programming looked simple enough, so I open up Emacs and start devving away.

A few hours later, I have a working engine, and I feel like this LD is going to be a cakewalk.

Then I started working on the graphics. And here the shit hits the fan.

I didn’t consider the amount of graphics I had to make for such a game. Even if the screen is small, the amount of rooms was high, and drawing graphics and story and puzzles that fit all of them was just too much to ask for 48 hours of work.

I could make a very simple room and use it as a template for the rest, but then the main purpose of the game, puzzles and room diversity, would fall.

I could do instead a single room point and click. This seemed like a better idea, but then I discarded it because I hate myself. So, multiple room point and click it is. Time to work those graphics up.

I open up Krita, and start drawing, then I close it because I think that traditional graphics  would take too much time.

I open up Paint.NET, then I close it cause I don’t know shit about doing pixel art.


It shows

I open up Inkscape, then I close it since vector graphics don’t fit the idea I had for the game well.


Nope, not working

Then I realize that I’m an idiot by not considering the graphical part into the equation from the start. My mistake was believing that programming would be the biggest hurdle, when in fact graphics are a much bigger obstacle, especially for a point and click game.

Also, I guess that this problem stemmed from my inexperience in doing graphics for games. I never worked much on this, and it shows.

In the evening I leave my work with a few unfinished backgrounds and a bad taste in my mouth.

Day 2

Or: The Fall And Rise


Things start out grim.

I boot up my game and for some weird reason it gives an error I’ve never seen in an HTML5 game. I stare at the screen, in disbelief. I watch my git log, and it looks like the last commit was more than 200 lines ago.

I stare at my half finished assets.


I give the middle finger to the screen as hard as myself (in reality, that one is pointing at me). Alright, let’s start from scratch. New day, new idea. Fuck it. I have more than 18 hours to spare.

I spend the rest of the morning brainstorming for ideas. It is not a good feeling when you have less than a day on the clock and still no idea of what to make.

Then, a cool, simple idea came forth. What about an exploration game? A game where you had a map the size of the screen and had to explore it? The idea intrigued me, and it was much simpler to implement than any other idea I didn’t have.

I developed a quick engine from scratch and it worked very smoothly. (I also discovered that HTML5 canvas has an excellent masking library, a little hard to get into but versatile).

The graphics here weren’t much of a problem, since it meant to draw a simple map. I booted up Inkscape and breezed through it. I wanted to get an old treasure map feel, and somehow it came out quite nice. It was both fun and fast, which is a first for this LD.

So I have the map, now time to implement the collisions… Wait, fuck. I drew a map without considering at all a possible grid for collisions. How the hell do I implement a collision grid quickly? How do I implement logic so that collisions can disappear and appear?

This may sound obvious to some of you, but it took me a while before I remembered that the excellent map editor Tiled exists and is at my disposal. I didn’t believe I could use it at first cause last time I used it it didn’t have json export, so it wasn’t useful. But it looks like that the later version implements it. I was creaming my pants with joy.

Implementing the collisions was a breeze, althought quite long.


Based Tiled

Based Tiled


But time flew by and didn’t realize it. It was midnight and I still had to implement logic, story and otehr stuff, I was tired and there were only 4 hours before the end of the compo. I could have stretched it but I didn’t feel it was worth it. So instead I just dropped the compo and aimed directly for the JAM.

Sleeping never felt so sweet.

Day 3

Or: The Good Ending


The 8th of decemeber is a festivity here in Italy, so I had plenty of time to clean up my game.

The morning I spent doing some house chores. I went on with the game in the afternoon. Not much to say here, things went smooth and no real problems arised. The game was “done” before the deadline, as much as a game done in 3 days can be done.

And here it is. Behind the Fog. It’s real, and you can play it here!

Behind the Fog 2

So yeah, that was a wild weekend. I’ve learned a lot, which to me was the most important thing. And I also have a game to show for it! I hope you will play my game and ejoy it as much as I enjoyed making it.

Now for the best part: playing stuff! I have already played some stuff and it’s wicked. Can’t wait to see more.



Tags: , , , , ,

One Response to “Behind the Fog – Postmortem”

  1. Instant Noodles says:

    I really liked your game, and the postmortem is quite a useful read, thank you.

Leave a Reply

You must be logged in to post a comment.

[cache: storing page]