I took part in Ludum Dare 48 together with a
team of 7 very talented people. This was my 18th time participating in the game jam Ludum
Dare, which is a game making competition. The game you make needs to be created in
under 72 hours and follow a specific theme; this time around that was, “deeper and
deeper”. Early in the first morning, I got this concept image from our artist,
Belle. The idea was to make an arcade shooter, where you play as a demon sent to hell, but
not just any hell, 80s themed disco hell! As you wreak havoc, you get sent deeper and deeper
into hell and face off against more and more enemies. Once everyone else is dead, the mullet
rocking Devil decides to deal with you himself. But the game didn’t make itself. I started
out with creating the Player character, making it possible to move him around
and added some basic boundaries. Then I experimented with different sizes for the
room; we wanted something which was bigger than the window-size, yet not so big that travelling
from one side to another would take too long. Once we had a size which was
suitable I moved onto the weapon. Since this is a shooter it’s important that the
weapons feel satisfying to use. Gun variety for the player was another priority. To save time and
avoid having to animate each gun, we decided to animate the player character separate from the
weapons, and handle gun movement with code. I spent a couple of hours just tweaking the look
and feel of the gun, one example is that I tied it to a sine wave to make it bob up and down.
Now, what is a gun without the ability to shoot? Yeah that seems balanced… I then spent some
time making sure that the bullets spawned at the correct place before moving on to the
most important aspect of the game. The player character has a cigarette, it absolutely needed
a particle effect! Yeah that seems balanced! Next I started to work on shadows. In order to
be able to see them I flipped the background color to white, so now I can’t see anything...
I also added a small kickback to the weapon when you shoot, to make it more juicy. We wanted
the game to be fast and action packed, so it was clear that we needed some kind of mobility
and settled on a dodge-roll. This would not only allow you to reposition yourself quickly, but
also makes you invulnerable for a brief moment. Now that the controls felt good it was time
to add the first enemy. I equipped it with two guns and made sure that it kept aiming at the
player. It was around this time that I started to lose consciousness after programming for over
15 hours and decided that it was time to sleep. I made the enemy able to shoot and
take damage. To further juice up the shooting I added some empty shells
which pop out to accompany shots. Next we added my favorite
enemy, flying mullet man! Look at his glorious mullet!
And then some other enemies... We wanted a system where the player is only
able to use a weapon for a limited time to encourage the player to experience all of the
guns. It’s important in a game jam that you do not make content which a player does not get to see.
We had this problem in a previous Ludum Dare game, “The Drown”; where players were encouraged by the
system to upgrade a single weapon and miss the rest. To avoid this issue, we made each weapon
have a limited amount of bullets. To make it feel better when you run out of bullets I came up
with the idea of having the player toss his weapon when it runs out of ammo. This weapon would then
serve as a kind of grenade, exploding on impact. I accidentally created something that looks like
DNA and while that’s cool, it needed to be removed ASAP, or else I would just sit and watch the
fancy patterns all day. After sorting that out it was time to make enemies drop their weapon
on death, which the player can pick up and use. Now that we had the system for the weapons, it
was time to create some more of them. I spent a fair amount of time tweaking the different guns,
trying to make them feel interesting and different from each other. All of a sudden, the entire day
had passed and it was time for me to go and die. What i'm dead huh? Well not even death can
hold me back it's time to code some code! It was now the third and final day. We needed
to get the core gameplay loop up and running as early as possible so we could playtest as early as
possible. I started working on the level system, which triggered the level swap after the player
killed a certain amount of enemies. To drive home the point of having the player fall “deeper
and deeper”, as was the theme of this game jam, I created a black hole which appears below
the player, making him literally fall deeper. With the levels in place and working, it was
time to add in the assets. This was a huge morale boost since the game finally started
to feel more like a game than a tech demo. We also added a CRT-effect which
curved the screen slightly, along with scanlines and a bit of visual
noise to give the game that 80s feel and look that we were going for. To increase the
disco levels we also made the floors blink. You can also see some of the WIP cutscenes that
Eric, our other programmer, was working on. The idea was to add a couple of characters, the
devil and his advocate, who would discuss what to do with you after each level. The purpose of
this was to give the player a small break and add some more comedy to the game. Since shooting
demons is the core gameplay loop, it needed to feel really satisfying. To further increase
the overall juice I set all of the player’s bullets to cycle through colors in the air, and
added a particle effect explosion upon impact, which was set to the current color of
the bullet. Finally I made the enemies splash into small pieces when they died,
accompanied by a bloody particle effect. Time was starting to run out, and while Eric
started adding all of the great sound effects, voice lines and music that our team had created,
I concentrated on the final boss and his throne. This, along with the intro sequence and ending, is something which I do not wish to spoil
so if you think that this looks interesting there is a link down below where you
can download and give the game a go. I had a blast working on this and while
there are things that did not make it in due to the time constraints, I am
super happy with how it turned out. Huge shoutout to the amazing people on the team: Belle who made more assets than
should be humanly possible. Eric who programmed so many
cool things, like the menus, intro sequence and the ending, just to name a few. Ben who wrote the scripts for the voice actors
and voiced the Advocate, and who happens to be the editor for all of the videos on this channel.
Daniel who made all of the funky music which pumped up the disco of the game
to dangerously funky levels. Ian who joined us for the first time
and delivered fantastic sound effects. Zach who perfectly voiced
the radical 80s disco-devil and last but not least Franki who did such
a great job at voicing the player character. If you have the chance to participate in
a game jam, I would highly recommend it; it’s one of the best ways to improve
and you always learn something new. I plan on making a video which covers
some of the tips and tricks which I have picked up throughout my years of
participating in different game jams. Make sure to subscribe so you don’t miss that,
or any of the other content which is on the way.
Been posting some of my tutorial videos on Löve & Lua here. This is the first video which isn't strictly a tutorial, so I am very interested in hearing what you think of it! :)
I just did your platformer tutorials over the weekend. Very informative. Loved that you used STI and the Love2D physics engine.
I'd love to see some tutorials on the shader effects used in this game, or even how you went about creating the cut-scenes/dialogs.
wow that looks really good, its crazy you made it in love