Ephemeral – A postmortem
Well, it has been a little more than a week now, and since I got some feedback, I might as well do my postmortem now.
So yeah, this was my first Ludum Dare, even if I try to participate since roughly two years now. I did not make much games before that, the biggest one was a 7-level platformer on Nintendo DS in C which was basically my learning project for the C language. Even so, I had a good grasp on the basics and I knew I could at least produce something. It is also my first game jam, although I did do a tower defense in weekend as part of a school project.
Well, on to the actual entry now. I enjoyed the voting rounds, and with each one I tried to prepare myself to at least the wining theme, so as to be able to start right away with the code. The theme “10 second” was one of my favourite, because it was easy to use (you could do mini-games as well as almost any kind of gameplay with an added time-limit) ; but even so, I was failing at finding that great idea that would make me completely motivated to make something great. I guess I was more or less waiting for an idea to fall in my head, saying “You cannot do anything else, because that is the greatest idea you ever had”.

This game is a bomb – well, the Bomber toy is, technically.
I then chose to solve the problem the same way I do when I fall short of inspiration : add some more constraints. One of the theme I also liked a lot was “Death is useful”. While thinking about a way to mix the two of them together, I thought “Well, I could make some sort of game where the player dies every ten seconds ; and the level cannot be completed without dying several times, each death unblocking the path in some way or another”. As I could not think of a unique way to die that would allow for several different game mechanics, I chose to have several characters, each one with its own way to die. That happened during the Friday, so that when the theme got revealed (it was around 3 A.M. on Saturday in France), I already had a pretty good idea of what I wanted to do (the platformer format more or less imposed itself to me on its own. Besides, I suck at making graphics viewed from the top).
That was the genesis of the project. Now is the classic good/wrong part :
What went wrong
– Collision code : I knew it would be the worst part to write, and it was. It took me almost half of the time I spent coding (or at lest it felt that way), and it still is not perfect. I went through three separate approach, rewrote the same piece of code several times, and ended up chosing a dirty “test one pixel at time” way which will surely slow down the game with more entities (the player is the only entity in the game as of now, save for the spinning vortex which spawns you).
– Playtesting : I did do some playtesting by making sure each level was achievable, but most of it got eaten up by “ok, collisions seem to work, see if I can break it again with some tricky falling-on-a-tile-form-the-upper-left corner case”. I did see that waiting could be annoying, but adding a suicide button felt cheap and, worst of all, allowed for playing a life in less than 10 seconds (in my mind, I was being disrespectful toward the theme). With some thoughts, I think I was so annoyed by the collisions not working properly that I brushed of this problem as being a “mere balancing task, something done when all the rest is working”, even though I knew by experience that in a 48-hours project, there I rarely time left at the end to polish things up.
– Submitting my game : although I knew I had a slow Internet connection, I did not expected my game to be 15 Mo ; that was the first and last time I packaged libraries in the same jar. As such, I almost could not submit my game before the compo deadline, and it was because of the music, which took roughly half the size of the game, and ended up not even playing correctly. The Submission Hour totally saved me that time, and I was happy to learn it even existed.
What went right
– Graphics : the only times I did pixel art, I did not have any time limit, and I spent around 2 hours doing a single 13 frames animation with Paint. This time, I went for simple graphics, but since I learned one thing or two about color palettes, I tried to put it to good use (yeah, being colorblind, that was the right part to start from…). I ended up creating every piece of graphics in grey (most of the time, four tones were enough, although I used five at some point), then choosing the colors and doing the substitution. Anyway, that part was fun.
– Music : I did some music ! That is an accomplishment, since I had little experience with the software I used (Aria Maestosa). It ended up being also quite fun, although finding the right note is harder than finding the right color. I spent 2 hours and a half on the main theme, and 1 hour and a half on the level background music.
– Code : I started warming up during the summer by learning libGDX, and started a basic platformer on Friday to be able to identify right away the most problematic issues. Turns out, the only one I encountered was the collision code… But there was no other big, time-consuming bugs or features (even the circular selection went good ; Mathematics classes were really helpful with that one !).
As a conclusion…
Of course, I am working on a post-compo version of Ephemeral. I think I will let the title as it is now, but some changes will be made according to the feedback I got and the ideas I want to implement. Right now, this means I already have a suicide button and animated tiles in the game. I also corrected some of the code, which will make it easier to modify the map dynamically for me.
I enjoyed participating in my first Ludum Dare, and I hope I will be able to enter it again as soon as possible. I hope I will be able to make games I will be even prouder of than this one!