Don't lose your way
Last month I released a new game titled One Last Chat, for the annual O2A2 Game Jam. It’s not a very long game due to the restrictions of the jam, which meant that it was the perfect space to use to tell a story about the end of the world. Here’s what the development process of creating the game looked like. Before you read this post, I’d suggest playing One Last Chat if you haven’t done so before - it’s not a very long game, and while I wouldn’t describe this post as having “spoilers”, per se, playing the game will help give some context to what I’m discussing in this post.
I’ve already mentioned this on this website’s page for One Last Chat, but the story and game was inspired by a cover of Komm Susser Tod, from The End of Evangelion, done in the Pokemon Emerald soundfront (which is still really good and worth a listen if you haven’t heard it). The imagery of two people standing on a beach, watching as the world ends and knowing that they can’t do anything about it, felt pretty powerful to me, and after I listened to the cover for the first time, I made a note that something similar could make for a great ending to a story.
Many months later, as the O2A2 Jam’s start began approaching, it occurred to me that this story would work well for the jam, with its asset restrictions and short timeframe. With such limited space to tell a story in, I needed to be as effective as possible, and what’s more effective than the end of the world? I had a few other ideas for the game that I briefly considered, such as the player character and their friend being the ones who were bringing about the end of the world, but I decided that it would make it harder to treat the player character as an extension of yourself.
If the game was going to be about the world ending and the player (and their friend) being unable to do anything about it, then the easiest way to tell the story would be to make the player character a stand-in for the player, naturally. That meant minimal dialogue options and chances to speak, so as to avoid emotional dissonance. It also worked perfectly with the single voice actor restriction of the jam, as that role could go to the player character’s friend.
From here, it was a simple matter of breaking the story up into three different acts:
Establishing what’s going on
The player’s reactions and thoughts to the situation
The ending
The second act, which comprises the bulk of the game, was the main thing to focus on, since it’s naturally the most interesting. Thankfully, it wasn’t too difficult to work out what to write here - the game is essentially asking players what they’d do if the end was coming, so I boiled this down to three questions to ask the player:
How are you feeling?
What would you do on your last day?
Do you have any regrets?
Throw in some exposition from Ethan - the player character’s friend - and his own answers to the questions, and the script was done. Onto the next step!
Confession number one: I’m not really that great an artist. Confession number two: I spent several weeks in the lead-up to the O2A2 Jam practicing my art, and trying to get better at it. I’ll let you judge for yourself how well it turned out and whether that effort was worth it. Thankfully, with the restrictions of the jam that were in place, I didn’t have to draw more than one main sprite and a single background.
In terms of design, I had two simple goals to aim for with Ethan: he had to look like a dad, and like somebody who was friendly and laid-back. Giving him a beard and a slightly older look helped make him look like somebody who might be at the stage of his life where he’s had kids, and a flannel shirt looks fairly casual. Why is it red and blue? Because those are the colours of a flannel shirt that I’ve got and really like.
As for the cap that he wears, I like the idea of characters having something interesting or unique around their head, since you’ll be looking at their faces a lot of the time. A cap felt like it was in-character for him, and I’ve already mentioned that the initial concept was inspired by a Pokemon video, so I leaned into it a bit and copied the colour scheme of Ethan’s cap. And yes, that is where my character named Ethan got his name.
The beach that the game is set at was originally going to be a cliff overlooking the sea, but as I’ve already mentioned, I’m not a great artist, and so I need a good reference picture when drawing. I couldn’t find any images that had the right angle and scene that I was looking for, so I decided to change things around and set it at a beach - it both works to tie it into the Evangelion scene that inspired the cover which inspired the game, and it gave me the opportunity to make things a little ominous with a deep red sea. (Incidentally, I’ve seen all of Neon Genesis Evangelion, but not The End of Evangelion or Evangelion 4.0. I should probably address that at some point, huh?)
This is my third Ren’Py game that I’ve developed, so there wasn’t really anything too complicated to do here - it’s just reading, choosing your responses, and playing through to the end, which is all incredibly easy to do in Ren’Py. I think that the biggest hurdle was when I realised that I needed to pause the game as it started, so as to create a nice fade-in effect for the background, depending upon whether you’re launching the game from the Preferences screen or from the main menu. Other than that, there wasn’t anything too flashy on the programming side of things - a few functions that I like using, moving some things around in the UI, and a variable to remember whether or not the world has ended. Easy.
To keep things simple for voice acting, and to ensure that I wasn’t going to spend the majority of the game jam sifting through auditions, I contacted a friend and asked them to provide a few different takes on the script. Afterwards, I chose the best take, wrote out directions for how the lines should be read, and then got him to record the full script. From there it was just a matter of giving feedback on the lines which hadn’t quite sounded like what I was aiming for. A professional voice director would probably do things differently, but when you’ve got a week to make the jam, I think a bit of corner-cutting is acceptable.
Music is an aspect that I’m fairly weak at - I sure as hell can’t make music myself, and I struggle to identify what sort of sound is needed for the tone of a scene. After looking for some free music that would convey a similar tone to Komm Susser Tod (to nobody’s surprise, I couldn’t find anything), I decided to keep things minimalist and simply used the sound of waves for the background noise. If anybody has advice for setting music to scenes, or music design in general, I’d love to hear it - it’s definitely an area where I need to upskill myself.
Design-wise I’m also fairly lacking, but I think that the general UI of One Last Chat looks acceptable enough? The preferences screen is more or less a copy of what was used in Artificial Nexus [link], and overall I simply tried to make things look clean and simple. One thing that I am quite pleased with is making the quick menu able to be toggled on and off from the top-left of the screen - it’s got enough options in it that even with quick load and quick save removed, I think it can be a bit distracting in-game if you don’t need anything from it. Does anybody else thinks this works, or should it be more obvious?
And there you have it: that’s the process of creating a simple, short game, and the thoughts that go through my head that lead to different decisions. It’s not the most professional thing, sure, but I’m not claiming that this is a full-time job - I just want to create interesting stories. If you’ve had difficulty in finishing off your own projects, I hope that this has helped you with some ideas for how your own pipeline could look, and if not, then hey, thanks for sticking around. The length of this post is longer than the script of One Last Chat, so if you’ve had the time to read this but still haven’t checked out the game yet, please do; it would be really appreciated and won’t take much longer.
Back to news