Posted March 20, 2025 by ronynn
Originally, this game was built in Harlowe, Twine’s default story format. I ported everything to SugarCube, and it’s way more fun now.
In Harlowe, I had to use (either:)
inside the (goto:)
, which was a pain to debug. SugarCube lets me use:
<<set _next to either("week2", "week3", "week4")>> <<goto _next>>
This fixes a ton of issues where the wrong week would sometimes get selected or Harlowe would just break randomly.
Initially, the game crashed hard because "Death"
was looping back into PassageReady
, which kept triggering itself. SugarCube made it easier to fix with proper conditions:
<<if State.passage != "Start" and State.passage != "Bye" and State.passage != "Death">> <<set $s -= 700>> <<if $h <= 0 or $s <= 0 or $r <= 0>> <<timed 0s>> <<goto "Death">> <</timed>> <</if>> <</if>>
This stopped instant recursion crashes.
Porting this game from Harlowe to SugarCube was 100% worth it. The game runs smoother, feels more dynamic, and doesn’t randomly break when Twine decides it hates me.
If you love stress management, slow burnout, and making terrible choices under pressure, this game is for you.
Can you keep your hair, your fans, and your money?
Let’s find out.