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!
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.
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!
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:
Very, very behind schedule, but at least I got some art done and change between maps #LDJAM41 pic.twitter.com/hNqiiiSO57— Belén 😱 (@ladybenko) April 21, 2018
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.
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.
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
- I am really happy with the art style and colours, and I might use it in future games.
- It is not my best jam entry, but I still think it is well-rounded and has some polish (like the attack animations, or opening chests).
- I had some friends playing the game –I was posting playable builds on Twitter– and found some bugs! They told me, and I was able to fix them on time.
What went wrong
- Saturday was really bad and it conditioned the whole development of the game. Going out for drinks the night before was not the best idea!
- I wasn't able to code as many features as I would have liked to. Even for a game jam, I still feel that in different circumstances I should have been able to add more enemies, or an inventory, or more levels.
There are the tools and software I used (all of them are either free or quite affordable!).
- Text editor: VS Code (with a Vim extension)
- Sound effects: bfxr
- Music tracker: Bosca Ceoil
- Image editor: Pyxel Edit
- Level editor: Tiled
- Version control: a Git repository on Github
- Mind map: Paper for iPad
- TODO list and notes: Bear
- GIF screen capture: GIF Brewery 3