Hi there! This proof-of-concept is an attempt to use turn-based strategy mechanics in a narrative sequence. ''BASICS:'' - You have a limited number of ACTIONS you can perform before the sequence ends. - There are 2 types of ACTIONS: DECISIONS and CHOICES. - DECISIONS lead to the end of a sequence. - CHOICES have an influence on the outcome of your DECISIONS. - There's no "good" DECISION. [[START->Intro]] { (set: $Actions to 4) (set: $SaveDan to 50) (set: $KillDan to 50) (set: $Why to false) (set: $Lower to false) (set: $Aim to false) (set: $Wound to false) (set: $Insult to false) } ####Actions left: (print: $Actions) Vietnam War, 1972. Travis (20), an American soldier, was standing in the middle of a dense jungle with his rifle in hands. A few steps away, Dan (20), a North-Vietnamese soldier, was floundering in the mud and moaning. One of his swollen bare shin was bent into an impossible angle. (display: "Choices Menu") { <table> <tr> <td class="choices">CHOICES :<BR> (if: $Why is false)[(link:"'Don't move!' shouted Travis.")[(if: $Actions > 1)[(goto:"Why")](else:)[(goto:"End SAVE")]]](else:)['Don't move!' shouted Travis.] (if: $Aim is false)[(link:"Travis aimed his rifle at Dan.")[(if: $Actions > 1)[(goto:"Aim")](else:)[(goto:"End SAVE")]]](else:)[Travis aimed his rifle at Dan.] (if: $Lower is false)[(link:"Travis lowered his rifle.")[(if: $Actions > 1)[(goto:"Lower")](else:)[(goto:"End SAVE")]]] (else:)[Travis lowered his rifle.] (if: $Why is true)[(if: $Actions > 1 and $Insult is false)[(link:"Travis insulted Dan.")[(goto:"Insult")](elseif: $Actions <= 1 and $Insult is false)[(goto:"End SAVE")]] (elseif: $Why is true and $Insult is true)[Travis insulted Dan.]] (elseif: $Aim is true)[(if: $Actions > 1 and $Insult is false)[(link:"Travis insulted Dan.")[(goto:"Insult")](elseif: $Actions <= 1 and $Insult is false)[(goto:"End SAVE")]] (elseif: $Aim is true and $Insult is true)[Travis insulted Dan.]] (elseif: $Aim is true and $Why is true)[(if: $Actions > 1 and $Insult is false)[(link:"Travis insulted Dan.")[(goto:"Insult")](elseif: $Actions <= 1 and $Insult is false)[(goto:"End SAVE")]] (elseif: $Aim is true and $Why is true and $Insult is true)[Travis insulted Dan.]] (if: $Lower is true)[(if: $Actions > 1 and $Wound is false)[(link:"Travis took a closer look at Dan's wound.")[(goto:"Wound")](elseif: $Actions <= 1 and $Wound is false)[(goto:"End SAVE")]] (elseif: $Lower is true and $Would is true)[Travis took a closer look at Dan's wound.]]</td> <td class="decisions">DECISIONS :<ul><li>(link:"Travis tried to save Dan.")[(goto:"End SAVE")] $SaveDan % to succeed</li></ul> <ul><li>(link:"Travis tried to kill Dan.")[(goto:"End KILL")] $KillDan % to succeed</li></ul></td> </tr> </table> } {(set: $Actions to $Actions - 1) (set: $Why to true) (if: $Actions is 3)[ (set: $SaveDan to it + 10) (set: $KillDan to it + 10) ] (elseif: $Actions is 2)[ (set: $SaveDan to it + 5) (set: $KillDan to it + 5) ] } ####Actions left: (print: $Actions) (if: $Actions > 1)[Dan froze and looked at Travis with watery eyes : "I don't want to die! Please!"]\ (else:)[Dan sighed and slowly shooked his head. He glanced at a crinkled flower nearby, stained with dirt. "I'm so sorry, love..." Dan mumbled for himself in Vietnamese, a sad smile on his emaciated face.] (display: "Choices Menu") (set: $SaveDanSuccess to (random: 1, 100)) (if: $SaveDanSuccess < $SaveDan and $Actions > 1)[Travis did his best to fix Dan's leg, and carried him on his shoulder.] (else:)[There was nothing Travis could have done for Dan. He stepped away, leaving the Vietnamese soldier alone and hopeless.] {(set: $Actions to $Actions - 1) (set: $Insult to true) (if: $Actions is 2)[ (set: $SaveDan to it - 10) (set: $KillDan to it - 5) ] (elseif: $Actions is 1)[ (set: $SaveDan to it - 5) (set: $KillDan to it + 5) ] } ####Actions left: (print: $Actions) (if: $Actions is 2)[Dan curled up as if he was beaten up by Travis's words. Tears flowed from his eyes. "I never wanted to be your enemy!" Dan cried desperately.](else:)[Dan spat bitterly on the ground, and sniffed: "Alone in this jungle, you're gonna die too, you know."] (display: "Choices Menu") {(set: $Actions to $Actions - 1) (set: $Aim to true) (if: $Actions is 3)[ (set: $SaveDan to it - 10) (set: $KillDan to it + 30) ] (elseif: $Actions is 2)[ (set: $SaveDan to it - 15) (set: $KillDan to it + 25) ] (elseif: $Actions is 1)[ (set: $SaveDan to it - 20) (set: $KillDan to it + 25) ] } ####Actions left: (print: $Actions) (if: $Actions >= 2)[Scared, Dan tried to flee, but slipped on the mucky grass, fell and gasped painfully.](else:)[Weakened, Dan did not even try to avoid Travis's sight. His weary eyes stared at the palm trees above him.] (display: "Choices Menu") {(set: $Actions to $Actions - 1) (set: $Wound to true) (if: $Actions is 2)[ (set: $SaveDan to it + 20) (set: $KillDan to it + 5) ] (elseif: $Actions is 1)[ (set: $SaveDan to it + 10) (set: $KillDan to it + 10) ] } ####Actions left: (print: $Actions) (if: $Actions is 3)[The Vietnamese man looked famished and exhausted, but his breath became steadier, and a glimpse of faint hope appeared in his crimson eyes. His left shin was still crooked in the most awful way, though.](else:)[The Vietnamese man looked barely conscious now, with his yellowish lids, twitching like soaked moths. His left shin was crooked in the most awful way; his skeletal body would not support him much longer.] (display: "Choices Menu") {(set: $Actions to $Actions - 1) (set: $Lower to true) (if: $Actions is 3)[ (set: $SaveDan to it + 10) (set: $KillDan to it - 10) ] (elseif: $Actions is 2)[ (set: $SaveDan to it + 10) (set: $KillDan to it - 10) ] (elseif: $Actions is 1)[ (set: $SaveDan to it + 5) (set: $KillDan to it - 5) ] } ####Actions left: (print: $Actions) (if: $Actions > 1)[Dan stared blankly at Travis, and tried to calm his breath. But the pain in his leg came back vividly; he cried loudly, clutching at his broken shin.](else:)[Dan looked at Travis with a hollow gaze; he seemed half-conscious and dangerously exhausted.] (display: "Choices Menu") ''ACTIONS'': - You start with a maximum number of ACTIONS you can carry out before the sequence automatically ends. - You can carry out each ACTION only once. ''DECISIONS'': - DECISIONS have a //success rate// influenced by the CHOICES you make (see below). - If you don't make any DECISION before the end of a sequence, the game will decide for you. :) ''CHOICES'': - CHOICES influence the //success rate// of your final DECISIONS in a positive or a negative way. - The order of your CHOICES is also important e.g., making a CHOICE before or after the other CHOICES will produce different results. //HINTS// - In "FRIENDS OR FOES", Dan's reactions are influenced by his mental/physical state. His mental/physical state degrades over time, but this degradation can be aggravated/nuanced by the CHOICES you make. - There is no "good" DECISION. - You can perform 4 ACTIONS... or less. [[Good luck!->Start]] :) (set: $KillDanSuccess to (random: 1, 100)) (if: $KillDanSuccess < $KillDan and $Actions is not 0)[Travis shot Dan's head. The whole jungle remained utterly silent for a brief moment.] (else:)[Travis shot, but missed Dan. The two soldiers stared at each other without blinking. The silence around them was thick and scary.]