Another Ludum Dare under my belt! Ludum Dare is one of the most popular game jams, in which you have to create a game from scratch, on your own, in just 48 hours.
This is the post-mortem of the game I created, a platformer called Tales of the Underworld: Rebellion of the Souls. If you've taken part in the jam, please play and rate my entry. Everyone else, you can just play the game here.
You can also read the post-mortem from my previous entries (#31 and #32). And in case you are curious, you can peek at the code in the Github repository.
Saturday was… terrible.
I woke up early to see the theme (which was published at a US-friendly hour, but here in Europe was at 4am) and think about it. I had a rough night because of a noisy fight in my street –police included–, but I managed to get out of bed at 7am. The theme was "You are the monster". I had a shower, read some posts at the Ludum Dare website showcasing what other people were doing already, and then headed outside to buy some food and have breakfast.
I settled for a platformer game in which you would control Hades, the God of Death (I guess that is monstrous enough), trying to reconquer the lost Underworld.
And then I made a big, big mistake: I started to create a level editor because I thought that having this in-game would allow me to create levels faster. BIG. MISTAKE.
I could –should!– have just used Tiled, a map editor that can export to JSON. But I don't like Tiled (it's complicated) and thought that I could do something more simple. It turns out that you really don't have time for this during a 48h game jam.
Finally at 9:30pm I had the main character with basic movement.
I was way behind the schedule. Usually at game jams I try to spend one full day coding, and another full day doing art, level design and fixing bugs. And it was night already, and I didn't even have enemies!
I managed to put some victory (reach a point in the screen) and losing conditions (touch the red tile) and decided to call it a day. I also included some sound effects I generated with Bxfr.
I was in bed and thought about quitting, since it seemed obvious I wouldn't be able to pull out the game on time. I texted a friend of mine, and she told me something on the lines of "Stop the editor. Start from scratch if you want. You don't need a weekend to make a game, you can do it in just one day". I wasn't fully convinced, but decided to sleep on it.
Sunday was amazing!
I had a long walk outside, had breakfast and went back home to keep on coding.
While I was implementing features I was tweeting about it, with animated GIF's showing progress (much better than static screenshots) and a URL to play the game while it was still work in progress. I think this was key for Sunday's epic wins.
By 11am I had a working scrolling scenario:
And two hours later, there were enemies populating the world!
By this time the level was fully playable and I started to receive feedback on Twitter about the character's body being too big, or some bugs.
I still wanted to implement more features, like being able to kill enemies with a weapon à la Alex Kidd, but I really needed to start to work on the art.
Unlike last time, I was sensible enough to choose an ultra-simple art style. I picked up a minimal colour palette and went for retro pixel art. Meet Hades, the main character:
After that, I did some animation for the enemies too and integrated them into the game:
Then the lava…
And finally the tiles!
By this time I had friends competing between them to see who would finish the level by going through the most difficult path! They suggested to implement a timer so they could see who would finish it faster. I ended up doing it, of course.
By 5pm I was mostly done with the art. I drew the background and also the item you needed to catch to complete the level (a pomegranate). I also quickly put a song together by mixing and tweaking some samples in Garage Band.
I found out that I still had some time to implement a few more features and creating multiple levels. I put in the chrono my friends asked me to. I also created the title screen.
And the new feature I decided to add –since it was more simple than others– was to have pickable objects (like the rings in Sonic). It was the first time I was drawing a rotating coin, but I think they are very cute.
I didn't have time for more, so I decided to start to create levels. By 11pm I had five levels!
Since I didn't took Monday off I couldn't stay up late to keep on polishing things. So I took some screenshots and prepared my submission for the competition. It was midnight, I was exhaused but I did it.
What went wrong
- I didn't do a brainstorming with possible themes in advance. I could have done so and save a little bit of time in Saturday's morning. It took me many hours to decide what I wanted to do.
- I couldn't have a very resting sleep. On Friday's night there was way too much noise in the street, and on Saturday's night I got some giant mosquito bites that were really itchy.
- A level editor. Please someone kick me if I think on doing that again in a jam.
- I overscoped and had to cut off a lot features. If I knew these features wouldn't be in, I would probably have chosen a different game to implement.
What went right
- Lots of feedback and support on Twitter. I think putting screencaps and a URL that people could play instantly helped a lot to get this.
- A friend managed to stop me from quitting on Saturday night.
- No nasty bugs <3
- I found a simple, cute art style that really suits the game and allowed me to produce animations (unlike in my last jam).
- I managed to cut off features and I still ended up with a playable game –although not as cool as I wanted it to be!
Tools and tech
- Atom text editor with vim key bindings.
- My gamejam generator for scaffolding the project.
- Gulp for automation.
- Bxfr and Garage Band for audio.
- Pixelmator and a Wacom tablet for drawing.
- Git and Github for version control.
- Lots of rock & roll and heavy metal!
No hipsters were harmed during the production of this game.