Ludum Delivery - Post Mortem

Second Ludum Dare for me, and delivered! https://ldjam.com/events/ludum-dare/42/ludum-delivery

ld42.gif

Now, time for some retrospective for the last two days :D

I was not sure I could participate in this LDJam: I arrived home on the same day and had not participated in a game jam since 2015 so I had no time to try something new. I decided to keep things as simple as possible and use basically the same tools: Gamemaker Studio for the programming, Piskel for pixel art and SFXr for sound effects. This time I wanted to add some sort of music, and I found the awesome BoscaCeoil. After I completed the tutorial, I was feeling confident enough so I decided to try it in the Jam.

As being my second participation in Ludum Dare, my only objective was to deliver a finished game, hopefully related to the theme.

Day 1 - Early Morning

I definitely not liked the theme very much. I tried to think in some original uses of it, but I could not think of any idea that I could implement in 48 hours besides the obvious ones (tetris, snake, bust-a-move...). Since it was about two o'clock in the morning, I jot down whatever came to my mind and went to bed.

ld42_1.jpg

Day 1 - Afternoon

Twelve hours have passed and I still had not chosen an idea. I kept thinking in the inventory management of some games (e.g. Diablo 2), so I decided to combine this idea with some sort of tetris-like mechanic and add some risk/reward loop. All of this set in a truck delivery system.

Since I was not sure if this could work, I used a paper&scissors prototyping to test it out before:

ld42_4.jpg

So there are two trucks with a grid each and a conveyor belt that spawn new pieces. The player loads the trucks and send them to deliver. At the time, I was considering some penalty if the trucks were not fully completed when they were sent. It seemed to work out (sort of), so I started to implementing it.

ld42_2.jpg

The idea was that the trucks kept travelling for some time, during which they can not be loaded. The player had to consider carefully when they should be sent. I drew some quick sprites and began to work:

ld42_gms.PNG

Unfortunately, I was having some issues implementing the "snap-to-grid" function for the pieces, so I decided to left the programming for the night and switched to the sprites design. Several hours later, I returned to Gamemaker with new, shiny trucks :)

ld42emgms/em2.PNG

It was late in the evening when I finally had the main mechanic properly implemented. At this time I was not feeling very confident into finishing the game. Let alone to add the music and sfx.

Day 2 - Afternoon

Since in my first jam did not have time to add some music, this time I wanted to try at least. When I did the tutorial of Bosca Ceoil some days before, I quickly managed to compose some little tune. This time, however, I suppose I was not feeling very creative, so I tried to scale down and ended using only some drums, a bass line and a very simple melody. After that, I added a single variation and repeated it in a different instrument, but keeping the same melody so the song could loop. It definitely could be better, but I was short on time, and it did not sound too bad, so I decided to keep it.

ld42_boscaceoil.PNG

When I imported the melody in Gamemaker Studio, the loop thing did not work very well. So I decided to loop it manually for a few minutes by using Reaper. Rough, but effective.

ld42_reaper.PNG

Thankfully, SFX were easy thanks to SFXr and BFXr. For the truck motor sound, I used the "explosion" setting in BFXr, I imported later the WAV in Reaper, looped it, and copied in four tracks with some delays in between to simulate the pistons explosions in the engine. This worked surprisingly well.

The rest of the afternoon I finished the graphics, including the cover image for the game and some more tiles to add variety. I also implemented some rough Game Over scene with the score and the transition between different rooms (main menu, main game, game over).

Day 2 - Evening

With core mechanics, sounds and art ready, I sketched a to-do list to be fullfilled until submission:

ld42_5.jpg

The most important task was to tweak the different variables for the main mechanics to get something enjoyable to play. These variables included the velocity of the pieces in the conveyor belt, the travelling time of the trucks, the lenght of the departure and arrival animations, the percentage of the grid that must be completed in each truck until it is allowed to leave, etc. I really missed having some more time to adjust all of this more carefully, specially the level progression and the initial configuration; but all in all, I think that I got something playable.

In the last hours I finished the main menu, added a screen to show controls and rules, and I played a little to identify any obvious bugs. Some things including bonuses, aditional pieces and another scenario had to be discarded because of the time contraints.

Conclussions

The Good

  • Good selection of tools. Some days before I was considering Pico-8 for all the development. I tried it some months ago and I loved it. But I am sure that I would have spent much more time fiddling with lua instead of implementing mechanics. The rest of the tools were simple to use and powerful enough for my purposes.

  • Provide a web version. If your engine is capable of, a web version, not dependent of external tools, OSs, etc. can be definitely useful to widen the people willing to try your game.

  • Finished and playable game. Second jam, second finished game! I hope it stays that way the next time :)

The bad

  • Time management. More than 12 hours thinking of an idea in a 48h jam... not a good start. When I was tuning the playability I missed that time a lot :(

  • If it is implemented, show it to the player. In the game, there is level progression, with increased difficulty, and bonuses for completely filling the trucks. But none of this matters (in a simple game like this, at least) if the player is not aware of this features. Small details like a simple and flashy animation with each level change, or a noticeable warning when the difficulty ramps up can made a huge difference. A big thank you to all the people that have tried the game and have left feedback. Very useful to learn from it.

  • Little tweaks. Adding a button for switching off the music, using a keyboard key instead of right mouse button to rotate pieces (that is not available in some laptops), clickable trucks for send them instead of more buttons... Little details, very easy to implement, but they can made a difference in playability. Lesson learned!

It's time now for trying other entries. Thank you for reading and see you in the next jam!