Making “SMASHASAURUS” in Gamemaker for Ludum Dare #37

Hi, internet. Today I’ll be filling you in on how my made my most recent game for Ludum Dare, SMASHASAURUS. For this project I used GameMaker Studio (I got the pro version during Humble Bundle recently, woo!) photoshop and paint (yes I like making pixel art in paint sometimes).

For those of you who do not knowLudum Dare is a long-running game jam where game developers of all experience levels from around the globe challenge out their skills and compete to create a game from scratch in just 48 hours. There is also a 72-hour jam for teams or those who wish to use outside assets, which isn’t treated as a competition.
Check out their website!

So, I’ll cut right to the chase and break down how I created by game this time around.

Humble beginnings (Day 1)

In my time zone, Ludum Dare began Friday night, so even though there was only 48 hours, I’ll be breaking it down over Friday – Sunday (3 days).

Pretty quickly on Friday evening, I decided that I wanted to make a destructibles-driven game. I didn’t come up with the dinosaur theme until later, but I ran with the endless beat-em-up idea almost immediately and set to work doing the bulk of the programming and problem solving.

I find that I work best if I wait to make art until the game is mostly done, so I just had blocks and an obnoxious magenta background for quite some time. I had a lot of trouble with the enemy AI (I am kind of a noob and have never made something so complicated), but by the end of the night I had (most) of a functioning, albiet ugly endless beat em up. 

Starting to look like something (day 2 – Morning)

After the basic mechanics were set up, I made some slightly-less-ugly placeholder sprites and started to work out the smashing particles and level design. This whole period was a lot of tweaking to make the enemy AI actually work, the player animations work, and to set up the global variables so that it was easy to tweak the scaling difficulty. Nothing super exciting.

​At this point I was convinced that I wanted to make the game become more and more difficult as your points increased, so I put quite a bit of time into this, as well.

Spawninggggggg (Day 2 – evening)

The game involves spawning mechanics, so I ended up spending a lot of time figuring this out. I have  never made a game that involves spawning more than a few item types so there was a lot of tweaking involved. Initially I wanted to spawn random objects all over the house, but eventually I decided that the spawning would be specific to the furniture in each room.

I also started making some sprites, and set up the ‘dino-level’ system that levels you up as your score increases and increases spawn-rates and speed. I also made health and taking damage, and end-game conditions.

SPAWNING??!?!?!?? (Day 2- Night)

At this point I basically had the ‘game’ done, but there was a lot of work to be done on the spawning (thus the endless toilets..) So I stayed up way into the night correcting this. By this point, I had working enemies, the (almost) final level design done and had made a BG tile set. I went to bed knowing that the final morning would be spent making a LOT of sprites for smashable objects.


At the end of Ludum Dare I spent several hours making sprites for all of the smashable objects, adjusting spawn logic and making a few different enemy types that appear as the game becomes more difficult. This was time-consuming, but refreshing after spending so much time on programming (which I am admittedly, not great at).

I opted not make sound, as I am bad at it and was worried that making sound effects for each item getting destroyed would end up sounding annoying. At the last possible moment, I complied the game and submitted it on time. Yay!

Gameplay Video + Download Link

Thanks again for checking out my Ludum Dare game- I have a lot of fun doing game jams even though I’m not an expert. You can see a quick gameplay video below if you’d like, or click the link below to where you can download Smashasaurus.

Leave a Reply

Your email address will not be published. Required fields are marked *