All of the Minigames follow the same basic template:
################################################################################## # Config ################################################################################# minigame_countdown_speed:MEMORY["mgspeed"].value ################################################################################# # View Callback ################################################################################# on view do ################################################################################# # Reset The Minigame ################################################################################# if save.widgets["isdirty"].value = 0 MEMORY["iswin"].value:0 timer.value: 800 play_music["music_tense"] save.widgets["isdirty"].value:1 end ################################################################################# # Minigame Events ################################################################################# ################################################################################# # Run on Win ################################################################################# if MEMORY["iswin"].value if !MEMORY.r1.value MEMORY.r1.value:1 sfx["winsound"] end end ################################################################################# # Countdown The Timer ################################################################################# timer.value:timer.value-minigame_countdown_speed ################################################################################# # If win speed up timer ################################################################################# if MEMORY["iswin"].value timer.value:timer.value-minigame_countdown_speed*2 end ################################################################################# # TImer Text ################################################################################# if timer.value<300 timer.format:"Hurry Up!!!" else timer.format:"Game Time Remaining" end ################################################################################# # Out of time ################################################################################# if timer.value ! 0 go[card] elseif timer.value = 0 go[mg_parent] end end
- We keep track if this is a fresh view of the card
- If it is, we reset the minigame actors
- We loop the card script until the timer runs out
- During this we track if they won the minigame so we can take away a life if they did not.
- If the player wins, we make the timer go down faster
All of the minigame ideas come from the contraption collections and the collision check from the decker documentation.