Add cross timeline interaction gym
This commit is contained in:
@@ -0,0 +1,72 @@
|
||||
# ============================================================
|
||||
# Pattern 8: Dynamic Label Jump (Variable as Jump Target)
|
||||
# ============================================================
|
||||
# The value of a variable is used as the label to jump to.
|
||||
# This creates a state-machine-like flow controlled by data.
|
||||
# ============================================================
|
||||
|
||||
label start
|
||||
|
||||
join Miko center
|
||||
|
||||
Miko (neutral): This pattern uses a variable's VALUE as the jump target.
|
||||
Miko (smile): Let me show you with a time-of-day example.
|
||||
|
||||
# Set the variable that will drive the jump
|
||||
# In a real game, this might be set by a clock system
|
||||
set {Gym.time_of_day} = "morning"
|
||||
|
||||
Miko (neutral): The variable `Gym.time_of_day` is set to "{Gym.time_of_day}".
|
||||
Miko (joy): Now watch: I'll jump to a label with that exact name.
|
||||
|
||||
# This jump target is resolved at runtime from the variable
|
||||
jump {Gym.time_of_day}
|
||||
|
||||
# ---- Labels act as states ----
|
||||
|
||||
label morning
|
||||
Miko (joy): Good morning! The sun is rising over the hills.
|
||||
Miko (smile): Birds are singing, and the air is crisp and fresh.
|
||||
[wait time="1.5"]
|
||||
jump after_demo
|
||||
|
||||
label afternoon
|
||||
Miko (neutral): It's a warm afternoon. The sun is high.
|
||||
Miko (smile): A perfect time for adventuring!
|
||||
[wait time="1.5"]
|
||||
jump after_demo
|
||||
|
||||
label evening
|
||||
Miko (doubt): The sun is setting. Shadows grow long.
|
||||
Miko (neutral): We should find shelter before night falls.
|
||||
[wait time="1.5"]
|
||||
jump after_demo
|
||||
|
||||
label night
|
||||
Miko (shock): It's dark out here! The stars are beautiful but eerie.
|
||||
Miko (doubt): I can barely see the path ahead...
|
||||
[wait time="1.5"]
|
||||
jump after_demo
|
||||
|
||||
# ---- Wrap-up ----
|
||||
|
||||
label after_demo
|
||||
|
||||
join Advisor right
|
||||
|
||||
Advisor (pl5): The jump target was `{Gym.time_of_day}` — resolved at runtime!
|
||||
Advisor (pl5): This is incredibly powerful for:
|
||||
Advisor (doubt): • Time-of-day systems
|
||||
Advisor (doubt): • Quest state machines
|
||||
Advisor (doubt): • Chapter/scene routing
|
||||
Advisor (doubt): • Any narrative that follows a data-driven flow
|
||||
|
||||
[wait time="2.0"]
|
||||
|
||||
Miko (smile): You can also combine it with timeline names.
|
||||
Advisor (pl5): Use one variable for the timeline and another for the label.
|
||||
Advisor (surprise): Making it possible to route ANYWHERE from a variable.
|
||||
|
||||
[wait time="1.5"]
|
||||
|
||||
jump gym_main/menu
|
||||
Reference in New Issue
Block a user