Fortitude – Version 1.1 – Patch Notes

The “Let There Be Light!” Update

With version 1.1, Fortitude takes several major strides towards completion. This particularly large update comes with a considerable amount of new game features, including a new (and great looking) lighting system, revamped planetary landing (now with extra difficulty), a new camera system, a Pause Menu, a Game Over screen and a completely redesigned Asteroid Field (with environmental events). The star of the show this week however is Narrative-based, as Fortitude now has opening and Refueling Tutorials (UI designs by yours truly).


Additions –

  • Narrative –
    • Opening Tutorial –
      This tutorial appears right at the beginning of the game, showcasing the simplest of Fortitude’s controls and mechanics (i.e. thrust, rotation, power thrusters, refueling etc.) and also gently guiding the player with a simple objective (find and make contact with extraterrestrial life) as well as a brief hint towards a time limit.
    • Refueling Tutorial –
      This pop-up tutorial appears when the player’s fuel levels run below 40% for the first time. It is a simple but descriptive UI box that talks in detail about the process of refueling in the game as well as the general location of Fuel Clouds in the Solar System.


  • GameObjects –
    • Added “Asteroid Field” GameObject, made up of multiple “Asteroid” GameObjects & one “Fuel Cloud” GameObject (Polygon Colliders 2D, Rigidbody 2D) –
      This GameObject is the first fully designed Asteroid Field environmental event in Fortitude. In the full game, these will appear scattered throughout the entire map (for now there is only one, for testing purposes). The player will need to navigate the “Fortitude” ship through these fields in order to reach worlds on the other side. Additionally, at the centre of this GameObject is a singular “Fuel Cloud”. If the player successfully navigates the maze of “Asteroids” surrounding it, they will have approximately one minute to refuel the “Fortitude” and escape before an event then occurs; a dozen tiny “Asteroids” rip into the Asteroid Field (via “OrbitSystem” scripts), destroying everything in their path and generally wreaking havoc wherever they go.
    • Added several “Light” GameObjects (Light) –
      The lighting system has been revamped for Fortitude 1.1, in the way that the game now includes lighting in a much more significant manner than in previous builds. Now, each planetary body (“Diadem”, “Elcalowda”, “Rika” and “Estabahn”) has their own individual light source that gives the visual impression of sunlight being shined upon them. Additionally, the “ElcalowdaSurface” GameObject now also has a light in its upper atmosphere (after testing, all planetary surface GameObjects will have this light) to also give the visual impression of sunlight, this time for on foot planetary exploration.
    • Edited “ElcalowdaSurface” GameObject (Polygon Collider 2D) –
      This GameObject has a number of surface GameObject elements parented to it, and a few of them have been switched around and added. The atmosphere of “ElcalowdaSurface” now has a thick “Cloud” layer near the surface, acting as a final barrier that the player must get through in order to reach the surface of the world. More dangerous “Clouds” have also been added above this cloud layer, GameObjects that were previously introduced in Fortitude 1.0.
    • Added “Pause Menu UI” (Sprite Renderer) –
      This is exactly what it sounds like, really; a Pause Menu has now been implemented into Fortitude. Upon pressing the “ESC” key, the game will be paused (via TimeScale) and player will be greeted by a UI that says “Pause Menu”, along with “Resume”, “Restart” and “Quit” buttons and a refresher description of the game’s controls. Pressing “ESC” again or clicking “Resume” will then resume the game.
    • Added “Refueling Tutorial UI” (Sprite Renderer) –
      This is also what it sounds like; a pop-up UI element that appears on the player’s screen when the “Fortitude” ship’s Fuel levels hit 40% for the first time. The full description for it can be seen in the Narrative section above.
    • Added “Opening Tutorial UI” (Sprite Renderer) –
      This UI element appears on the player’s screen right as the game begins, guiding them through basic and fundamental game mechanics before they then begin playing. The full description for it can be seen in the Narrative section above.
    • Added “Game Over UI” (Sprite Renderer) –
      This UI element appears on the player’s screen whenever they die. Simple as, really.


  • Scripts –
    • Added “Tutorials” script –
      This script’s primary function is to enable the various UI elements of the game, including both Tutorials (hence its name) Menus and (eventually) the UI gauges and displays that will show the various variables of the ship and astronaut that the player will need to be aware of. In terms of the currently implemented UI, this script adds function to the Pause Menu, making it toggleable via the “ESC” key and enabling its three interactive buttons; “Resume”, “Restart” and “Quit”. Each are clickable via an OnMouseDown function in their own scripts. Tutorials-wise, the Refueling Tutorial has a function here that enables it once the “Fortitude” ship reaches below 40% Fuel for the first time, and the Opening Tutorial also has various functions that enable its animations (i.e. each individual element of text fading in and out as well as the map-camera-zoom part) as it plays through during the start of the game. Additionally, this event is made skippable here upon pressing the “ENTER” key, and the “Refueling Tutorial UI” GameObject can be re-enabled at any time for additional viewing by toggling it with the “T” key.
    • Added “Resume” script –
      This script is attached to the “Resume” button from the “Pause Menu UI” GameObject, and with its OnMouseDown function it increases the game’s timeScale from 0 to 1 upon being clicked on, as well as hiding the “Pause Menu UI”.
    • Added “Restart” script –
      This script is attached to the “Restart” button from the “Pause Menu UI” GameObject, and with its OnMouseDown function it reloads the game via a SceneManager.LoadScene function upon being clicked on.
    • Added “Quit” script –
      This script is attached to the “Exit” button from the “Pause Menu UI” GameObject, and with its OnMouseDown function it quits the game via an Application.Quit function upon being clicked on.
    • Edited “CameraController” script –
      This edit added several considerably large changes to the game. The first of which is a complete revamp for the game’s Camera, a change that completely gets rid of the Scrolling In/Out Camera Zoom mechanic, and replaces it with an automatic zooming system that changes the camera’s OrthographicSize depending on what the player is doing. Upon pressing “M” for example, the camera will now zoom out into the game’s map in dramatic fashion, not only clearly showcasing the player’s current location and scale with the game’s Solar System, but also looking damn cool while it does it. The camera also zooms in while the player is in control of the “OnFoot” astronaut, and out slightly when piloting the “Fortitude” (when within or remotely).
      This edit also adds a new mechanic to planetary landing; camera shaking. When entering a planets atmosphere and attempting landing (note; this does not occur within gas giants) the camera will begin to shake, giving the visual impression of winds/gravity/general danger. This shaking will increase the closer the player gets to the surface, but will smooth out once they hit the thick cloud layer.
    • Edited “OrbitTransfer” script –
      This edit introduces a few small changes and additions to Fortitude. Firstly, a new function has been added that controls the lighting of a planetary surface. While above the thick cloud layer, no lighting will show, but after travelling through it and entering final landing stages, the player will notice light coming from above that gets brighter as they clear the atmosphere, giving the visual impression of sunlight.
      This edit also changed some of the behind-the-scenes functions for planetary landing, specifically the camera changes that occur as the player enters a planet’s atmosphere. With the new camera mechanic (see CameraController for more info) upon atmospheric entry the camera is switched from the map to a view of the “Fortitude” ship, which then zooms in considerably. This change makes the camera very zoomed in on the ship while landing, giving the event quite a claustrophobic feel as the player (for the most part) cannot see what it going on around them except for a few clouds or glances of wind. They must instead rely on the distance counter (that tells them how many metres there are until they hit surface) and the trajectory line in order to land.
      Overall, this function makes landing far scarier and nerve-racking than it was previously, as well as quite a lot more realistic (in 1969, the Apollo 11 astronauts couldn’t see much either).
    • Edited “Asteroids” script –
      This edit added functions for the brand new “Asteroid Field” GameObjects. It controls a significant portion of the environmental events that occur while the player is within an Asteroid Field, for example holding the small cluster of “Asteroids” from moving until the player is within the “Fuel Cloud” in the centre of the field, at which point the cluster is released and havoc then ensues.
      This edit also destroys various “Asteroid” GameObjects upon collision with eachother or other planetary debris, for realistic as well as optimisation-based reasons.
    • Edited “Optimisation” script –
      This edit added various functions that increased optimisation and framerate for the game, including disabling “Asteroid Field” Rigidbody2D’s upon high distance from the player as well as disabling and enabling different elements of other GameObjects upon various proximities to eachother or the player.
    • Edited “Sounds” script –
      This edit added more placeholder Sound Effects into the game (found on YouTube). The most notable of which is the new “wind” sound that plays (and increases in volume) as the player lands on a planetary surface. This new sound adds considerable atmosphere to the event, as well as making it quite a lot more eerie.


Bugfixes/Improvements –

  • Fixed a bug that has been plaguing the game for a while now, where sometimes upon dying and the “Game Over UI” screen being displayed, the player would be unable to restart the game via pressing the “L” key. This was caused by the game restart function being in the “SpaceNavigation” script, which is attached to the “Fortitude” ship GameObject and so is destroyed along with the ship upon death, making the restart function within the script unusable. This was fixed twice (as the death system needed a revamp anyway) by changing the death system so that it set the “Fortitude” ship and “OnFoot” astronaut GameObject’s to be inactive rather than destroyed, and by moving the restart function into the camera-attached “CameraController “script”.
  • Fixed a bug where the “Elcalowda Moon” GameObject would light up like a Christmas tree at certain points in its orbit around “Elcalowda”, and then rapidly fade back out into darkness. This was caused by the “Elcalowda Moon” GameObject passing directly through the position of the individual light source for “Elcalowda”, resulting in it getting so lit up it looked like a Sun. Due to the rather precarious placement of the lights (i.e. they cannot be moved, like at all otherwise everything messes up) this bug was fixed by disabling the effects of lighting on the “Elcalowda Moon” GameObject entirely, as the GameObject is rather small so lighting isn’t all that necessary for it anyway.
  • Fixed a bug where sometimes the “Resume”, “Restart” and “Quit” buttons within the “Pause Menu UI” GameObject were not clickable upon enabling the game’s Pause Menu. This was caused by the clickable GameObjects being at exactly 0 on the z-axis, meaning that sometimes (and only sometimes, weirdly) they would be overlayed with other GameObjects that were also placed at 0 on the z-axis, resulting in them getting in the way and making the buttons unclickable. This was fixed by moving the various GameObjects from 0 to 9 on the z-axis.
  • Fixed a bug where upon pressing the “M” key, the new map-camera-zoom system would not enable, and so the player could not view the game map. This was caused by a few rogue lines of code in the “FootNavigation” script that set the camera’s zoom level depending on whether they were in vehicle or not. Said lines of code were mistakenly placed within a boolean rather than within a keypress function, so were continuously called instead of being called once, which was essentially disabling the camera entirely. This was fixed by moving the lines of code from the boolean function into a keypress function.
  • Fixed a bug where upon appearing once the player’s fuel level hit 40% for the first time, the “Refueling Tutorial UI” GameObject would appear on the player’s screen as normal, but could not then be disabled upon the “T” key being pressed. This was caused by a few lines of code within the “Tutorials” script that weren’t checking to see if a tutorial had been enabled outside of a “T” toggle keypress, so as a result weren’t recognising a tutorial being present onscreen. This was fixed by adding a few lines of code to the script that checked for enabled tutorials as well as “T” keypresses.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s