Conversation
|
Play this branch at https://play.threadbare.game/branches/endlessm/rewoven2/. (This launches the game from the start, not directly at the change(s) in this pull request.) |
|
Opening a draft for now with step 1 of #2675 which is the easy part. I'm still figuring the best way to build an array of cutscenes to show in actual levels from the QuestProgressUnlockers. Maybe there is no other way than centralizing the dependency information. |
| var cutscene_path: String = cutscene_paths.pick_random() | ||
| var load_error: Error = ResourceLoader.load_threaded_request(cutscene_path) | ||
|
|
||
| GameState.global.facts.rewoven_cutscenes = [cutscene_path] |
There was a problem hiding this comment.
Note: this generic fact is placeholder, while I figure out a way to generate an array of cutscenes to display using actual quest unlockers.
There was a problem hiding this comment.
I'm marking this PR as ready for review to do the first part of the ticket (actually switch to the scene existing cutscenes, not new ones in the world). Should I leave this as an Array?
|
With the transition effects already applied in the actual world #2699 (done, pending review), I still trying to figure out how to show them in sequence upon loom interaction.. Should the quest be marked completed / incompleted multiple times? Should a "fake" transition happen? I guess I'll need a centralized list of quest dependencies -> scenes + camera + quest unlocker within scene. |
Using SceneSwitcher, and then back to Fray's End. Helps #2675
This is not needed anymore.
wjt
left a comment
There was a problem hiding this comment.
Looks good, I think this is much simpler.
I pushed an extra patch to keep the background music playing, same music as Fray's End. I think what we actually want is to change to a different, more triumphant clip, e.g. res://assets/first_party/music/Threadbare Loop_Main_Bridge_02.ogg or res://assets/first_party/music/Threadbare Loop_Main_Cresendo_01.ogg, and then pick up where we left off in res://assets/first_party/music/Threadbare_Bed.ogg.
But... I think that will need some special attention with the future change to have the cutscenes be embedded in real scenes, so I think that can wait for now.
| # SPDX-FileCopyrightText: The Threadbare Authors | ||
| # SPDX-License-Identifier: MPL-2.0 | ||
| extends AnimationPlayer | ||
|
|
||
|
|
||
| func _ready() -> void: | ||
| animation_finished.connect(_on_animation_finished) | ||
|
|
||
|
|
||
| func _on_animation_finished(_anim_name: StringName) -> void: | ||
| # Go back home. Usually Fray's End and next to the Eternal Loom: | ||
| var home_scene: String = ThreadbareProjectSettings.get_setting( | ||
| ThreadbareProjectSettings.HOME_SCENE | ||
| ) | ||
| SceneSwitcher.change_to_file_with_transition( | ||
| home_scene, "", Transitions.Effect.FADE, Transitions.Effect.FADE | ||
| ) |
There was a problem hiding this comment.
Another way to do this would be to put a SceneLink into each cutscene, pointing at HOME, and connect finished to its switch. I think this is fine though, particularly since we'll surely iterate on this to e.g. play multiple cutscenes.
There was a problem hiding this comment.
Oh I like that more! I'll open a follow up PR.
Good point on letting the music continue! Thanks for the patch. Yeah we can revisit how a world being rewoven should sound like in the future. |
On loom interaction, change the cutscene to use SceneSwitcher, actually switching from Fray's End back and forth, not displayed in an overlay.
This is part one of #2675
Helps #2675
Fix #2700