Fortitude – Prototype 0.6 – Patch Notes

The “Quality of Life, First Of It’s Name” Update

This update is Fortitude’s first quality of life update, which essentially just means a large amount of bugfixing and general improvements to gameplay. For this update, a number of requested features from playtesting have been added or improved upon, and the remainder of the game’s planets have now been fully implemented.

0.6

Additions –

  • Controls –
    • “A” and “D” – Slows the Fortitude’s current rotational velocity to 0.

 

  • GameObjects –
    • Added “Rogue Planet” GameObject (Rigidbody2D, Circle Collider 2D, Line Renderer, Trail Renderer) –
      This is another of Josh’s fully designed planetary bodies; a dark, mostly barren world that orbits the “STAR” GameObject via the “rail-based” “Moons” script. This GameObject consists of multiple rotating layers (rotating via the “Asteroids” script) that give the visual impression of planetary rotation.
    • Added “Rogue Planet Moon” GameObject (Rigidbody2D, Circle Collider 2D, Line Renderer, Trail Renderer) –
      This is another of Josh’s fully designed Moons; a bright and flora-heavy world that orbits the “Rogue Planet” GameObject via the “rail-based” “Moons” script. This GameObject consists of multiple rotating layers (rotating via the “Asteroids” script) that give the visual impression of planetary rotation.
    • Added “Rika Moon 2” GameObject (Rigidbody2D, Circle Collider 2D, Line Renderer, Trail Renderer) –
      This is another of Josh’s fully designed Moons; an ice-covered, mountainous world that orbits the “Rika” GameObject via the “rail-based” “Moons” script. This GameObject consists of multiple rotating layers (rotating via the “Asteroids” script) that give the visual impression of planetary rotation
    • Added “Estabahn Moon” GameObject (Rigidbody2D, Circle Collider 2D, Line Renderer, Trail Renderer) –
      This is another of Josh’s fully designed Moons; a volatile and highly volcanic world that orbits the “Estabahn” GameObject via the “rail-based” “Moons” script. This GameObject consists of multiple rotating layers (rotating via the “Asteroids” script) that give the visual impression of planetary rotation.
    • Added placeholder “RoguePlanetMoonSurface” –
      This placeholder GameObject acts as the “surface” of the “Rogue Planet Moon”. The player can now land on and takeoff from this GameObject as a result of the “OrbitTransfer” script. Three empty GameObjects have also been parented to “RoguePlanetMoonSurface”, surrounding the GameObject in a square shape. Each has an On Trigger Circle Collider 2D attached to it, and colliding with them will cause the player to transform.position to just above the “Rogue Planet” GameObject.
    • Added placeholder “RikaMoonSurface” –
      This placeholder GameObject acts as the “surface” of “Rika”. The player can now land on and takeoff from this GameObject as a result of the “OrbitTransfer” script. Three empty GameObjects have also been parented to “RikaMoonSurface”, surrounding the GameObject in a square shape. Each has an On Trigger Circle Collider 2D attached to it, and colliding with them will cause the player to transform.position to just above the “Rika” GameObject.
    • Added placeholder “EstabahnMoonSurface” –
      This placeholder GameObject acts as the “surface” of “Estabahn’s Moon”. The player can now land on and takeoff from this GameObject as a result of the “OrbitTransfer” script. Three empty GameObjects have also been parented to “EstabahnMoonSurface”, surrounding the GameObject in a square shape. Each has an On Trigger Circle Collider 2D attached to it, and colliding with them will cause the player to transform.position to just above the “Estabahn” GameObject.
    • Added multiple placeholder “Asteroid” GameObjects (Rigidbody2D, Polygon Collider 2D) –
      These placeholder GameObjects act as random asteroids in the game, and have been placed at irregular intervals near to the player’s starting point in order to test how navigation through asteroid fields might work. Attached to said GameObjects is the “Asteroids” script, which enables them to rotate in a “drifting in space”-like fashion.
    • Edited “Elcalowda” GameObject (Rigidbody2D, Circle Collider 2D, Line Renderer, Trail Renderer) –
      Changed the planet’s orbital speed from 1 to 0.02.
    • Edited “Rika” GameObject (Rigidbody2D, Circle Collider 2D, Line Renderer, Trail Renderer) –
      Changed the planet’s orbital speed from 1.5 to 0.015.
    • Edited “Estabahn” GameObject (Rigidbody2D, Circle Collider 2D, Line Renderer, Trail Renderer) –
      Changed the planet’s orbital speed from 2 to 0.02.

 

  • Scripts –
    • Added “Optimisation” script –
      This script adds the first step towards game optimisation into Fortitude. If a GameObject is further than 1000 in-game units away from the player’s current location, their “Sprite Renderer” will disabled, thereby reducing the amount of GameObjects the game needs to render at any one time and so decreasing overall load on the CPU.
    • Edited “OrbitTransfer” script –
      This edit adds the landing/takeoff mechanic that was implemented in Prototype 0.5.5 to three more GameObjects, including the “Rogue Planet Moon”, “Rika Moon 2” and “Estabahn Moon”.It functions in exactly the same manner as with “Elcalowda” in the previous prototype, with the player being transported to the world’s “surface” via transform.position upon colliding with an On Trigger Circle Collider 2D in the upper atmosphere of said world, and then transporting back to above the world when colliding with the “surface” GameObject’s On Trigger Circle Collider 2D in it’s upper atmosphere.
      This edit also changes the gravityScale of the “Fortitude” ship depending on which world they are on. For “Elcalowda” and “Rogue Planet Moon” it is set at 0.25, and for “Rika Moon 2” and “Estabahn Moon” it is set at 0.1. Gravity on planets has also been added to the seperate “components” of the “Fortitude” GameObject, so that if they are disconnected from the ship (via the “Destruction” script) they will fall to the ground via gravity.
    • Edited “SpaceNavigation” script –
      This edit added a highly requested mechanic into the game; the ability for the player to completely negate their current rotational velocity. This is now achieved by holding down the “A” and “D” keys simultaneously, as upon pressing said keys, the reverse of the ship’s current angularVelocity will be applied; slowing the ship’s rotation down, but of course costing precious Fuel.

 

Bugfixes/Improvements –

  • Fixed a bug where upon travelling further than 10,000 in-game units (about the distance from the “STAR” GameObject to the “Elcalowda” GameObject) the “Fortitude” GameObject would begin to visually distort. This effectwould increase in intensity and levels of distortion the further the player travelled, which resulted in some near uncontrollable glitches around the 100,000 unit mark (where “Estabahn” usually resides). The exact cause for this visual glitch is unknown, although it is suspected to be something to do with PNG compression and the way Josh’s assets were imported into Unity. This was fixed accidentally, by changing the “Fortitude” sprites’ Mesh Type from “Tight” to “Full Rect”.
  • Fixed a bug where upon colliding with the “Diadem” planetary body the player (either inside the “Fortitude” or controlling the “OnFoot”) would not be destroyed, resulting in some unfortunate (and sometimes rather hilarious) gravitational slingshots and orbital glitches. This was caused by the “Diadem” GameObject being untagged, something that must have been overlooked during it’s initial implementation in Prototype 0.4. This was fixed by changing the tag of “Diadem” to “space”, which is then called in the “shipDeath” script to destroy the player upon collision at a velocity higher than 10.
  • Fixed an issue where during periods of negligible movement speeds, the GUI of the game would display the player’s current speed as a number similar to 0.0000000001m/s. This while not especially game-breaking was a source of annoyance, as the long number would take up much of the game’s UI and screen. This was caused by the “SpeedGUI” script displaying the exact Rigidbody2D-based velocity of the “Fortitude” GameObject, down to very specific decimal places. This was fixed by adding lines of code to the “SpeedGUI” script that made it so that upon lowering to less than 0.01m/s, the player’s current speed will be displayed simply as 0.

 

Leave a Reply

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

WordPress.com Logo

You are commenting using your WordPress.com 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