Killer Deal, created by myself and my friend Owen, is a run & gun 2D platformer made for Jamsepticeye, a game jam run by YouTuber Jacksepticeye and Indie Game Developer Ducky Dev. It starts with the player meeting with the Grim Reaper in purgatory after their death. The player is given a deal by the Reaper; go back to the mortal plane and reap as many souls as possible. With each soul reaped the player gains one extra chance at life. The aim of the game is to get to the end of the level and defeat a boss level with as many souls collected as possible. The player's kills and lives are recorded separately, as the player cannot bank more than 10 extra lives at a time.
My role in the development of Killer Deal revolved around programming and developing the game in-engine. Chiefly, I spent a bulk of my time developing the game's two levels, including:
The main level in which the player finds themself after spawning in. This is where a vast majority of my time was spent developing the game, reflected in the effort put into ensuring that every implemented mechanic has a place to be used appropriately.
The boss level found at the end of the main level. While not as refined as I had hoped when planning this game, it still acts as a fairly challenging end to the game.
Owen's role was creating the sprites and art used within the game. He created all the background towers, player & NPC sprites, weapons sprites, and cutscene art. Additionally, he also designed the game's logo.
Killer Deal can be found and downloaded for Windows and Linux devices on its Itch.io page.
We hit the ground running the moment that Jamsepticeye started. Me and Owen used a collaborative website called Miro to put our ideas into and create checklists for us to complete. Our main focus at first was getting down different ideas and moodboards to base the designs of our characters and environments off of. We eventually landed on a 2D side-scrolling platformer with a grimy urban environment. Owen designed the protagonist with the aim of having them look like they're just a regular person put in a fairly extreme situation, using the clothing style of Leon Kennedy from Resident Evil and the general shape that human sprites have in Pokemon Black & White to achieve this. The Grim Reaper seen at the start of the game wears a travel pillow and hovers a coffee next to them to try and represent that the reason they've given the player the chance to go on this killing spree is out of laziness rather than necessity.
The gameplay of Killer Deal is intended to be incredibly smooth and fast-paced. This idea was in my mind constantly while developing the mechanics of Killer Deal; I wanted the player to never have a reason to stop and tried my best to ensure there weren't any moments where the game encourages slowing down.
Killer Deal revolves around three main mechanics. First is its movement. Players are able to walk in two dimensions, jump, wall jump, and dash. The aim was to make movement that feels both easy to control yet just about demanding enough to let the player feel their improvement as they play the game. Second is combat. The original aim was to have two primary enemy archetypes, stationary and chasing. Time constraints meant that we could only implement a "combined" enemy that moves between two set points and damages the player upon contact. The player has two weapons at their disposal; a scythe and a shotgun. Our goal with this was to ensure that enemies had enough health that the damage output from either weapon alone made it feel slower to play than they were used in conjunction. We also ensured that players had to get close to enemies to kill them swiftly; the shotgun has an incredibly steep damage drop-off and the scythe only reaches just in-front of the player. The final mechanic is the extra lives. Players are able to bank up to 10 lives from killed enemies before the game stops counting. This was implemented to prevent players from 'farming' ridiculous amounts of lives and removing any sort of challenge from the game's boss. The level is set up so that the player can lose lives from combat mistakes (such as moving too close to an enemy) and movement mistakes (such as falling down a building). This design philosophy means that players are rewarded for engaging with and improving all aspects of their game play, making the game much more enjoyable.
Owen's sprite & cutscene art is great given the short amount of time we were given for this game jam (about a week!). While simple, it fits well with the pixel art style we had agreed on.
There are no major bugs or crashes that we could find while testing, and no bugs were reported by other developers during the jam's voting period.
This jam taught us both a lot about project & time management which we will implement in future projects.
I feel that my confidence and competence in games programming has been improved drastically by participating in this game jam. While I was already confident using Godot as a game engine, I learned a lot about the dos and don'ts when making a game in Godot.
A lack of settings or ability to pause the game - despite a focus on speed and fluidity it would've been nice if I had've implemented a menu to pause the game and adjust settings.
I incorrectly designed the UI and as such had to lock the player in a 1280x720 window.
The lack of sound design is a big issue caused by time constraints and a little bit of poor time management. SFX is a big part of making a game feel responsive and satisfying!This is by far our biggest regret, as we aimed to have simple 16 bit music and SFX that we feel would've elevated the gameplay further. In future projects I aim to make sound a top priority so that this mistake isn't made again.