Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines
(+1)

Here's another idea: define this helper function in the deck-level script:

on qa ...x do
 a:raze table 2 window 1 drop x
 r:dd.ask[first x keys a]
 dd.say[(range a)[r].value]
 r
end

It takes a prompt and then alternating pairs of choices and references to the field containing the ensuing scene, allowing you to write that main script like:

on click do
 o.size:180,0
 o.pos:"pos2"
 o.osound:"click"
 o.asound:"click"
 o.tsound:("talk1","moan2","talk3")
 o.speed:3
 dd.style[o]
 dd.open[deck o]
 dd.say[script.value]
 r:qa["What were you looking for?"
  "You."                  ask 
  "Love"                  ask3
  "What are you reading?" ask4
  "Nevermind..."          ask5
 ]
 if r~0
  qa["Sarah: and now the site doesn't get much traffic."
   "Why did it go down?"                                  ask6
   "You do seem like you'd have a low satisfaction score" ask2
   "*say nothing*"                                        ask5
  ]
 end
 dd.close[]
 pt.clear[]
end

Anywhere your code has repetitive patterns, there's a chance that a helper function could make things more concise and easier to edit.