Currently we only show input hints in a few places, e.g.:
- On the lower island of Fray's End, where you start the very first time you play (directions + interact)
- In the first round of ink combat ("repel")
- At the very start of the stealth challenge ("sprint")
As suggested in a number of places, e.g.:
I think we should show input hints at all times at the bottom of the screen, but only the relevant actions. So this would mean:
- Always show "[Shift] Run"
- When an interaction is possible, show the "[Space] Interact" prompt
- When repelling ink is possible, show the "[Space] Repel" prompt
- When grappling is possible, show those hints
- etc (I've probably forgotten some actions)
An open question: do we have to show the directions at all times? Or perhaps only at the very start of the game? It's pretty hard to forget how to move around, whereas it's easy to forget the other actions.
I would implement this as follows:
- Create a new scene at
scenes/ui_elements/input_hints/input_hud.tscn which contains all the possible hints (perhaps with some on the left and some on the right) and properties controlling whether they're visible
- These hints are already defined as scenes in scenes/ui_elements/input_hints
- Replace the instances of those individual hints in scenes like
frays_end.tscn with the unified input_hud.tscn
- Make the hints dynamic:
- Attach a script which in
_ready() finds the Player node (by looking at nodes in the player group)
- Connect to the
mode_changed signal on that node
- At scene start and whenever the mode changes, show or hide elements as needed
- Add
func can_interact() -> bool to player.gd and a signal for when its value changes, based on what player_interaction.gd thinks
- Connect to this signal too and adjust the visibility of the "interact" prompt
- Now add this scene to every remaining level
(I would work on this in at least those 3 stages, not all at once.)
The alternative is to make the HUD a global scene - it would work much the same way but would need to reload its state on every scene change.
XP Summary (total 750)
| Subdomain |
Skill |
XP |
| Game Design: Game Feel & UX |
Problem Solving |
75 |
| Game Design: Game Feel & UX |
Creativity & Design Thinking |
150 |
| Game Design: Game Feel & UX |
Technical Literacy |
150 |
| Engineering: Gameplay & Systems Programming |
Problem Solving |
150 |
| Engineering: Gameplay & Systems Programming |
Creativity & Design Thinking |
75 |
| Engineering: Gameplay & Systems Programming |
Technical Literacy |
150 |
Currently we only show input hints in a few places, e.g.:
As suggested in a number of places, e.g.:
I think we should show input hints at all times at the bottom of the screen, but only the relevant actions. So this would mean:
An open question: do we have to show the directions at all times? Or perhaps only at the very start of the game? It's pretty hard to forget how to move around, whereas it's easy to forget the other actions.
I would implement this as follows:
scenes/ui_elements/input_hints/input_hud.tscnwhich contains all the possible hints (perhaps with some on the left and some on the right) and properties controlling whether they're visiblefrays_end.tscnwith the unifiedinput_hud.tscn_ready()finds thePlayernode (by looking at nodes in theplayergroup)mode_changedsignal on that nodefunc can_interact() -> booltoplayer.gdand a signal for when its value changes, based on whatplayer_interaction.gdthinks(I would work on this in at least those 3 stages, not all at once.)
The alternative is to make the HUD a global scene - it would work much the same way but would need to reload its state on every scene change.
XP Summary (total 750)