-
Notifications
You must be signed in to change notification settings - Fork 198
Open
Description
cinematic.gd was designed to be used in non-interactive cutscenes, like the main game intro (with concept art) and the outro cutscene of the Musican LoreQuest.
It is now being used in some interactive StoryQuest scenes to show narration or dialogue at the start of the screen, plus the first of each set of Sokoban puzzles. But several other game elements can also play dialogue in this way:
fill_game_logic.gdhas optional intro dialogueeternal_loom.gdplays dialogue at the start of the scene in the case where you have just completed the sokoban puzzles
And there are other elements that unexpectedly have dialogue attached, e.g. collectible_item.gd can optionally play dialogue and then switch to a new scene. (Actually so can the loom.)
Also its name has been found to be confusing!
I wonder if we can generalise cinematic.gd a little:
- Rename it to DialoguePlayer
- Add
@export var autoplay: bool = true - Add
func play() -> void - Add
signal finished
Then:
- Remove the dialogue from fill_game_logic. Instead add a DialoguePlayer node to those scenes, with autoplay enabled, and connect its
finishedsignal tostarton the FillGameLogic - Remove the dialogue and next scene properties from collectible. Instead add a
collectedsignal to it, and collect it toplay()on a DialoguePlayer node in the same scene.
The DialoguePlayer node would continue to handle switching scene.
XP Summary (total 375)
| Subdomain | Skill | XP |
|---|---|---|
| Engineering: Gameplay & Systems Programming | Problem Solving | 150 |
| Engineering: Gameplay & Systems Programming | Creativity & Design Thinking | 75 |
| Engineering: Gameplay & Systems Programming | Technical Literacy | 150 |
manuq
Metadata
Metadata
Assignees
Type
Projects
Status
Todo