LD 40 - Post Mortem

cover.png

I had already participated in another game jam before (Global Game Jam) but The Weight of Greed was my first Ludum Dare game.

The concept

screen2.png

In my timezone, the theme was released at 3:00 AM but frankly, I was not motivated enough to begin working during the night, so I started thinking about it the following morning.

Basically there's this Mega Drive/Genesis Japanese RPG game called Super Hydlide which featured a "weight" system that makes your character move slower as he carries more stuff, and that includes items, food and money. "Le Joueur du Grenier", a French YouTuber who reviewed the game, joked about the idea of getting penalized for carrying too much money, and remembering this gave me the idea of the game.

I paid tribute to my country's culture by naming the main character Harpagon, from Molière's famous play The Miser. In fact, posterity had it that "harpagon" became a word in French for "cheapskate".

The technology

postmortem1.png

I wanted to make a 2D platformer, lightweight, in-browser game, so my choice went to the open-source engine HaxeFlixel which I had tried before for an earlier project. I thought HaxeFlixel would do the job because of its HTML5 export capability and its many routines for easier game development. It turned out to have some drawbacks due to its cross-platform nature (which I didn't need here) such as routines that were not fully implemented for HTML5, or the Haxe language itself being more difficult to work with than I expected. Moreover, HaxeFlixel is originally adapted from Flixel, which is a Flash game engine, and it still shows a bit.

In retrospect, if I were to make another 2D HTML5 game, I would rather look into Unity (although I find it far from lightweight) or Phaser which seems more suited for the job.

The sprites were made with GIMP because this is what I'm most comfortable with, although I might look into a pixel art-oriented editor in the future.

For level edition I used Tiled, another tool I'm familiar with, it's compatible with HaxeFlixel and I find it quite solid and simple to use.

The few sound effects were done at the last minute with FamiTracker, a chiptune-making software. I first tried SFXR because it's a popular tool, but I was quite new with the software and I couldn't figure out how to generate a satisfying coin sound. I didn't have much time left, so I went to FamiTracker instead because it's a software I already knew, and I thought it gave me more fine-tuned control for sound generation. It was mostly because of the emergency of the situation though, I wouldn't advise others to do the same because this software is not really meant for that. Maybe look into other tools such as SFXR or BFXR.

The execution

portmortem3.png

Frankly, it was the end of a long week and I had learned to value my health, so I wouldn't say I really "jammed" during that weekend... what I mean is that I didn't work full-time, and I put my priorities on keeping a proper sleep schedule, to make up for the rest of the week.

I also thought the Compo jam would be from Friday to Sunday instead of Saturday to Monday (at least in my timezone) so I didn't think of taking a work day off on Monday, effectively taking almost 1 jam day away from me because I just wasn't going to develop my game at the workplace.

In a time-limited project like this, it is obvious that the most important thing is to keep your project on a strict schedule. I have noticed that when I start making a game, I usually spend a looooot of time polishing the graphics and sounds instead of actually working on the game mechanics and level design. Yes, I like making nice graphics. This time, I tried to go easy on the bikeshedding and made some basic placeholder sprites so I could focus on the programming.

At first it was quite easy to set up a basic project, but later I stumbled into the aforementioned programming issues. When these were fixed, I made a first level which I was quite satisfied with, with a "negative learning" mechanic, as one commenter put it. Basically you can't just take all coins, instead you have to make a choice about which coins you get and in what order. That's the kind of puzzle I wanted for my game.

I wanted to implement other puzzles about the fact that the coins also slow you down, but I was running out of time. Furthermore, I was having some sort of "writer's block" when it came to designing new levels, so I began making proper graphics instead.

The next day was the last day, and coming back from work I had to rush designing and testing the remaining levels, with a fixed goal of having at least 5 playable levels in the end. Those levels are less complex, and I am not too satisfied with them, but I'm still glad I could reach my goal.

Conclusion

portmortem2.png

Here's what went well: - Finding a concept that goes with the theme - Making a functional game in time - Presenting enough content to players - The graphics - Getting enough ratings to get a score :smile:

What needs improvement is the time management. I think taking breaks is very healthy, but sometimes I would just go over and do something completely different instead of developing the game. In retrospect I think I could have spent more time working on the project.

In the end I'm quite glad with how the game idea turned out. Of course there's still room left for improvement, which I'm planning to implement in the future. So, keep an eye on the project... In the mean time, the Global Game Jam is coming soon and I'll probably participate in that as well.

I hope you found this post-mortem interesting, happy jamming and see you next time! :smile: