It’s the penultimate week of the semester (and my entire Games Design course, sob) and it’s been quite a busy one, bordering on the verge of hectic. The pressures of a deadline are starting to get to us now, but the game is so very nearly there as a result.
Having also had a particularly busy time last week (but having progressed the development of the game significantly as a result) I was keen to replicate this on Monday. The plan I had come up with at the tail end of Week Thirty Three wanted us to get both the Alien Ruins and Game Finale narrative events into Fortitude by the end of the week, as they are the final two events yet to be implemented. Achieving this by Friday of Week Thirty Four would essentially get Fortitude to MVP (Minimum Viable Product) stage, meaning that hopefully for the final week we would just be playtesting and bugfixing. It seemed like a good enough plan.
On Monday, having just recently implemented the Ocean Monster narrative event, I was keen to get somebody in to playtest the game (it was high time, after all). I had previously had several friends express interest in playing the game after having had its premise pitched to them by me, so I picked the one who was most interested in all things space (our audience, essentially) and sent him over a copy of the game. In retrospect I really should have recorded our playsession (and I have recorded all subsequent ones as a result) so instead I’ll just have to describe it.
I was keen to give James (the friend) as little instruction as possible so that I could see how intuitive or easy to understand the game was. As the game opened, he sat through the tutorial (though got noticeably bored after a while, it is a length tutorial after all) and then successfully made his way out of the Asteroid Field. He did lose a part of the ship at one point, but a quick view of the controls in the Pause Menu let him know how to retrieve it. The game’s narrative then suggested he head to the Ocean Monster’s Moon, and off he went. It took him three attempts to land; during the first one he hit the ground at 120m/s, in the second he almost made it but skimmed the ground too hard and dashed himself on the rocks, and on the third he just managed it with a hard but successful touchdown. One apprehension I had had was that landing might be too difficult, but watching him get progressively better both here and later in the game has convinced me that this is likely not the case.
Over the course of the next hour or so, he played through the narrative quite successfully, and I was quick to let him know that he should tell me if he has gripes or issues with any part of the game. Many a gameplay improvement was suggested as a result, and most of them can be viewed in this week’s Patch Notes.
My subsequent notes following both James’ and my little brother Syd’s playtesting
As James played, one thing I began to continually notice was just how…tense he was. During landing he was near silent, concentrating significantly at most points. He was also keen to point out at various intervals just how scary he felt the mechanic of landing was, particularly the wind that rushes past. Once he’d dropped into the subsurface ocean of Estabahn’s Moon his mood then seemed to switch from tension to genuine fear, as every shadow that moved past seemed to spook him even slightly. Sadly he didn’t encounter the Monster itself (not even audibly) so it’s been made bigger both physically and audibly as a result. Some time later as he explored Diadem on foot, he became increasingly worried at the ship’s proximity warnings, particularly when its AI voice begins to distort (as the Bacteria infects it). He then died a short time later during the malfunctions event in space as said Bacteria kicked him out of the ship and into the nearby Sun. When I asked for closing thoughts at the end of the session, he felt that we had absolutely nailed the fear of the unknown (his words, genuinely) and other than a couple of small issues he had encountered (which have now been fixed following this session) he really enjoyed the game (I also should point out that he had been playing for over two hours).
The remainder of Monday was then spent fixing up the various small issues and bugs following James’ playtesting, and I also managed to get my little brother Syd back again to play (as he had previously tested Fortitude during the implementation of the Sentient Bacteria event). Syd was very reluctant to go into the subsurface ocean of Estabahn’s Moon as he reckoned there would be something scary down there, and after he jumped in and heard the sounds of the Spooku he became genuinely quite scared to the point where I took over and moved his player elsewhere (as Syd’s only 14 and I didn’t want to traumatise him too badly). He then tried landing a few times, nearly managed it on the third attempt and crash-landed on the fourth (though he did survive the crash). His reactions and thoughts were notably similar to that of James’, which in all honesty made me quite proud. Perhaps we have actually nailed the fear of the unknown element.
Tuesday then rolled around, and after Josh sent over the completed Alien Ruins designs I spent much of the day implementing them into the game, as well as then designing the Alien Ruins narrative event to go with it. As per our plans for the narrative that we had created some weeks ago (which are viewable on the Trello board) the ruins were going to have an interface of sorts, displaying an alien language that the player may have limited interaction with.
The “Alien Ruins” narrative event
These “mysterious symbols” would actually be a real-time countdown, telling the player (albeit in an alien language) just how long they had left until the Rogue Planet wrecks its way through the game’s Solar System. Said symbols would then be translated for the player during the Game Finale event, after they have been infected with the Sentient Bacteria.
Part of the “Game Finale” narrative event
Implementing this countdown of alien symbols into the ruins was quite time consuming, as I essentially had to build a ticking clock from scratch that enabled and disabled the SpriteRenderers of various symbols depending on the current second and minute (sourced from Unity’s own time-telling resources). It took a while, but I did eventually get the mechanic to work.
The four symbols near the top of the ruin now tick down in a clock-like fashion, and the holo imager below alternates between an image of Diadem (shown above) and another alien symbol drawn to represent said planet. The in-narrative reason for this is that the ruin is pointing towards where the Sentient Bacteria originates from. I then recorded a few ship AI lines that guide the player around on Elcalowda during said event, which then “gathers location data” from the ruins and points the player towards the next narrative event set on Diadem. As I was wrapping up work on the Alien Ruins event, I had a quick chat with fellow Games Designer Sid (who is particularly good at designing particle systems) and he very kindly agreed to design a few particle systems for the game, which would then replace the long-outdated thruster placeholder images (the triangles) as well as giving the visuals of the Rogue Planet destroying Elcalowda at the end of the game a bit more oomph with an explosion-like effect.
The remainder of Tuesday was then spent implementing Sid’s particle designs, and I must say that I think they look absolutely stunning.
Look how cool these look
Gameplay-wise, I felt that they made a massive difference, as suddenly it just felt much more…polished. All of a sudden, here was a rocket ship that actually felt like a genuine rocket. The blazing fire and smoke coming out of the ship’s engines not only looked amazing, but I felt it also completed the Fortitude as a spaceship. Additionally, because of the trail left by the smoke and embers of the ship’s engine, both Josh and other playtesters remarked that it was now a lot easier to see how fast the ship was moving in space, as depending on your speed the particle trails will be either longer/faster or shorter/slower. This has been an issue for a long time (due to the entirely black background its quite difficult to see if you’re moving, hence the red trajectory line and speedometer additions) but Sid’s new particle systems appear to have finally fixed that issue.
It was then Wednesday, and my primary objective for the day (other than bugfixing, which seems to be a staple at this point) was to begin work on the final narrative event of Fortitude; the Game Finale. This was it; the big one, and I was keen to get started.
Upon reading our plans for said event however, I found myself a little underwhelmed. Following James’ playtesting from earlier in the week, I had become even more perseverent in my desire to make Fortitude the absolute best it could be, and I just found myself unsatisfied with the current ending. As you fly out of the Solar System after the ruins tells you to leave, you meet the aliens who built said ruins as space shimmers in front of you, and you briefly see a hand-shaped object before the game then cuts to black. Conceptually it’s an interesting finale, but I felt that as an actual game ending it was a bit unsatisfactory, so I set about fixing it. With the Ocean Monster and Sentient Bacteria events, I had noted just how much scarier the game is now than previously envisioned in concept (both from my own and others playtesting). I was keen to play into this idea more, so I decided to clue in the Sentient Bacteria more, giving it a much bigger role in the ending. In audacity, I spent a fair amount of time fiddling with ship AI audio, until I had what I was after; a distorted version of its voice that could be used to present the Bacteria.
In-keeping with the fear of the unknown idea, I was keen to still keep the Bacteria in as much mystery and shadow as possible, so decided to continue the idea of never visually showing it, and by using a distorted ship voice I would suggest its presence within the ship, but never outright state it (which would likely scare the player even more – the idea of not knowing for sure). Upon landing on Elcalowda after the Bacteria event, the ship’s AI voice now changes slightly – it’s now distorted, and its recommendations for explorations slowly become commands, pointing you back towards the ruins that you found in the Alien Ruins event. Upon entering, it tells you to touch the Altar of the ruins, at which point story aspect number 8 occurs (shown in the image above). The symbols translate, revealing them as a countdown for the Rogue Planet Event. The Bacteria then warns the player that they must leave the System, or they will die. I was particularly careful to toe the line between an evil-sounding command and gentle suggestion by the ship when designing its audio lines, as the fear of the unknown still very much needs to be present, ideally keeping the player doubting at all times.
I spent the remainder of Wednesday implementing this new version of the first part of the Game’s Finale into Fortitude, recording and distorting various ship lines as well as designing code that successfully translates the symbols into an actual number-based ticking-down clock for the ruin interface. It took a while (as coding features for Fortitude usually does) but implementation largely went without a hitch.
It was then Thursday, and I was on a bit of a roll with my finale rewrites. Even with the larger emphasis on the Sentient Bacteria, I still felt that the shimmering-hand thing didn’t really satisfy as an ending. It was then however that a thought occurred to me; what if the game doesn’t actually have a happy ending? Or rather, what if this bit isn’t the happy ending? After all, the Sentient Bacteria is still in your ship at this point, so what if it stayed? This then really got me excited, and I started to concept story ideas. It was then that I came up with what would then end up being the backbone of the entire rewrite; what if the reason the Rogue Planet comes in to the System is to destroy the Sentient Bacteria? What if the Ruin Aliens unnaturally engineered this? It was a pretty cool idea, and something that the player themselves would never know for sure (to keep with the whole mystery and fear thing) and it also neatly ties every event in the game together. I practically kicked myself for not thinking of it before now.
This idea then led me on a bit of a thought process; so the Sentient Bacteria wants to escape, I posited. It can only do this with the player’s ship. It’s a Bacteria, it can’t fly. So it needs the player. Again, everything seemed to slot into place; the reason why the Bacteria entered the ship in the first place, the reason it wants to see the Ruins. It’s intelligent (if only in terms of survival instincts) but since the player will never actually see its, its presence will be a source of constant doubt to them. It was then that I had a bit of an evil thought; so upon escaping the Solar System, it doesn’t need the player anymore. What if it killed them? Hmm, a bit much perhaps. What if it disables the ship and leaves them stranded? I liked that version a lot better, but there was still something missing. At this point I had ideas for days, and so got in a voice call with Josh and explained all my ideas, including another that I wanted him to design the visuals of. Despite being very close to deadline, Josh reckoned he had time, so we set to work on something I then aptly dubbed The Money Shot Project.
It took Josh the remainder of Thursday and a bit of Friday, but we had it. As the game’s literal finale, I wanted to make it the most interesting if not the best event in the game, and for that we needed some powerful visuals. Continuing with my idea generation for the new Game Finale, I thought; so what does the Sentient Bacteria do if it escapes? The Ruin Aliens wanted to destroy it so badly that they threw a planet at it, so it must be bad news. This then led me onto the big one; what if it destroys everything? The player has inadvertently let out a highly destructive infectious alien force. Both Josh and I really liked this concept; it was very much in-keeping with the fear of the unknown theme, as the player doesn’t really know what they’re doing until its too late, and even then they don’t really know what the Bacteria was as they never see it. This finale serves as a much better finish, and also keeps the game shrouded in mystery, so as far as we were concerned, it was a win-win.
The money shot that I had Josh design was an incredibly high quality visual of a Universe.
A screenshot from the visual in progress
Our reasoning for creating this was fairly simple; how do we show the player just how severe the consequences of their actions are? If they complete the story, they have (accidentally or not) released the Sentient Bacteria out into the Universe, and since the Ruin Aliens were prepared to chuck a planet at it in order to destroy it, it’s obviously not going to do good things. The idea was that upon exiting the Solar System the game would start to zoom out (just after the Bacteria disables the ship) but it would keep going past the map zoom-level, continuing further and further until a bunch of nearby Galaxies were in shot. The game would then hang there for a few seconds before then, subtly and quietly, the stars would begin to go out. First the ones surrounding the player, and then more as the effect radiates outward, until eventually the entire image fades from view. To really hammer the effect home, I then spend a few genuine hours in Audacity working on a single line for the Ruin Aliens, the one and only time in the entire game that they even interact with the player; a harsh, cold-sounding, jumpscare-inducing “what have you done?!”
It took the rest of the week to code everything in. Josh’s Universe designs were of course particularly large, and Unity kicked up many a fuss upon importing them. Recording and implementing new ship lines and then designing the various aspects of the Game Finale around the assets then took the most time, as well as meticulously playtesting timings for maximum dramatic effect. Eventually though, it was done. I leaned back on my chair, stared at my screen and realised; we’d done it. It wasn’t tested or massively bugfixed yet, but the entire game story was in. The game was…complete.
We had hit MVP stage, and I was speechless.
Reflection On The Week
Week Thirty Four has been (as you can probably imagine) an incredibly busy week. Monday to Friday I pretty much worked ten to twelve hours a day, but upon reflection I would say that it was completely and utterly worth it. The game’s full narrative is finally in the game, working as follows:
- The “In The Beginning…” Event – The ship gets a mysterious signal, and starts to triangulate its position, pointing the player towards exploring Estabahn’s Moon to explore in the meantime.
- The “Ocean Monster” Event – After entering the subsurface ocean (which the ship suggests upon landing) and encountering the Spooku, the ship finishes triangulating the signal, and points the player towards Elcalowda.
- The “Alien Ruins” Event – After exploring the cave system (which the ship suggests upon landing) and finding the Alien Ruins, the ship scans the holographic interface and discovers location data, and points the player towards Diadem.
- The “Sentient Bacteria” Event – Upon touching down on Diadem, the ship becomes infected. It starts to audibly and visibly malfunction, and a mysterious sound can be heard echoing around the ship. Through its distortions, the ship’s AI points the player towards Elcalowda once again…
- The “Game Finale” Event –
Upon landing, the ship recommends heading back to the ruins. Upon entering, the ship tells the player to touch the Altar, which then reveals the Rogue Planet countdown. The ship then tells the player to leave the Solar System or they will die, and upon doing so the Bacteria disables the ship, and Josh’s visuals let the player know just how unfortunate the consequences of the player’s actions are. They should’ve just let the Rogue Planet hit…
It’s a full story, and both Josh and I think a pretty interesting one at that. We now only have one week to go until hand-in, and with the game at MVP stage, the plan for the remaining days is a bunch of playtesting and subsequent bugfixing. Making the mechanics and narrative as smooth (and non-frustrating) as possible is priority number one right now. Additionally, I have documentation and a documentary-style video to do as well, so Week Thirty Five (or The Final Week) will probably be just as hectic as this one was. Still, I think that it’s been worth it, as the game is as good as its ever been right now, and I really feel like we’ve got the fear of the unknown theme nailed. I guess playtesting will tell, though.