Stranger At Home Postmortem Devlog
Hello good people of the internet! My name is Jana and I welcome you to this post mortem devlog about „Stranger At Home“, my submission for the GoedWare Gamejam #11, where I will try to go in depth about its development, my struggles, what went through my head during the development as well as what I thought went well.
The Conception
Let’s start with the conception of the game idea. GoedWare made five themes public before the jam started, out of which one would be chosen randomly. So before the gamejam started I tried to come up with at least two very rough „ideas“ for each of the themes. I had two ideas for „isolation“, the theme that was chosen in the end. One of which was consistent of the two words „Hikikomori Simulator“. If you don’t know, a Hikikomori is basically a modern-day hermit, self-isolating, very rarely socializing, not going to school, not working and mostly only staying inside their apartments. Thanks to modern services like grocery deliveries and whatnot a Hikikomori simulator could easily be done within the limits of just one apartment, which is why I chose it for this gamejam.
I’m not a great artist, so I wouldn’t have to model a lot of different things to make the setting believable, I could use photo references or real life references of furniture that most everyone owns to bring the models to life. Sound Effect wise an apartment also was no impossible task, since I could record a lot of the appliances from my own home. So choosing this idea was rather easy thanks to the few shortcuts it would create.
So when the first day of the jam came I started working on the UI, made stats for every basic human need I wanted to include, which in the end were Health, Energy, Hunger, Thirst, Boredom and Hygiene. All of the stats interacted with another to a degree that makes sense to me. If you were too bored or had no energy, your hunger and thirst bars would go down faster. Hunger too much and it’ll take away your health. I then modelled the apartment in blender and put it together in Unreal, added a few interactable appliances to take care of the players needs and generally filled the apartment. At this point I made a slight mistake that turned out to be a blessing in disguise: I forgot the kitchen. Now there’s a joke about Germans being super efficient that might be applied here, but instead of owning up to my mistake and building a kitchen after the fact, I just rolled with it. Thinking about some of my student friends who lived in Berlin who didn’t own a kitchen in their apartment either I figured there’s other ways to fulfill the needs of hunger.
Instead of cooking your own food you could just order some. But if I ordered food, human contact is mostly inevitable, gotta take the food from the delivery driver after all. So I had to come up with a way to order food that doesn’t harm the games theme of isolation. After a little bit of thinking I decided to install a food chute into the ceiling that with the push of a button dispenses food for the player to eat. That by itself sounded like such a dystopian concept that I just had to go all the way and instead of normal food, only food cubes are dispensed and a warning sign telling players to watch out for falling food was hung right next to it. I’ve also added a plate and tilted the spawned food cube just enough for it to bounce right off the plate for a little bit of comedic effect. That point in development was also the point that the true identity of the game manifested.
I started adding security cameras, speaker boxes, some hypercapitalistic metal posters with sayings that would put any boss to shame. My favourite is „Smile and you’ll smile alone, work and the world smiles with you“. I’ve added a way to earn money, which is literally just pressing space over and over, a tiny bit inspired by the Simpsons episode where Homer gets to work from home. Even though most appliances in this apartment are recognizable and the outside of the apartment is never really seen I wanted to make sure the player felt alienated by this hypercapitalistic dystopia, like something is off right from the get go.
At this point I wondered if it may be a good idea to use the atmosphere and setting to make this game a bit more horror-y. The dystopian setting in my opinion made for a great basis for a horror game. So I started working on a few scares, like a guy knocking on your window shutters, the voice on the speakers talking about security breaches or power outages. On the last day before I gave the game to my testers I implemented a hand that would jump out of the PC screen to try and grab you etc.
However with my first tester playing the game it became painfully obvious that none of these things are really scary if the player has nothing to lose to these scares. At first I figured maybe a Sanity meter was needed but in the end I decided to simply add enemies that are able to hurt you and take your health away. The hand out of the PC monitor could now hurt you, and if it did it hurt you badly. I’ve quickly modelled a ghost lady (who is missing her arms and head because not only is it creepy, it’s also less work) and gave her some logic where she appears out of walls, contorts herself to some bone cracking noises and if you get too close she’ll scream and take away your health, which already worked wonders in regards to the scariness of the game.
I still felt like the game was a bit too empty so I decided to make some random sound events, which was tons of fun. For this my friend Marvin and me mostly recorded weird noises with our mouths, screams, groans, moans and laughter and then put it through a Vocoder with some industrial appliances like drills, boilers or saws, which gave them a spoopy and robotic vibe that I felt was perfect for this type of game.
Then on the last day I modelled one last enemy that might spawn randomly, a fleshy eye that would charge its laser if you kept line of sight and shoot you after a few seconds. All of a sudden testers were genuinely scared even of the things that couldn’t hurt them just by adding things that could, as they now had to be careful and react accordingly to survive, on top of micromanaging each of the players needs. So by the end of the game jam the identity of the game was finally set in stone, as it is now.
The Audio
Let’s talk a little more about the music, the voice acting and the soundscape. I got my start in game development mainly in music and later a bit of sound design too, and while I have a tiny bit of experience in voice acting from some ten years ago I don’t think i’m a particularly good voice actor. So it was important to me that the soundscape of this game felt right, which I think I’ve mostly accomplished. There are some sounds here and there which I didn’t like per se, but overall I am happy with the results. A lot of the sound effects came from freesound.org and while I have edited most of them in some way I can’t take credit for them entirely. However a lot of the sounds were made either through Synthesizers like Massive or Massive X or by me recording things from my own apartment. Like I’ve already mentioned earlier I’ve used vocoders a ton to make voices sound less human, but the PC sounds or the timer sound at 8pm were entirely synthesized.
I’m a big fan of diegetic music, so I decided to add a radio to the game that played a couple of songs I’ve made for this game jam. Small spoilers regarding the Easter Egg we were encouraged to add to our game: I’m also a big fan of Alan Wake, and if you’ve played Alan Wake 1 especially you might remember that its music had a bigger role within the story than most would expect. So I pulled an Alan Wake and added things to some of the music’s lyrics that may or may not point players to the secret ending. At some point there’s even morse code giving the same hint coming from the radio so that’s that.
All of the music has been created in my DAW of choice: FL Studio, with a little help from Audacity. They might not be the best software to use for this, but they’re what I’m used to so I will always be choosing them over anything else. I’ve made use of the Native Instruments Komplete 10 library, mostly using the Grandeur piano and Massive for synthie sounds.
I decided to play into the games’ theme of isolation by making most of the non-diegetic music use a singular instrument only, the aforementioned Grandeur piano. With each day I tried to make the piano sound more and more alien, using effects like distortion and pitching two of the same pianos into different directions to make it sound like a piano that hasn’t been tuned in a long time. The only exceptions to this is are the jumpscare sounds and the credits theme of the secret ending, in which the piano starts by its lonesome but ends up being supported by a tiny orchestra as a sort of metaphor to how the player has just influenced their own isolation and loneliness.
In total I’ve written 24 songs and musical interjections for this game, which sounds like a lot until you combine the total runtime of them all, which is a little less than twenty minutes, including reverb and echo tails.
The voice acting, as I’ve said earlier was also done by myself. And because I’m not a good voice actress I’ve decided to voice a character that doesn’t have to sound believably human: An AI announcer. I could play with pitch shifts, reversing and repeating sound to glitch it out like Shodan would and my shoddy acting performance would be able to stay on the back burner. It also felt like it fit perfectly into the setting of the game, both on the dystopian SciFi level as well as the isolation level, so implementing it wasn’t all too difficult. To make it sound like it comes out of a speaker I’ve attenuated every frequency outside of the area at aroud 4000 Hz, filtered out the treble and a little bit of the bass and then boosted the region around 4000 Hz. Then I’ve added distortion, a delay and some reverb to give it that true speakerphone vibe and voila.
The Graphics
Okay, let’s quickly talk about the graphics before we get to the coding. All of the models in this game I have made myself in blender, but most of the textures were taken from ambientcg.com and the people on the posters and photos were taken from pexels.com. However there were a few textures I’ve made myself and some I had to edit. For that I’ve used Photofiltre, which is a french photo editing software that isn’t very good and the only reason why I use it is because I know how to use it, which in my opinion is more important than how good a software is, in a gamejam where time is of the essence. I did however use GIMP for the few features that aren’t available in photofiltre like generating normal maps and making seamless textures in a heartbeat.
I didn’t have a particular artstyle in mind, but in the end I went with a lowpoly, semi-realistic artstyle simply because the resources publicly available to do such art was abundant and it is also a lot less work if it was also low-poly. And as solodev, especially during a gamejam you gotta try to cut corners wherever you can.
The UI elements have also mostly been made in Photofiltre and underwent three renditions before they were at a point I was happy with. In my mind they didn’t need to look good, they just shouldn’t look too amateurish, which is difficult if you’re not a good artist. But the final result I am more than happy with, since most testers knew what they were conveying without having to read through the little manual on the pause menu.
The Code
Lastly, what else am I also not really good at? That’s right coding! I don’t know if it’s my ADHD or if I’m just sucking at coding (probably the latter) but I’m really not good at it. I’m the type of person that constantly forgets the semicolon or the right syntax, so I made use of the Unreal Engine and its visual coding system: Blueprints.
Now because I am who I am I didn’t use blueprints efficiently I have learned yet again so many ways to do things better than I have been before and even during the jam. One of the things I completely forgot existed was the ability to clamp variables for example, a whole lot of if statements could have been avoided if I realized this earlier. I also only found out way too late that I was able to check if a variable was within a certain range instead of checking if it was over that value and under that value at the same time. So yeah my code is being held together by metaphorical duct tape and you know what? That is perfectly fine! Mistakes are made for a reason! And even though I did encounter a few problems that could have been easily fixable by proper code, it all turned out the way I wanted it to either way. Many ways lead to Rome as they say. And most people who play your game will never even see a line of code you wrote, so the final product is what matters most.
That being said my code could be ran through a black hole and wouldn’t come out any more spaghettified and because of that I’ve made many mistakes, many bugs that could have been easily avoided. But thankfully there weren’t any bugs that actually gave me trouble. Most of the time I simply forgot to switch a bool to true or didn’t connect the nodes properly, aka the visual coding equivalent of forgetting the semicolon.
I think that’s everything I want to talk about. I hope this devlog was informative and not too boring. At this point I wanna thank my testers as I wouldn't have been able to make this game without them and I wanna thank Goedware for hosting this gamejam and giving me the opportunity to work on this fun little game. Oh and thank you to whoever is reading this!
Files
Get Stranger At Home
Stranger At Home
It is the year 2074 and a quarantine has forced you to survive in isolation, but not everything is as it seems...
Status | Released |
Author | Ghillie Goose Games |
Genre | Survival |
Tags | 3D, Atmospheric, Creepy, First-Person, Horror, Life Simulation, Low-poly, Psychological Horror, resource-management, Singleplayer |
Languages | English |
More posts
- The Post-Jam Patch Is HereMay 19, 2024
Leave a comment
Log in with itch.io to leave a comment.