A Tutorial, Polish & Space Coral


Introduction

In 'Space Whales, Game Progression & More Dialogue' I said that I was planning on making a tutorial and finishing four small tasks by the next devlog, being:

  1. Long range scopes variety.
  2. More sound effects.
  3. Export presets.
  4. Consolidation of tweak-able parameters in code.

I managed to succeed in everything but export presets and some sound effects. I did dust off an old NIKON F series camera, recorded several takes of its shutter sound, and added the recordings to the game for the Long Range Scopes module - but I don't think enough new sounds were added overall for the initiative to be considered a success.

My priorities shifted a bit too much for comfort since the last devlog, so along with the tutorial and updates to the Long Range Scopes module, two additional topics will be covered here:

  1. Wormhole traversal minigame.
  2. Dialogue improvements.

Long Range Scopes Updates

I have significantly updated the Long Range Scopes module since the last devlog:

  1. Space coral is now in the game.
  2. Bestiary is now in the game. Allows for information about all discovered entities to be viewed. Right now it looks barren, but I aim to add more entities in the future.
  3. Different entities (e.g, space whales and space coral) can now have their own reward curves. Space whales give a higher reward for size than space coral.
  4. Photo taking sound effects (thanks to the dusty NIKON camera).
  5. Range-finding camera mode, which shows the vertical size of all entities on screen.



Range-finding camera mode

Wormhole Traversal Minigame 

This idea was spontaneous, to say the least - but the theory behind it is important. I felt like the act of mapping star systems was stressful, and that the stress would gradually increase as you got further into the game. In other words, I felt like there was a linear relationship between stress and time. I heard somewhere that games need an oscillating stress level - e.g, stress decreases when in the presence of a bonfire in Dark Souls, increases for the time it takes to get to the next bonfire, repeat. To remedy this linear relationship, I thought to add a minigame for every wormhole traversal; not only with the goal of stress level oscillation, but also to make the act of mapping a star system feel more like a reward, rather than a chore.

My original idea for the gameplay was that it would involve balancing speed and distance as you approached - like supercruise in Elite Dangerous


In practice, I couldn't get this to work intuitively, so I leaned more towards a 'click-button-at-right-time' kind of minigame.

The latest version of the wormhole traversal minigame.

Earlier, I decided that each wormhole traversal would incur 10% hull stress. If the player presses the 'BRAKE' button before the green area, in the red area, or doesn't press it at all, the traversal incurs 20% hull stress.

I am very proud of the wormhole shader - I had to re-learn Godots version of GLSL ES to make it, and I think it turned out nice. It starts with a base pink, adds shifting dark patches with noise, applies a normal map derived from the inverse of the dark patch noise (presumably not great practice, but I think the artefacts it produces are fitting for a wormhole) and adds a star texture to the meshes radiance. For reference, this was the original mockup:

I would be lying if I said that I was completely happy with how the wormhole traversal minigame turned out. How it creates the green and red areas isn't that smart, and leads to stupidly easy gameplay for most of a run. The punishment for loosing also seems too insignificant to make the player more stressed. I plan to fix the generation soon, but currently have no ideas on how to make the punishment for loosing more severe (or at least make it seem more severe to the player). Overall, it needs some work.

Dialogue Improvements

These are some miscellaneous improvements to the dialogue system since the last devlog:

  1. Previous dialogue text can now be read. This was not the case in the past, mainly due to my failure to make the text scroll downwards when content was appended. As it turns out, the Godot RichTextLabel node has in-built functionality for this, saving me a lot of trouble.
  2. Dialogue options are now cleared automatically. Before, I had to manually clear the options with each rule, but it turns out that I can just clear all of the options after an option is selected, as there is no scenario where that shouldn't happen.
  3. Morale can now be increased or decreased via dialogue.
  4. Some anomalies now discover a random planet within the players current star system, hopefully making mapping a system a bit easier. 
  5. The main cast of characters (First Officer Rui, Chief Engineer Jiya, Security Officer Walker and Medical Officer Febris) now have introductions at the start of the game. These introductions reveal the personality and flaws of the characters, which I aim to expand on later.

Walkers introduction, displaying the ability to read previous dialogue text.

Tutorial

Making a tutorial is always something that I dread. This is due to a split between the prospect of explaining gameplay in a way new players will understand, and because it requires deceiving all of the systems built exclusively for the game. My game was never meant to have manually created star systems, so I had to spend an hour copying values from randomly generated planets and stars in the game, and pasting them into a home-made star system object in my file system. This was the main challenge; perseverance. Thankfully, with a few lines of code to load the former as the players current star system, a few dialogue overrides, and a lot of writing, the tutorial was working.


However, issues quickly arose when I asked a family member to play-test the tutorial. I had somehow fallen for the assumption that the player would be a robot, perfectly following the instructions I had laid out for them - this was definitely not the case. The tutorial requires the player to discover a planet and then a wormhole - however, if the player was to scan a few degrees higher than requested, they would discover both at the same time, skipping about half of the tutorial in the process. To fix this, I had to implement a series of overrides to stop bodies from showing up on any device until the earlier stages of the tutorial were completed.

Overall, I am happy with how the tutorial turned out. It definitely has too many words, but it SHOULD be successful in teaching players the basics of the game.

What Next

I recognise my claim that 'most of the features needed for an alpha build are finished' last devlog was a tad optimistic, making the following claim rather ironic: I plan to release the alpha build by either the 17th of December, or the end of December. 

Before that, I need to achieve eight main tasks:

  1. Mini tutorials for modules bought at stations, since the gameplay of the Audio Visualiser and Long Range Scopes modules is certainly not self explanatory.
  2. Export presets. Desktop icons and the rest of the checklist. I'd like to export the game to both Windows and MacOS.
  3. An options menu, allowing for some keybinding and display customisation. 
  4. Visual improvements for all of the menus which still use the default Godot theme; the win/loose popups, main menu and pause menu. I'd also like a view of previous dialogue choices somewhere in the pause menu, if possible. 
  5. More in-game random discoveries (events) of substance.
  6. Smarter wormhole mini-game generation.

Thank you for taking the time to read this devlog.

Leave a comment

Log in with itch.io to leave a comment.