| Tags: game development post-mortems

A few weeks ago I joined Ludum Dare #41, my favourite game jam.

The rules are simple: at the start of the event, a theme is revealed and then you have 48 hours to make a game from scratch, all by yourself –this includes coding, making the art and the audio assets!

The theme for this edition was "Combine two incompatible genres", and I decided to make a roguelike game with ultra-cute graphics, which is an unusual art style for this game genre.

Behold Rogue Princess!

Rogue Princess screenshot

In the game –which you can play right in your browser– you need to find the three missing items of your regalia and then head back to the castle to be crowned.



Saturday was bad. I went out for drinks with friends the night before and didn't sleep much. Huge, huge mistake before a game jam!

The day started a bit later than usual, and after finding out the theme (the jam starts a 3AM in Europe), I headed outside for breakfast and buy some groceries. While having breakfast, I brainstormed game ideas with a mind map.

Mind map

I settled for a cute, ultra-pink roguelike, and at that time I hoped to make it gore too –although in the end I didn't have time for that.

I went back home and started to work. I picked up a icheerful colour palette (Peachy Pop by Kerrie Lake), tweaked some colours a bit –and added pink!


And although I normally like to do placeholder art on Saturday so I have time to code most features, I ended up loving my placeholder character!

Main character

Since I was also very tired and sleepy, I decided I would do final art, and spend more time coding on Sunday, hoping that I would be well rested by then. I drew the background and some tiles.

My first real programming task was to render maps on the screen. Levels in a roguelike game are usually create procedurally –so they are different in each run–, but I thought I wouldn't have time for that (and I was right), so I created some placeholder levels in Tiled and then implemented in the game loading those level maps. I also coded the main character's movement, and changing from one map to other:

After that, Barça was playing a final, so I watched the game (was well worth it!) and went to sleep.


I was able to sleep for 8 hours, which was great. I went ouside for breakfast and evaluated my situation. I was way behind schedule, since most of the features were still not implemented, and I hadn't finished the art either –let alone sound!

I had to cut a lot of features, and focused on implementing one enemy and combat. And is there any enemy creature cuter than a slime / poring? I don't think so.

Cute slime enemy

I coded some ultra-basic movement for the enemies –they stay still until the main character is close, and then chase her– and then the attack.

Then I implemented logging, which is quite characterstic of roguelikes. And although for this game is not that important, I thought I could use it to give the player basic instructions for the game.

Logging in place

Now it was time to add some items. Since it was late in the evening already, I realised I dind't have time to implement consumables like potions, magic scrolls, etc. or an inventory! So that part had to go, but I came up with a solution: collectables! The victory condition could be finding all the items (so I wouldn't have to implement a final boss either) and I also made them all wearable so I didn't need to code an invetory either –just display them in the character!

So I drew a robe, an scepter and a crown, and then a chest that would open to reveal each of those items.

I then created the victory and game over screens. It was past midnight and I still didn't have any music, so I gave myself around an hour to come up with a background music track in Bosca Ceoil.

I was running out of time, so I adapted the two placeholder maps that I already had, created and additional one, and put a chest in each map, as well as enemies. It was not great level design, but it was the best level design I could come up with with the few time I had remaining…

And I made it! A playable game in 48 hours :)


What went well

What went wrong


There are the tools and software I used (all of them are either free or quite affordable!).