Making my first game - Portcullis
(Part 4 - Finale)

Making my first game - Portcullis<br> (Part 4 - Finale)

If you haven’t yet, please read Part 1, Part 2 and Part 3.

We did it, we finished Gatekeeper!

The first monthly project is now over.

Let me start by saying that I’m very proud of the final result. Biased, I know… It’s not the most beautiful game in the World. It also isn’t the most fun… But it is mine!

If you remember, last week we already had some basic Winning/Losing conditions and started working on Game Art.

For this week’s update, this is what I worked on:

Tasks

Difficulty Tweaking

I played a little bit with everything I mentioned on the last post. The objective was to balance the game in order to make it as engaging as possible.

The gate animation speeds up the higher your Morale. I created 3 different raising animations so that the speed felt adequate to each one of these animations.

The mobs’ walking speed is randomized increasingly as the Morale goes up. At the start of the game their walking speed is constant, but it becomes more diverse in the late game.

As the Morale increases, the mobs’ spawning also gets faster and more unpredictable.

With optimal gameplay, the player should be able to reach maximum Morale after 50 seconds of playing and then they keep the last 40 seconds of gameplay trying to decide which are the best clusters of mobs to attack and which are the bests to let through.

If you take too much to decide, either the bad guys will enter or your Gate will be damage by the mob of people wanting to go inside. Be quick!

Game Art

Enemy / Villager

For the mobs, I wanted to make sure their own sprites had a walking animation. I ended up creating a very simple 4-frame animation. I actually spent very little time doing the mobs, since they are basically recolors of one-another.

I made a first version of the mobs to test in-game and immediately got some feedback on how they seemed to be tilting backwards. Since walking is basically “continuously falling forward” I tweaked the art a little bit and it really made a difference.

Gate / Walls

This wasn’t original planned, but the same person that gave the feedback on the mobs’ sprites also told me that the remaining of the assets lacked some depth, since the Gate and the Walls looked like flat sheets of paper. I also thought it would be great if the spikes really penetrated the grass and made a hole. So, I added some depth to these textures and some dirt/holes where the spikes hit and now everything looks really cool!

Upon seeing how cool these updated textures looked, I immediately noticed that now the gate lacked some “weight” to it. So I did what everyone would do as well: I added particle effects and screen shake everytime the Gate hits the ground, for that extra feel of impact.

UI

I ended up not doing anything on the Morale and Gate Health progress bars. Instead, I did the next best thing: I added damage sprites to the Gate, which gets more damaged as its Health decreases. This helps selling the idea that the bar above the Gate represents its health.

I also added an extremely simple Start/Ending screen, with a single button to Play the game and a text-field to show if you were successful or not and your score.

I would have loved to have prettier screens, with a Credits scene for example, but I had a very convincing reason not to do that. I explain it later.

Sound effects / Music

Since this was also a completely new topic for me, I started with some research on what software were available and which ones I would like to work it. Upon some independent reading and some personal recommendations from GameDev people I follow, I ended up picking ChipTone for the sound-effects and Tracktion Waveform for the music.

I created some cool sounds effects for when the Gate closes, whenever a mob successfully passes through and when the Gate is destroyed (causing the player to immediately lose the game).

Every time a mob walks across the Gate a sound is played. In case it’s an Enemy then the sound effect that is played goes down in pitch, representing a bad action by the player. Whenever a Villager crosses, the sounds that is played goes up in pitch, positively reinforcing this action. This happens at the same time that the Morale bar updates on the top of the screen, which makes it a more coherent experience for the player.

I really enjoyed creating the sound effects with ChipTone. At a first glance one might think that you just need to press the Generator/Randomize buttons a couple of times and you’re done, but I actually spent more time fine-tuning each sound independently by playing with all the knobs and trying to understand how each one of the impacted the final result. Great piece of software!

I also planned on doing a background music loop. Nothing too fancy, just something that helped filling the void. I ended up not doing it, so consequently I also didn’t have a chance of playing with Tracktion Waveform. But as I said before, I have very convincing reason for it…

The Twist

I caught Covid-19. I don’t know how. I don’t know why. It also doesn’t really matter.
I’ve been feeling ill for almost a week now and I haven’t touched the game since. I’m not feeling terribly bad, but overall I’m lacking the concentration and enjoyment needed for working on the game.

It’s not an excuse. The game has, in my opinion, already surpassed any expectations that I had for a first project. But I still would have liked to work on it a little bit more. Instead, let’s take this extra motivation and use it for next month!

That’s all Folks!

One game, one month. One down, many more to go!

At the end of each month I will create a dedicated “Project” page to symbolize the launch of the game!
The project page for this one lives here: Gatekeeper. Give it a look and, preferably, a play!

I’ll see you next month!


© 2022. All rights reserved.