Something in the Water – Devlog 0

Published
// Reading Time: 6 minutes

Today marks the start of an exciting journey as I begin sharing the entire production and game development process from start to finish in my new behind-the-scenes devlog series.

This introductory devlog for Something in the Water acts as both a post mortem for the E1M1 game jam and an introduction to the Unreal port. Enjoy!

Transforming my Survival Horror FPS Game Jam into a Full Game

Devlog Transcript

Hi, I’m Sean Noonan, developer of a short, narrative survival horror FPS called, “Something in the Water”. In this introductory devlog, I’m going to delve into the project’s origins, share its inspirations, and provide insights into my creative process.

Back in 2021, I participated in a small game jam organised by E1M1 Magazine. Unlike most game jams, there wasn’t a specific theme to adhere to; instead, participants were required to use a specific game engine called the Raycasting Game Maker, more commonly known as “RGM”.

RGM is a free, but discontinued FPS engine that allows the creation of games similar in style to Wolfenstein 3D. For those interested in giving it a try, RGM’s a fully featured toolset for building basic first-person shooters. Though, I must provide the caveat that it comes with some hard and often arbitrary limitations, as well as being an overall rather buggy piece of… software.

Nevertheless, it has an easy learning curve and allows for fast iteration times, making it an excellent choice for a game jam. Even so, it’s important to acknowledge that the bugs and limitations of RGM are not to be sniffed at. I’ve personally experienced numerous issues whilst capturing footage for this video, which makes it hard to recommend.

But, if you do decide to give it a try, I highly recommend checking out this guide by Jonathan Leiter. They consulted several RGM developers, myself included, and compiled a comprehensive list of tips, tricks, and tutorials. It’s really good stuff, and it’s the best place to start.

So that’s the engine covered, what about the game itself?

Well it just so happened that this game jam coincided with a weekend where I’d indulged in back-to-back viewings of George A. Romero’s ‘The Crazies’ and its 2010 remake. For the record, I like both, although I find the original is infinitely more interesting. These films acted as instant inspiration, paving the way for a loose narrative backdrop for my game. Essentially it was the starting point I needed.

The game’s narrative revolves around the protagonist, Sam, and his brother, Jack, who find themselves caught in a car crash at the story’s opening. When Sam regains consciousness, he discovers he’s alone in a deserted hospital room. As he rises from the bed, his attention’s drawn to a note – it’s from Jack. From here, the player gains control and attempts to escape the hospital, evade its crazed inhabitants and reunite with his brother.

While the concept may seem simple, it propels the story forward and provides a strong non-intrusive foundation for gameplay.

And speaking of gameplay…

Due to the engine’s limitations, I was restricted to building a fairly rudimentary shooter in the vein of Wolfenstein 3D. Although, unlike Wolfenstein 3D, my goal was to minimise the maze-like nature of that era’s level design, and veer away from arcade tropes such as lives and high scores.

Personally, I find Wolfenstein 3D’s design to be a little too basic when looking through a modern lens, and the abundance of labyrinths and dead ends that make up the game’s numerous episodes exemplify this. I feel that Wolfenstein is at its best when the player’s on the back foot. Where they’re pushed to ration their ammunition and cautiously check corners, rather than attempting any fast-paced action or power fantasy. That was something naturally perfected in Wolf 3D’s follow-up, Doom, but that’s a little out of scope for this particular engine.

So with that in mind, I approached the game design with a focus on translating the concept of ammo rationing into conscious resource management, and transforming cautious movement into a tense atmosphere. I was essentially leaning into the fundamentals of the survival horror genre. So, I deliberately kept weapons, health, and ammunition scarce. I designed enemies with a high level of lethality. And to amplify that sense of vulnerability, I reduced the player’s movement speed to closely match that of the enemies. It worked surprisingly well, and in many ways, I felt like I had squeezed every drop I could out of that somewhat primitive engine.

Despite the relative simplicity of the game and engine, there were challenges. For example, I struggled a lot with visuals. Sprites just took so much time to draw and animate – I’m not a pixel artist per se, but I have had some experience working with sprites in the past. And within the realms of level design, I found it rather restrictive working exclusively with cubes limited to a single texture – less so from a geometry point of view, but more that I wasn’t quite able to always achieve exactly what I wanted to thematically. I often found myself altering the level layout to make the visuals work better. Not ideal.

Speaking of visuals, I opted to use a rather rough mix of photo bashing, pixel art and Photoshop techniques. While purists might shudder at that combination, I feel this approach was successful for the most part. I perhaps could have been a little more disciplined when it came to colour palette and texture contrast, but it was refreshing to have the freedom to just do what needs to be done without having to adhere to a specific style. I was just focused on creating what I felt was acceptable in the time available. Basically, the results were rough, but they sold the atmosphere I was aiming for.

And as is so often the case with my recent work, there were flashes of Silent Hill, Resident Evil, and a touch of Condemned… though in combination with the strong film influence I mentioned previously, I feel that the game took on its own voice. It was no longer Wolfenstein meets Silent Hill, or a video game adaptation of The Crazies, but instead had its own identity – it was “Something in the Water”.

And I feel like people must have agreed because “Something in the Water” actually won the game jam! Now I don’t want to come across as sounding too soft here, but it is genuinely the “taking part that counts” in game jams. I think the competitive slant they’ve taken has twisted motivations and incentivised less than positive behaviour and attitudes around game jams in recent years. And it could be argued that they glorify crunch culture… but that’s a whole other topic.

Regardless, I’ve never placed first in a game jam before, so that’s nice, but more importantly, I’m happy that people enjoyed it. I was super nervous how it would be received due to the fact I was extremely rusty at pixel art at that point, as well as the game acting as a showcase of my less than stellar writing abilities.
I’d love to write more, but I’m just so uncomfortable with sharing anything. That’s a hurdle I need to get over, and I feel like this project was a good first step.

The game jam prize was being featured in issue #7 of E1M1 magazine, along with a physical copy of issue #0 and a bunch of cover discs. I’ve yet to dig out an optical drive to see what’s on them.

So after sitting back and viewing the game through the lens of a player rather than a developer, I was pretty happy with the result. I would have liked to have gotten in a more custom art in the third level (to help minimise that Wolf 3D maze-like feeling), and the fourth level was perhaps a little too brief. But given the engine limitations and time constraints, I feel I managed to put together something relatively unique and of a good quality in the allotted time.

Outside of engine specific issues, there weren’t any reported bugs – it was actually surprisingly stable, so I never felt the need to patch or update the game.

So, why are we here then?

There have been attempts from the RGM community to improve the quality and accessibility of RGM games using external wrappers, but at this point I feel it’s time I bit the bullet and used my Unreal experience to build my own retro FPS framework. At least this way I can use modern tools and techniques to support and expand the game.

Initially I aimed to do a straight port, just adding as many quality of life updates as I could. However, whilst building the fundamental systems, I realised I had the opportunity to do a lot more and provide a better moment to moment gameplay experience.

And that’s what I’m going to talk about in the next devlog. This has gone on a little longer than I planned, but I thought it was worth providing a backdrop to where I go from here when developing “Something in the Water” further.

So until then, thanks for watching!