Hello! It’s been a while since my last post; I was hoping to finish a post mortem of The Sirena Expedition fairly quickly, but some life stuff came up and my schedule’s been a bit all over the place. Hoping to have it all sorted out soon, so I can go back to working on the full version of the game in earnest. In the meantime here’s part 2 of the post mortem!
In part 1 of the post mortem, I wrote about how I made The Sirena Expedition look (a bit) like a PS1 game, and how I designed the facility. Today I’d like to look at how I made the game look and sound like it’s underwater, and the kinds of events that I made use of.
There are two post-process effects that I used, on top of the PS1 dithering effect. The first is a basic depth-based fog effect:
This also serves to limit the draw distance on exterior shots; I’ll be honest though, I wanted this to be a bit more pronounced than it is. I set up the distance so that it was possible to see some of the seabed in the background of a shot looking out of a window, but this meant that the effect isn’t really noticeable on interior shots. My plan was to create a way of controlling the fog depth in different areas, but I didn’t get around to doing this before the jam deadline. It’s on my list of things to implement in the full version of the game.
The other post-process effect I used adds a slight waviness to the screen, and looks like this:
This is quite a straightforward effect; I did try out something a little more complicated, but it ended up looking a bit too erratic; it would probably look okay for a first-person game, but it felt like it would interfere with the platforming (simple though it is) in a game like mine. What this looks like (in a slightly early version of the game, is this:
Something else you can see in this video are the particle effects that I used; these are fairly simple, but make a great deal of difference when paired with the post-process effects. The first one consists of atmospheric particles that appear at random within a specified box, drift about slightly and fade out. I then set up boxes for the particles in each of the rooms in the game, and in the exterior areas as well, and controlled the density of the particles based on the size of the area. The second particle effect spawns bubbles from a central point, which drift upwards for 10-15 seconds before disappearing. I placed these in key locations (in the larger rooms, and at several points outside the facility); you can see them in the centre of the spiral stairwell in the video above. I also used similar particles for the aquanaut’s breathing, and for the trail of bubbles behind the bathysphere at the beginning of the game.
The last part of making the player feel like they’re underwater is the audio. The ambient soundtrack is split into four 1-minute sections, which play on a loop based on where in the game you are. As you progress into the facility, the ambience becomes heavier and more oppressive as more sounds are layered on; it is comprised of multiple different elements, but the main one is a loop of underwater bubbles. You can see the basic layout here:
On top of the bubbles, in the second section I add a simple pink noise with a filter sweep, and the hum of machinery, quiet at first, but louder by the fourth section. I also add the sound of straining metal (created by slowing down creaking sounds from metal gates) and clanking metal, all with heavy reverb; these also increase in frequency and intensity in sections three and four. In section three a machinery pulsing sound is added, which intensifies in section four. Then, in all sections I added glitchy electronic sounds that were created by speeding up various songs and ambient tracks many times, so that each is only a couple of seconds long. You can hear the results here:
In my previous post I mentioned using box volumes to switch the player from one spline path to another, and to change the camera settings; I made use of these for a lot of the features in the game. I also used volumes to play specific audio, be that a section of the ambient soundtrack, music, or one of the pieces of recorded dialogue that play throughout the game. They are also used to control the player’s walk/run speed (which was a feature I implemented initially to force the player to walk in one section of the game, but ended up using it to control the player’s speed so that it wasn’t possible to make audio overlap. I’m not happy about having an inconsistent movement speed, really, so this is something I want to fix in the full game), and to trigger tutorials.
Finally, I used volumes to fire the various scary events that happen in the game; a generic ‘event’ class contains functions for triggering and resetting the event, and I was then able to create child classes with specific behaviour for each event. Without wanting to spoil anything, some of these involve playing an animation, some move an object from one location to another, and some teleport the player to a new location.
That’s everything for today! In the final part of the post mortem, I’ll take a look at the game’s story/voiceover, and talk about some of my plans for the final game. Thanks for reading!