Hi there!
Are you interested in interactive stories?
[[Yes!->Notsofast]]
[[No ->wantgames]]
(set: $playstory to 0)
(set: $playbomb to 0)
(set: $playfight to 0)
(set: $winstory to 0)
(set: $winbomb to 0)
(set: $winfight to 0)
(Set: $bronzekey to 0)
(Set: $silverkey to 0)
(Set: $goldkey to 0)
(Set: $end1 to 0)
(Set: $end2 to 0)
(Set: $end3 to 0)
(Set: $end4 to 0)
(Set: $end5 to 0)
(Set: $end6 to 0)Welcome to BRANCHES, a Shanghai Twine Community!
I'm Mike Ren and I hope you enjoyed playing through this game. Are you curious about how it works? because...
Branches is offering a workshop on interactive storytelling! Join the workshop to learn how to make stories like the one you just played. By the end of this workshop, you'll have your first interactive story published on the internet!
I know it's a lot to take in, so I'll allow you some questions. Ask away!
[[Who are you? ->Who]]
[[What is Twine? -> What]]
[[When and Where? -> When]]
[[Why are you doing this? ->Why]]
[[How will I learn? -> How]]
(if: $end1 is 1 and $end2 is 1 and $end3 is 1 and $end4 is 1 and $end5 is 1 and $end6 is 1)[(goto: "Finalpromp")]
What's a *game* you ask?
It's simple, **this** is a game.
[[This isn't a game ->notagame]]
[[Okay, tell me everything. ->Notsofast]]Sure it is. You have choices and you make decisions with consequences.
[[But there's no graphics... -> graphics]]
[[There's no gameplay... -> no gameplay]]How's this?
This is you.
(set: $imageselection to 0)
<img src="https://branches.neocities.org/images/poop.png" alt="poop" border="0" height="200" width="200">
[[Wow. Those are crap graphics ->crapgraphics]]
[[cute! Let's continue ->Ask for a story]]
(set:$selectedbefore to 0)You want gameplay? Let's play a game.
[[Yay! ->startchallenge]]
[[No ->difficultperson]]*Tick tock, tick tock.*
You find yourself in the middle of People's Square. A **MAKESHIFT BOMB** is strapped to you! The silver wire cutters are in your hands. There are cute animals and children everywhere, clueless to the immediate danger. This might be the last thing you see.
{(if: $examinestatered is 0 and $examinestateblue is 0 and $examinestateyellow is 0 )[
There's a ton of wires, at first glance you see:
](else-if: $examinestatered is 1 and $examinestateblue is 1 and $examinestateyellow is 1 )[
After examining all the wires, something pops out at you. You spot a hidden purple wire!
](else:)[
God...there's so many wires, you currently see:
]
}
[[Red wire ->redwire]]
[[Blue wire ->bluewire]]
[[Yellow wire ->yellowwire]]
(if: $examinestatered is 1 and $examinestateblue is 1 and $examinestateyellow is 1 )[[[Purple Wire ->PurpleWire]]]
[[Wait! No! Get me out of here! ->Nogameplay]]
======================================================================
You have (css: "color: red; font-size: 250%") |amount>[$counter] seconds left!
{
(if:$cutbluewire is 1)[
(live: 0.75s)[
(set: $counter to it - 1)
(if: $counter <= 0)[(go-to: "Bombgameover")]
(replace: ?amount)[$counter]
]] (else:)[(live: 1s)[
(set: $counter to it - 1)
(if: $counter <= 0)[(go-to: "Bombgameover")]
(replace: ?amount)[$counter]
]]}Red... why red? Oh god now is **NOT** the time to overthink things...
{(if: $cutredwire is 0)[
[[Cut it! ->cutredwire]]]}
[[Look Closer->Lookatit]]
[[Back ->Game]]
======================================================================
You have (css: "color: red; font-size: 250%") |amount>[$counter] seconds left!
{
(if:$cutbluewire is 1)[
(live: 0.75s)[
(set: $counter to it - 1)
(if: $counter <= 0)[(go-to: "Bombgameover")]
(replace: ?amount)[$counter]
]] (else:)[(live: 1s)[
(set: $counter to it - 1)
(if: $counter <= 0)[(go-to: "Bombgameover")]
(replace: ?amount)[$counter]
]]}Blue? maybe blue is cool? Now is **NOT** the time to be making dad jokes.
{(if: $cutbluewire is 0)[
[[Cut it! ->cutbluewire]]]}
[[Look closer ->Lookatitblue]]
[[Back ->Game]]
======================================================================
You have (css: "color: red; font-size: 250%") |amount>[$counter] seconds left!
{
(if:$cutbluewire is 1)[
(live: 0.75s)[
(set: $counter to it - 1)
(if: $counter <= 0)[(go-to: "Bombgameover")]
(replace: ?amount)[$counter]
]] (else:)[(live: 1s)[
(set: $counter to it - 1)
(if: $counter <= 0)[(go-to: "Bombgameover")]
(replace: ?amount)[$counter]
]]}
Yellow??? I guess I can't go wrong with *yellow*..
{(if: $cutyellowwire is 0)[
[[Cut it! ->cutyellowwire]]]}
[[Look closer ->Lookatityellow]]
[[Back ->Game]]
======================================================================
You have (css: "color: red; font-size: 250%") |amount>[$counter] seconds left!
{
(if:$cutbluewire is 1)[
(live: 0.75s)[
(set: $counter to it - 1)
(if: $counter <= 0)[(go-to: "Bombgameover")]
(replace: ?amount)[$counter]
]] (else:)[(live: 1s)[
(set: $counter to it - 1)
(if: $counter <= 0)[(go-to: "Bombgameover")]
(replace: ?amount)[$counter]
]]}**"TICKING CLOCK"**
*A Twine Puzzle Game*
By Prince Charles
[[Begin ->Game]]
(set: $counter to 60)
(set: $examinestatered to 0)
(set: $examinestateyellow to 0)
(set: $examinestateblue to 0)
(set: $cutredwire to 0)
(set:$cutbluewire to 0)
(set: $cutyellowwire to 0){(if:$selectedbefore >= 1)[Changed our minds?]
(else:)[Yes. Yes it is.]}
[[Give me something hot ->somethinghot]]
[[Give me something sexy ->somethingsexy]]
[[Give me something cute ->somethingcute]]
[[I'll take the poop ->Storybegin]]
*A flash of past memories. A flash of a future that doesn't exist.*
(text-style:"rumble")[(css: "color: white; font-size: 500%")[**BOOM**]]
You've failed to defuse the bomb.
[[Try Again ->gameplaybomb]]
[[Quit ->gameovertext]]
You've received the SILVER KEY! A running timer is stressful no? Good thing it wasn't real... or is it?
- Prince Charles
(set: $playbomb to 1)
*If you were to make a puzzle, how would you design it differently? How long would you give the player to win?*
[[Replay this story ->startchallenge]]
[[Back to the Castle->startchallenge]]
(if: $winbomb is 0)[
[[Can you give me a hint on how to win? ->Hint]]]
==================================
PROGRESS:
{(if: $playbomb is 1)[
You've received the SILVER KEY!
(if: $winbomb is 1)[
You DEFUSED THE BOMB and received a CHEST KEY!
] (else:)[
But you have not won the puzzle to receive the Chest key.
]] (else:)[
You do not have the Silver Key yet.
]}
==================================You scream for it to stop, but it's useless...
Only the bomb remains.
[[Back ->Game]]
======================================================================
You have (css: "color: red; font-size: 250%") |amount>[$counter] seconds left!
{
(if:$cutbluewire is 1)[
(live: 0.75s)[
(set: $counter to it - 1)
(if: $counter <= 0)[(go-to: "Bombgameover")]
(replace: ?amount)[$counter]
]] (else:)[(live: 1s)[
(set: $counter to it - 1)
(if: $counter <= 0)[(go-to: "Bombgameover")]
(replace: ?amount)[$counter]
]]}{(if: $cutredwire is 0)[The red wire leads down, it's connected to a clear bottle of some weird liquid. Looking closer you can see more wires. You're not sure what would happen if you cut the red wire.]
(if: $cutredwire is 1)[You've cut the red wire and it's now detached from the clear bottle. However, the weird liquid inside is now bubbling. The liquid has a distinct acid smell to it. Not good. Wrong wire, but at least you can move the bottle and see more of the bomb]}
{(if: $cutredwire is 0)[
[[Back ->redwire]]]
(if: $cutredwire is 1)[
[[Back ->Game]]]
}
(Set: $examinestatered to 1)
======================================================================
You have (css: "color: red; font-size: 250%") |amount>[$counter] seconds left!
{
(if:$cutbluewire is 1)[
(live: 0.75s)[
(set: $counter to it - 1)
(if: $counter <= 0)[(go-to: "Bombgameover")]
(replace: ?amount)[$counter]
]] (else:)[(live: 1s)[
(set: $counter to it - 1)
(if: $counter <= 0)[(go-to: "Bombgameover")]
(replace: ?amount)[$counter]
]]}{(if: $cutbluewire is 0)[You look at the blue wire. It leads up to an old analog clock, the clock is ticking, its rhythm counting down you and everyone else's impeding doom. Looking closer, you can make out more wires in the bomb.]
(if: $cutbluewire is 1)[You've cut the blue wire. It's now detached from the old analog clock. Unfortunately, the clock is ticking **MUCH FASTER NOW**. Wrong choice, but now you can see more of the bomb.]}
{(if: $cutbluewire is 0)[
[[Back ->bluewire]]]
(if: $cutbluewire is 1)[
[[Back ->Game]]]
}
(Set: $examinestateblue to 1)
======================================================================
You have (css: "color: red; font-size: 250%") |amount>[$counter] seconds left!
{
(if:$cutbluewire is 1)[
(live: 0.75s)[
(set: $counter to it - 1)
(if: $counter <= 0)[(go-to: "Bombgameover")]
(replace: ?amount)[$counter]
]] (else:)[(live: 1s)[
(set: $counter to it - 1)
(if: $counter <= 0)[(go-to: "Bombgameover")]
(replace: ?amount)[$counter]
]]}{(if: $cutyellowwire is 0)[The yellow wire wraps around the bomb, it feel hot to the touch. Moving the yellow wire out of the way, you can make out more wires in the bomb. The yellow wire must be conducting some sort of electricity. For some reason, you feel like you should not be touching it.]
(if: $cutyellowwire is 1)[You've cut the yellow wire. The yellow wire immediately cools down. It must have stopped conducting electricity, however the timer is still going. Wrong choice, but you can see more of the bomb now.]}
{(if: $cutbluewire is 0)[
[[Back ->yellowwire]]]
(if: $cutbluewire is 1)[
[[Back ->Game]]]
}
(Set: $examinestateyellow to 1)
======================================================================
You have (css: "color: red; font-size: 250%") |amount>[$counter] seconds left!
{
(if:$cutbluewire is 1)[
(live: 0.75s)[
(set: $counter to it - 1)
(if: $counter <= 0)[(go-to: "Bombgameover")]
(replace: ?amount)[$counter]
]] (else:)[(live: 1s)[
(set: $counter to it - 1)
(if: $counter <= 0)[(go-to: "Bombgameover")]
(replace: ?amount)[$counter]
]]}You enter the complex. For some reason, you feel sweaty, like you don't belong here. You pass by a little security booth. There's a middle-aged Bao'an 保安 watching "The Voice of China" on his cellphone at full volume. He lights a cigarette. You try not to make eye contact, hoping to slip by.
Too late. He sees you and comes running out.
Bao'an: 嘿嘿嘿! 停下来!你去哪儿?
You say....
[[我去朋友家 ->goingtofriendshouse]]
[[Ting Bu Dong. ->donotunderstand]]
[[Sorry. I don't speak Chinese ->dontspeakchinese]]The sun is super hot.
<img src="https://branches.neocities.org/images/sun.jpg" alt="sun" border="0" height="200" width="200"> (set:$selectedbefore to 2)
[[Yes. Totally. Let's continue ->Storybegin]]
[[Not what I had in mind...->crapgraphics]]Reading is very sexy.
<img src="https://branches.neocities.org/images/readlowres.jpg" alt="readlowres" border="0"height="200" width="200">
[[Niceee...Let's continue ->Storybegin]]
[[Not what I had in mind...->crapgraphics]]
(set:$selectedbefore to 2)
cat = cute.
<img src="https://branches.neocities.org/images/catlowres.jpg" alt="catlowres" border="0"height="200" width="200">(set:$selectedbefore to 2)
[[Nice! this is totally me. ->Storybegin]]
[[Not what I had in mind...->crapgraphics]]你说:我去朋友家。
保安:朋友?谁?住哪里?
[[给他打电话 -> callfriend]]
[[他叫。。。 -> makeupname]]
[[Just kidding I don't speak Chinese->dontspeakchinese]]You: umm... wooo... ting bu dong..
Him: 啊?什么?你要是不住这里,不能进来。
{(if: $time is 0)[
[[Sorry... I should leave ->leave]]
](else-if:$time is 1)[
[[Sorry... I should leave ->stevenarrive]]
](else-if:$time is 2)[
[[Sorry... I should leave ->leave]]]
}
[[Try to bribe him ->BribePage]]
You: Sorry... I don't understand Chinese.
He looks you over, disgusted. It's obvious he's doesn't want you through.
[[Can I go through? ->trytocontinue]]
[[Try to bribe him ->BribePage]]Looks like that's the end of the party for you. You weren't able to make it inside.
{
(if: $inventory is 1)[
With the bottle of wine in your hand. You twist off the cap. Might as well drink on your way home.
](else-if:$inventory is 2)[
You pop open one of your beers. You take a sip, feeling kind of sad.
](else-if:$inventory is 3)[
You put your hands into your pocket. Back to the peasant life it is.]
}
[[The End ->end]] With a decisive wave of his hands. He says the only English he knows....
Bao'an: NO.
There's not much else you can do now.
{(if: $time is 0)[
[[Leave ->leave]]
](else-if:$time is 1)[
[[Leave ->stevenarrive]]
](else-if:$time is 2)[
[[Leave ->leave]]]
}我打个电话问一下?okay吗?
保安:不行不行。快走。快走。这是私人小区,明白么?
{(if: $time is 0)[
[[Leave ->leave]]
](else-if:$time is 1)[
[[Leave ->stevenarrive]]
](else-if:$time is 2)[
[[Leave ->leave]]]
}
[[Try to bribe him ->BribePage]]
[[I don't understand Chinese. ->donotunderstand]]Is that enough *graphics* for you?
[[Yes ->Ask for a story]]
[[No ->difficultperson]]How about a story?
[[Yes! I love stories! ->startchallenge]]
[[No. I want something with more gameplay -> no gameplay]]**"PARTY INVITE"**
*A Twine Interactive Short Story*
By Prince Charles
[[Begin->Storybeginning]]
(set: $inventory = 0) (set: $cash = 100)(set: $time = 0)(set: $startbribe = 0)(Set: $Meetsteven to 0)(set: $bribesucess to 0)(set: $mimiwin to 0)
Yes a bottle of wine fits all occasions... should keep it classy.
You check your wallet, you have $cash RMB.
[[Buy the wine(70 RMB) ->buywine]]
[[Check for beers->beer]]
[[I'm broke! I'm not bringing anything ->nothing]]Beer is a nice call. And it's very chill...
Gives off the vibe like I'm a *chill* person. You have $cash RMB.
[[Buy the beer(30 RMB) ->buybeer]]
[[Maybe wine is better->redwine]]
[[I'm broke! I'm not bringing anything ->nothing]]You check your wallet... hmmm....
There's probably stuff at the party anyways.
You have $cash RMB.
[[Call a Didi (30 RMB) ->Cab]]
[[Take Subway (5 RMB) ->Subway]]
[[Walk (0 RMB)->Walk]]
(set: $inventory = 3)
(set:$bottlecount = 0)You've arrived at the address Steven sent you. It's a gated community in one of those fancy new "luxury" complexes. There's literally a golden fountain in the front, with a pink Porsche parked next to it. Perfect for any #livingmybestlife needs.
You have no idea who's house you're looking for or where it is. You call Steven, but he's not responding. Maybe his phone's dead.
{(if: $inventory is 1)[
You're glad you brought Wine.
Even if it was on sale...
](else-if:$inventory is 2)[
With your six pack in hand, you hope it's enough.
"Well it's better than nothing"
](else-if:$inventory is 3)[
Your hands are empty... maybe you should have brought something.]
}{(if: $time is 0)[
You check the time on your phone. You're an hour late. Steven might be inside already.
](else-if:$time is 1)[
Somewhere echoing within the complex is the sound of really loud music and laughter. You're right on time. Steven might be arriving any minute now.
](else-if:$time is 2)[
Some drunk and laughing foreigners walk past you. Are they leaving the party? You hope Steven hasn't left yet...]
}
[[Walk Inside ->storymode]]
{(if:$time is 2)[
[[Talk to drunk foreigners ->Drunk]]]
}他叫。。。
{(if: $time is 0)[
[[Steven's 女朋友? ->trytocontinue]]
](else-if:$time is 1)[
[[Steven's 女朋友? ->stevenarrive]]
](else-if:$time is 2)[
[[Steven's 女朋友? ->trytocontinue]]
]}
[[陆连想个中文名字 ->jackiechan]]
[[This is all a sham, I don't speak Chinese ->dontspeakchinese]]
(if: $getinfo is 1)[
Wait. Didn't the drunk foreigners say a name?
[[Xiao Cheng? ->xiaocheng]]
[[Mimi? ->Mimi]]
]你:是。。。成龙先生。
保安:谁?
他看你好像有一点傻。真尴尬。。。
保安:快点走吧。
看起来没办法。
{(if: $time is 0)[
[[Leave ->leave]]
](else-if:$time is 1)[
[[Leave ->stevenarrive]]
](else-if:$time is 2)[
[[Leave ->leave]]
]
}
[[Try to bribe him ->BribePage]]
{(set: _hitchange to (random: 0,50))
(if: _hitchange > 10)[
You (text-style: "shudder")[**STRATCH**] at him with your claws!
(if: $badguydefense is 0)[
You hit him for (css: "color: red; font-size: 120%")[**_hitchange**] damage
(set: $badguyhealth to it - _hitchange)
](else:)[
He (text-style: "fade-in-out")[**DODGED**] out of the way!
]
](else:)[
You (text-style: "shudder")[**STRATCH**] at him with your claws!
He's too fast! You missed.
]
}
[[Continue ->Histurn]]
=======================================================================
Bad Eye's Health: (css: "color: red; font-size: 150%")[$badguyhealth] HP
Your Health: (css: "color: green; font-size: 150%")[$goodguyhealth] HP
(if: $goodguyhealth <1)[(goto: "Lose")]
(if: $badguyhealth <1)[(goto: "Win")]
You defend yourself... Ready to (text-style: "fade-in-out")[**DODGE.**]
(set: $goodguydefense = 1)
[[Continue ->Histurn]]
=======================================================================
Bad Eye's Health: (css: "color: red; font-size: 150%")[$badguyhealth] HP
Your Health: (css: "color: green; font-size: 150%")[$goodguyhealth] HP
(if: $goodguyhealth <1)[(goto: "Lose")]
(if: $badguyhealth <1)[(goto: "Win")](link: "Fight the Mighty Dragon!")[
(set: $ehp to 200)
(set: $mhp to 200)
(set: $ename to "Dragon")
(set: $turn to "you")
(set: $hp to 100)
(set: $eatk to 15)
(set: $eatkname to "MOTHERF*CKING FIRE")
(goto: "Combat")]{(display: "Enemy")(display: "Log")(display: "You")}{<div id="log">
(if: $log is "you")[It is your turn.]
(elseif: $log is "atk")[You use '$atk' on the $ename, dealing $atkdmg damage.]
(elseif: $log is "enemy")[The $ename uses '$eatkname' on you, dealing $eatk damage.]
</div>}{<div id="enemy">$ename HP: $ehp/$mhp.
</div>}<div id="you">You: $hp/100
{(if: $turn is "you")[
(link: "Punch")[
(set: $ehp to it - 10)
(set: $atk to "Punch")
(set: $atkdmg to 10)
(set: $turn to "enemy")
(set: $log to "atk")
(goto: "Combat")]
(link: "Sword")[
(set: $ehp to it - 30)
(set: $atk to "Sword")
(set: $atkdmg to 30)
(set: $turn to "enemy")
(set: $log to "atk")
(goto: "Combat")]
]
(elseif: $turn is "enemy")[
(link: "Continue")[
(set: $log to "enemy")
(set: $turn to "you")
(set: $hp to it - $eatk)
(goto: "Combat")]
]
(if: $hp <1)[(goto: "Lose")]
(if: $ehp <1)[(goto: "Win")]
</div>}WIN! You've landed a devastating blow and it's all over. You've got him beat.
(set: $winfight to 1)
Bad Eye knows it and shuffles away. Reeling from the fight, he limps off. You watch him walk off until you can't smell him anymore.
Not today Bad Eye, not today.
You've defeated Bad Eye Moody the black cat!
[[Continue ->fightingendtext]]
LOSE. Bad Eye pins you to the ground, the stench of garbage fills your nostrils. It's over, he's stronger than you.
There's nothing left to do, but to accept defeat and limp away. Bad Eye smirks as you leave, knowing that he's won again.
You are back on the cold streets, hoping to survive another day.
You've lost to Bad Eye the black cat!
[[Continue ->FightingEnd]] (set: _hitchange to (random: 0,70))
{(if:$bottlecount is 0)[
You try to pounce.. but your too exhausted... you should REST ](if:$bottlecount > 0)[
(if: _hitchange > 40)[
You (text-style: "rumble")[**POUNCE**] at him! Claws out!
(if: $badguydefense is 0)[
You hit him for (css: "color: red; font-size: 120%")[**_hitchange**] damage
(set: $badguyhealth to it - _hitchange)
(set:$bottlecount to it - 1)
](else:)[
He (text-style: "fade-in-out")[**DODGED**] out of the way!
]
](else:)[
You (text-style: "rumble")[**POUNCE**] at him! Claws out!
But, you jumped too far and missed!
(set:$bottlecount to it - 1)
]
]}
[[Continue ->Histurn]]
=======================================================================
Bad Eye's Health: (css: "color: red; font-size: 150%")[$badguyhealth] HP
Your Health: (css: "color: green; font-size: 150%")[$goodguyhealth] HP
(if: $goodguyhealth <1)[(goto: "Lose")]
(if: $badguyhealth <1)[(goto: "Win")]
You try to get away!
(set: _hitchange to (random: 0,10))
{(if: _hitchange > 8)[
You got away safely....
](else:)[
You weren't quick enough!
He catches up to you.
]
}
{(if: _hitchange > 8)[
[[Continue ->FleeEnding]]
](else:)[
[[Continue ->Histurn]]
]
}
=======================================================================
Bad Eye's Health: (css: "color: red; font-size: 150%")[$badguyhealth] HP
Your Health: (css: "color: green; font-size: 150%")[$goodguyhealth] HP
(if: $goodguyhealth <1)[(goto: "Lose")]
(if: $badguyhealth <1)[(goto: "Win")]What will you do?
(set: $goodguydefense = 0)
[[SCRATCH->hit]]
{(if: $bottlecount is 0)[
[[[REST (Skip turn to recover pounce) ->rest]]]
](else:)[
[[POUNCE ->throwbottle]]
]}
[[DODGE ->dodge]]
[[FLEE ->Flee]]
=======================================================================
Bad Eye's Health: (css: "color: red; font-size: 150%")[$badguyhealth] HP
Your Health: (css: "color: green; font-size: 150%")[$goodguyhealth] HP
Knock Bad Eye's Health to 0 before your health reaches 0.
(if: $goodguyhealth <1)[(goto: "Lose")]
(if: $badguyhealth <1)[(goto: "Win")]
Bad Eye gets ready...(set: $badguydefense to 0) (set: _RandomAttack to (random: 0,3))(set: _swingchange to (random: 0,50))(set: _hitchange to (random: 0,70))
{(if: _RandomAttack is 0)[
(if: _swingchange > 15)[
He (text-style: "rumble")[**SCRATCHES**] at you!
(if:$goodguydefense is 0)[
He hits you for (css: "color: green; font-size: 120%")[**_swingchange**] damage!
(set: $goodguyhealth to it - _swingchange)
](else:)[
You (text-style: "fade-in-out")[**DODGED**] out of the way!
]
](else:)[
He (text-style: "shudder")[**SCRATCHES**] at you!
Too slow! He missed!
]
](if: _RandomAttack is 1)[
(if: _swingchange > 15)[
He (text-style: "shudder")[**SCRATCHES**] at you!
(if:$goodguydefense is 0)[
He hits you for (css: "color: green; font-size: 120%")[**_swingchange**] damage
(set: $goodguyhealth to it - _swingchange)
](else:)[
You (text-style: "fade-in-out")[**DODGED**] out of the way!
]
](else:)[
He (text-style: "shudder")[**SCRATCHES**] at you!
Too slow! He missed!
]
](if: _RandomAttack is 2)[
(if: _hitchange > 50)[
He (text-style: "rumble")[**POUNCES**] on you with his claws!
(if:$goodguydefense is 0)[
He pins you for (css: "color: green; font-size: 120%")[**_hitchange**] damage!
(set:$goodguyhealth to it - _hitchange)
](else:)[
You (text-style: "fade-in-out")[**DODGED**] his pounce!
]
](else:)[
He (text-style: "rumble")[**POUNCES**] on you with his claws!
But, he jumped too high and missed!
]
]
(if: _RandomAttack is 3)[
He defends himself... Ready to (text-style: "fade-in-out")[**DODGE.**]
(set: $badguydefense to 1)
]
}
[[Continue ->Yourturn]]
=======================================================================
Bad Eye's Health: (css: "color: red; font-size: 150%")[$badguyhealth] HP
Your Health: (css: "color: green; font-size: 150%")[$goodguyhealth] HP
(if: $goodguyhealth <1)[(goto: "Lose")]
(if: $badguyhealth <1)[(goto: "Win")]**"CATFIGHT: SHOWDOWN AT THE XIAO QU"**
*A Twine Fighting Game*
By Prince Charles
[[Begin ->Combatstart]]
(set: $badguyhealth = 250)
(set: $goodguyhealth = 200)
(set: $badguydefense = 0)
(set: $goodguydefense = 0)
(set: $startfight = 1)
(set:$bottlecount to 3)
(set:$timeoutcounter to 10)You received the BRONZE KEY! There are three possible ways to win in this story. Play it again, make different choices, and see what happens!
- Prince Charles
*If you were to write an interactive story, what would you write about?*
[[Replay this story ->startchallenge]]
[[Back to the Castle->startchallenge]]
(set: $playstory to 1)
==================================
PROGRESS:
{(if: $playstory is 1)[
You've received the BRONZE KEY!
(if: $winstory is 1)[
You GOT INTO THE PARTY and received a CHEST KEY!
] (else:)[
But you have not won this story to receive the Chest key.
]] (else:)[
You do not have the Bronze Key yet.
]}
==================================
Results:
You have $cash RMB left in your wallet.
*You bribed your way into the party.* {(if: $bribesucess is 1)[
**Yes**
]
(else:)[
No
]}
*Steven got you into the party.* {(if:$Meetsteven is 1)[
**Yes**
]
(else:)[
No
]}
*You didn't spend any money and still got into the party.* {(if: $mimiwin is 1)[
**Yes**
]
(else:)[
No
]}You noticed a hidden away purple wire. You have a good feeling about this one.
[[Cut the purple wire ->cutpurplewire]]
[[Look closer ->Lookatitpurple]]
[[Back ->Game]]
======================================================================
You have (css: "color: red; font-size: 250%") |amount>[$counter] seconds left!
{
(if:$cutbluewire is 1)[
(live: 0.75s)[
(set: $counter to it - 1)
(if: $counter <= 0)[(go-to: "Bombgameover")]
(replace: ?amount)[$counter]
]] (else:)[(live: 1s)[
(set: $counter to it - 1)
(if: $counter <= 0)[(go-to: "Bombgameover")]
(replace: ?amount)[$counter]
]]}The purple wire has been wrapped up in some electrical tape. Removing the electrical tape, you see **ANOTHER PINK WIRE** underneath it. Who made this bomb and why is it so complicated?! The pink wire connects to the timer, the purple wire connects to the bomb. This is it. If you stop the timer, then the bomb, it should stop everything.
[[Cut the purple wire->purplegameover]]
[[Cut the pink wire ->cutpinkwire]]
======================================================================
You have (css: "color: red; font-size: 250%") |amount>[$counter] seconds left!
{
(if:$cutbluewire is 1)[
(live: 0.75s)[
(set: $counter to it - 1)
(if: $counter <= 0)[(go-to: "Bombgameover")]
(replace: ?amount)[$counter]
]] (else:)[(live: 1s)[
(set: $counter to it - 1)
(if: $counter <= 0)[(go-to: "Bombgameover")]
(replace: ?amount)[$counter]
]]}The timer has stopped at (css: "color: red; font-size: 250%")[$counter] seconds remaining.
The bomb has been **DEFUSED!**
(set: $winbomb to 1)
(css: "color: white; font-size: 200%")[**YOU'VE WON!**]
[[Continue ->gameovertext]]You run away... this fight isn't going well.
Bad Eye stands his ground as you leave. He's the boss of your Xiao Qu now.
Save your energy and maybe you'll live to fight again another day.
[[Continue ->FightingEnd]] (css: "color: white; font-size: 200%")[Continue?]
(set:$timeoutcounter to 10)
{(css: "color: red; font-size: 500%") |amount>[$timeoutcounter]
(live: 1s)[
(set: $timeoutcounter to it - 1)
(if: $timeoutcounter is 0)[(go-to: "fightingendtext")]
(replace: ?amount)[$timeoutcounter]
]}
[[Restart ->BeginCombat]]
[[Give Up ->fightingendtext]]You catch your breath. Now you can pounce again.
(set:$bottlecount to 3)
[[Continue ->Histurn]]
=======================================================================
Bad Eye's Health: (css: "color: red; font-size: 150%")[$badguyhealth] HP
Your Health: (css: "color: green; font-size: 150%")[$goodguyhealth] HP
(if: $goodguyhealth <1)[(goto: "Lose")]
(if: $badguyhealth <1)[(goto: "Win")]You try handing him the wine. He looks at it and then at you.
He laughs and waves his hand...
Bao'an: NO.
Looks like wine isn't gonna work with this guy.
{(if: $time is 0)[
[[Leave ->leave]]
](else-if:$time is 1)[
[[Leave ->stevenarrive]]
](else-if:$time is 2)[
[[Leave ->leave]]]
}
(if: $cash > 1)[
[[Try Bribing him with cash ->cashbribe]]
]You see bags under his eyes. It must be hard staying up and keeping people like you out. Maybe what this man needs right now is a beer.
[[Give him 1 Beer ->1beer]]
[[Give him 2 Beers ->3beer]]
[[Give him the six-pack of Beers ->6beer]]It worked! The Bao'an leaves you alone. You are a free man to live it up. Maybe first it's time for a selfie in front of that Golden Fountain.
[[The End ->end]]
(set: $bribesucess to 1)
(set: $winstory to 1)You decide to take the subway. It's really busy on a Friday Night. You shuffle past tired business men just leaving work and energized youngsters going out on the town. The hustle and bustle of the subway, its disorienting. You miss your stop and have to transfer a few times to get there.
(set: $cash to it-5)
You have $cash RMB.
(set: $time = 0)
[[Continue ->ReachedLocation]]The air smells real fresh tonight, like after it rains. You've been sitting inside at a desk all week. Why not take a walk? Plus, you'll save a lot of money and get your exercise for the week.
You have $cash RMB.
(set: $time = 2)
[[Continue ->ReachedLocation]]You call a didi. This is exactly what you needed, no dirty subway, no walking... just a nice chill didi to get you to this party.
(set: $cash to it-30)
You have $cash RMB.
(set: $time = 1)
[[Continue ->ReachedLocation]]
You've seen this done before. Bribery is the sincerest form of flattery... or so you've heard.
(set: $startbribe to 1)
(if: $inventory is 1)[
[[Try Bribing him with the wine ->winebribe]]
]
(else-if:$inventory is 2)[
[[Try Bribing him with the beer ->beerbribe]]
]
(if: $cash > 1)[
[[Try Bribing him with cash ->cashbribe]]
]
Money. Money always speaks the truth. But how much?
(set:$bribe to 0)
You have $cash RMB
(link: "bribe him 10 RMB")[(set: $bribe to it + 10)(goto: "totalamount")]
(link: "bribe him (round:$cash*.5) RMB")[(set: $bribe to it + (round:$cash*.5))(goto: "totalamount")]
(link: "bribe him $cash RMB")[(set: $bribe to it + $cash)(goto: "totalamount")]
You hand him one beer and say, "peng you"
He looks at you and laughs.
Then says: NO.
{(if: $time is 0)[
[[Leave ->leave]]
](else-if:$time is 1)[
[[Leave ->stevenarrive]]
](else-if:$time is 2)[
[[Leave ->leave]]]
}
(if: $cash > 1)[
[[Try Bribing him with cash ->cashbribe]]
]You take out 2 beers and place them inside his security booth.
He looks at the beers, reads the label closely. He takes one and opens it. Then waves at you to keep walking. It's back to watching "The Voice for him." Was that a successful bribery?
[[Walk inside->Gotin]] You try handing him the entire six-pack of Qingdao. He immediately refuses, it seems like you might have pissed him off even more. You've made a bad impression, you should really leave now.
{(if: $time is 0)[
[[Leave ->leave]]
](else-if:$time is 1)[
[[Leave ->stevenarrive]]
](else-if:$time is 2)[
[[Leave ->leave]]]
}
(if: $cash > 1)[
[[Try Bribing him with cash ->cashbribe]]
]You place $bribe RMB on his Security table. Hoping he'll take it.
(if: $bribe >29 and$bribe <51) [
He takes the money. Silence. He waves you to keep walking and goes back to his video.
You keep walking until you can't hear "The Voice of China anymore"
[[continue ->Gotin]]
(set: $cash to it-$bribe)
](else:)[
He looks at the money and looks at you. Uh oh, his face is turning red.
He refuses to touch the money and instead starts screaming at you.
Looks like you've lost face and made the situation way worse.
You gotta get out of here now.
(if: $time is 0)[
[[Leave ->leave]]
](else-if:$time is 1)[
[[Leave ->stevenarrive]]
](else-if:$time is 2)[
[[Leave ->leave]]]
]Gotta get this wine if I want to make a good first impression.
(set: $cash to it-70)
You bought the bottle of wine. You have $cash RMB.
[[Call a Didi (30 RMB) ->Cab]]
[[Take Subway (5 RMB) ->Subway]]
[[Walk (0 RMB)->Walk]]
(set: $inventory = 1)You buy a six-pack of Qingdao. Perfect.
(set: $cash to it-30)
Now to get to the party. You have $cash RMB.
[[Call a Didi (30 RMB) ->Cab]]
[[Take Subway (5 RMB) ->Subway]]
[[Walk (0 RMB)->Walk]]
(set: $inventory = 2)(if: $startbribe is 0)[Just as you lose all hope, a Didi pulls up and Steven exits out of it.](if: $startbribe is 1)[With you bribe completely failing, you've lost all hope. Just then, a Didi pulls up and Steven exits out of it.]
Looks like taking a Didi was the right call.
(Set: $Meetsteven to 1)
[[Continue ->nextstevenscene]]They continue talking for a while... exchanging pleasantries. You awkwardly stand, like a third wheel.
After a while, they wave goodbye to each other. Just like that you are both in.
[[Follow Steven->StevenEnd]]
Bao'an:你们一起吗?
steven:对。今天晚上我们聚会。
Bao'an:好好好。快点进来吧。
Steven:谢谢。您努尔这么样?
[[Keep listening ->keeplistening]]
[[Ignore the conversation ->Stevencontinued]] Bao'an:很好很好。她今年进大学。
steven:真么快就张大了!
Bao'an:对对。嘿!你们什么时候回国?
Steven:现在还没有确定。可能月底吧。
[[Keep waiting->Stevencontinued]] Steven is dressed up tonight. Probably for the girlfriend.... Maybe it's her birthday? Uh oh is this a birthday party?
Steven: Hey! Looks like you made it!
He pats you on the back. The Bao'an sees Steven and recognizes him. His demeanour changes almost immediately.
Bao'an: 嘿老朋友! 你好你好。
Steven: 嗨!王师傅。
This might be a while...
[[Listen to conversation -> listen]]
[[Ignore the conversation ->Stevencontinued]] You catch up to the drunk foreigners. They are completely wasted, while you are completely sober. Maybe it's not worth your time...
[[Hey! Are you guys coming from Steven's party? -> partyinfo]]
[[Nevermind... ->storymode]] The drunk foreigners look at you.
Drunk girl: Steven? Who's that?
Drunk guy: Yo is he like dating Xiao Cheng?? Or wait was it Mimi?
It's no use, these guys are completely wasted. They wander off.
[[Back->storymode]]
(Set: $getinfo to 1)是Xiao Cheng。我来见Xiao Cheng。
保安:谁?我不知道她。走走走。你找错地方啦。
The Bao'an shoos you away. Wrong choice... He doesn't know who this is.
{(if: $time is 0)[
[[Leave ->leave]]
](else-if:$time is 1)[
[[Leave ->stevenarrive]]
](else-if:$time is 2)[
[[Leave ->leave]]
]
}
[[Try to bribe him ->BribePage]]是Mimi。我来见Mimi。
The Bao'an looks at you. It seems like he recognizes the name. He hands you a package with the name Mimi on it.
保安:这是她的快递。
He waves for you to continue.
[[Leave ->MimiWin]]
With the Kuaidi package in hand, you are in! You look at the address. Perfect. Now just to find the building and you can get your party on. With 100 Kuai in your pocket, you feel pretty accomplished.
(Set: $mimiwin to 1)
[[The End ->end]]
(set: $winstory to 1)You: Glad I showed up on time. That guy was not gonna let me through.
Steven: Oh yea, sorry about that, he's cranky to strangers, but nice once you get to know him... and what he likes.
You: And that is?
Steven: Money, beer, cigarettes... Oh and oranges, he loves oranges.
You're not sure if you should be impressed or not.
[[The End ->end]]
(set: $winstory to 1)Having trouble winning? Here's a quick hint: Look closely at **ALL** the wires before you decide which one to cut.
[[Got it. Let's replay ->gameplaybomb]]
[[Back->gameovertext]]You played through the fight and received the GOLD KEY! Proud of you kiddo.
(set: $playfight to 1)
- Prince Charles
*If you were to make a fighting game, how would you word it differently? Can you make a fighting game without violence?*
[[Replay this story ->startchallenge]]
[[Back to the Castle->startchallenge]]
==================================
PROGRESS:
{(if: $playfight is 1)[
You've received the GOLD KEY!
(if: $winfight is 1)[
You WON THE FIGHT and received a CHEST KEY!
] (else:)[
But you have not won the fight to receive the Chest key.
]] (else:)[
You do not have the Gold Key yet.
]}
==================================Here goes nothing... you close your eyes and cut the purple wire...(text-style:"fade-in-out")[**Snip**]
You wait to hear the explosion, but there is none.
[[Open your eyes ->Youwin]]Here goes nothing... you cut the red wire. Uh oh...
THE TIMER HAS GONE DOWN BY (text-style:"shudder")[(css: "color: red; font-size: 150%")[**10 SECONDS**]]
... uh oh this is not good. Maybe you should look closer.
(set: $counter to it - 10)
(set: $cutredwire to 1)
[[Look Closer->Lookatit]]
[[Back ->Game]]
======================================================================
You have (css: "color: red; font-size: 250%") |amount>[$counter] seconds left!
{
(if:$cutbluewire is 1)[
(live: 0.75s)[
(set: $counter to it - 1)
(if: $counter <= 0)[(go-to: "Bombgameover")]
(replace: ?amount)[$counter]
]] (else:)[(live: 1s)[
(set: $counter to it - 1)
(if: $counter <= 0)[(go-to: "Bombgameover")]
(replace: ?amount)[$counter]
]]}Here goes nothing... you cut the blue wire....
(text-style:"shudder")[(css: "color: white; font-size: 150%")[THE TIMER IS GOING DOWN EVEN FASTER]]
You're running out of time!
(set: $cutbluewire to 1)
[[Look Closer->Lookatitblue]]
[[Back ->Game]]
======================================================================
You have (css: "color: red; font-size: 250%") |amount>[$counter] seconds left!
{
(if:$cutbluewire is 1)[
(live: 0.75s)[
(set: $counter to it - 1)
(if: $counter <= 0)[(go-to: "Bombgameover")]
(replace: ?amount)[$counter]
]] (else:)[(live: 1s)[
(set: $counter to it - 1)
(if: $counter <= 0)[(go-to: "Bombgameover")]
(replace: ?amount)[$counter]
]]}
You cut the yellow wire...
Wait! the timer has gone up by (css: "color: green; font-size: 150%")[**20 SECONDS**]
However, the timer is still counting down... maybe you should examine the wire.
(set: $counter to it + 20)(set: $cutyellowwire to 1)
[[Look Closer->Lookatityellow]]
[[Back ->Game]]
======================================================================
You have (css: "color: red; font-size: 250%") |amount>[$counter] seconds left!
{
(if:$cutbluewire is 1)[
(live: 0.75s)[
(set: $counter to it - 1)
(if: $counter <= 0)[(go-to: "Bombgameover")]
(replace: ?amount)[$counter]
]] (else:)[(live: 1s)[
(set: $counter to it - 1)
(if: $counter <= 0)[(go-to: "Bombgameover")]
(replace: ?amount)[$counter]
]]}Wait. You start to second guess yourself. Are you sure you want to cut this wire? Maybe you should examine it first...
[[Cut the purple wire ->Bombgameover]]
[[Look closer ->Lookatitpurple]]
[[Back ->PurpleWire]]
======================================================================
You have (css: "color: red; font-size: 250%") |amount>[$counter] seconds left!
{
(if:$cutbluewire is 1)[
(live: 0.75s)[
(set: $counter to it - 1)
(if: $counter <= 0)[(go-to: "Bombgameover")]
(replace: ?amount)[$counter]
]] (else:)[(live: 1s)[
(set: $counter to it - 1)
(if: $counter <= 0)[(go-to: "Bombgameover")]
(replace: ?amount)[$counter]
]]}You cut the pink wire. You're still alive... good.
[[Cut the purple wire->bombdefusedwin]]
======================================================================
You have (css: "color: red; font-size: 250%") |amount>[$counter] seconds left!
{
(if:$cutbluewire is 1)[
(live: 0.75s)[
(set: $counter to it - 1)
(if: $counter <= 0)[(go-to: "Bombgameover")]
(replace: ?amount)[$counter]
]] (else:)[(live: 1s)[
(set: $counter to it - 1)
(if: $counter <= 0)[(go-to: "Bombgameover")]
(replace: ?amount)[$counter]
]]}You cut the purple wire. Somehow this doesn't feel right... but too late now.
[[Cut the pink wire->pinkfailed]]
======================================================================
You have (css: "color: red; font-size: 250%") |amount>[$counter] seconds left!
{
(if:$cutbluewire is 1)[
(live: 0.75s)[
(set: $counter to it - 1)
(if: $counter <= 0)[(go-to: "Bombgameover")]
(replace: ?amount)[$counter]
]] (else:)[(live: 1s)[
(set: $counter to it - 1)
(if: $counter <= 0)[(go-to: "Bombgameover")]
(replace: ?amount)[$counter]
]]}You cut the pink wire... the timer doesn't stop. Uh oh, maybe it was the pink wire first... it's too late now, the wires have been cut. All you can do is wait...
======================================================================
You have (css: "color: red; font-size: 250%") |amount>[$counter] seconds left!
{
(if:$cutbluewire is 1)[
(live: 0.75s)[
(set: $counter to it - 1)
(if: $counter <= 0)[(go-to: "Bombgameover")]
(replace: ?amount)[$counter]
]] (else:)[(live: 1s)[
(set: $counter to it - 1)
(if: $counter <= 0)[(go-to: "Bombgameover")]
(replace: ?amount)[$counter]
]]}Whoa... not so fast bucko. We just met. How do I know your really interested?
[[You can trust me. ->nextpage]]
[[Okay I lied. ->wantgames]]Hmmm.. how about this. Let's do a test to see if your *really* being honest.
[[Okay ->startchallenge]]
[[No ->difficultperson]]What about writing for video games?
[[Okay, yes ->Readyforgame]]
[[What's video games?->gamedescription]]
[[No ->difficultperson]]Wow. You're a pretty difficult person huh.
How about we just play the game.
[[Fine. I guess ->startchallenge]]
[[No ->noending]](if: $playstory is 1 and $playbomb is 1 and $playfight is 1)[
A FLASH OF LIGHT. You wake up back in the Castle. After going through so many weird and completely unrelated stories, something clicks in your mind.
You feel the walls... cheap concrete. You look at the poster... bad photoshop. It all makes sense now.
You're not in England. Far from it... You're in Thames Town! A fake English village...in China... I guess you've been in China the whole time.
You now have all the keys to the door. Time to finally meet this "Prince Charles"
](else-if: $playstory is 1)[
A FLASH OF LIGHT. You're back inside the old English-style castle. It's dimly lit by candle light. Thunder strikes outside.
There's a metal door in front of you. An old wooden chest is next to it. On the wall hangs a giant poster. Underneath the poster you can make out a table with some objects on it.
For some reason, you feel like you are not in England...
] (else-if: $playbomb is 1)[
A FLASH OF LIGHT. You're back inside the old English-style castle. It's dimly lit by candle light. You hear the faint sound of rain outside
There's a metal door in front of you. An old wooden chest is next to it. On the wall hangs a giant poster. Underneath the poster you can make out a table with some objects on it.
For some reason, you feel like you know about this place...
] (else-if: $playfight is 1)[
A FLASH OF LIGHT. You're back inside the old English-style castle. It's dimly lit by candle light. You hear the wind blowing through the castle.
There's a metal door in front of you. An old wooden chest is next to it. On the wall hangs a giant poster. Underneath the poster you can make out a table with some objects on it.
For some reason, you really crave bubble tea...
](else:)[
A FLASH OF LIGHT. You find yourself transported inside an old English-style castle. It's dimly lit by candle light.
There's a metal door in front of you. An old wooden chest is next to it. On the wall hangs a giant poster. Underneath the poster you can make out a table with some objects on it.
Something about the decor seems off, but you can't place it just yet...]
(if: $playstory is 1 or $playbomb is 1 or $playfight is 1)[
[[Examine the Table ->Table]]](if: $playstory is 1 and $playbomb and 1 and $playfight is 1)[]
(else:)[
[[Where am I? ->location]]
[[Look at Poster ->poster]]
]
{(if: $playstory is 1 and $playbomb is 1 and $playfight is 1)[
[[Door Unlocked!->Opendoor]]] (else:)[[[Try to Open Door ->door]]
]}
{(if: $winstory is 1 and $winbomb is 1 and $winfight is 1)[
[[Chest Unlocked!->OpenChest]]] (else:)[[[Try to Open Chest ->Chest]]
]}
Alright I guess there's not much else we can talk about. You can close this now.
[[Start Over ->Start]]The door has three large keyholes in it. One made of Bronze, one of Silver, and the last of Gold. You push on the door trying to open it, but... well you know... it's locked. Duh.
[[Back ->startchallenge]]The chest is chained up with three large padlocks. You try to open it, but let's get real here... you're wasting your time right now. That chest won't open without the keys.
[[Back ->startchallenge]]
You're in Shanghai, present day. It's Friday night.
You've had a rough week at work. Your co-worker Steven invites you to his girlfriend's house party. You and Steven aren't that close and you've never met his girlfriend before. Honestly, it doesn't really matter. What you need is to let loose. A house party sounds perfect. You leave your apartment and check your wallet. There's a single pink 100RMB Mao inside.
What will you bring to the party?
[[A bottle of red wine ->redwine]]
[[A six-pack of beers->beer]]
[[I'm broke! I'm not bringing anything ->nothing]]You are a cat, an Alpha cat, and this is your territory. You fought hard for this Xiao Qu, marking every corner with your scent. Day and night, rain and shine, you watch over this place you call home.
A rotten smell. Something wicked comes your way. It's Bad Eye the black cat. Bad Eye's been around the block a few times and he's notorious for taking territory like no other cat.
Today, Bad Eye wants your Xiao Qu. You won't go down without a fight. You walk up on Bad Eye marking his scent on your wall. He screeches at you.
It ends right here, right now.
[[Continue ->Yourturn]]You unlock the chest keys one by one. Success! The padlocks fall off, leaving you to open the chest.
[[Open it!->Chestaction]]
[[Back ->startchallenge]]You look at the poster. It's crude, like if someone copied a low resolution image of old parchment and literally used the worst font. There's obviously some grammar and typos going on...
(font: 'Coming Soon')[
Walcome! Rules is follows:
0. Play game to receive KEY.
0. Use 3 KEYS to open door.
0. Win ALL 3 GAME to open chest. Special prize for you inside!
- Prince Charles]
Underneath this despicable photoshop job of a poster is a table with three random objects. Who made this? Definitely not Prince Charles.
[[Examine Table ->Table]]
[[Back ->startchallenge]]On the table you see:
{(if: $playstory is 0) [Bronze Cup filled with wine.] (else:)[Empty Bronze Cup]}
{(if: $playbomb is 0) [Silver Wire Cutters, never-used] (else:)[Used Silver Wire Cutters]}
{(if: $playfight is 0) [Golden Bowl filled with Tuna.] (else:)[Empty Golden Bowl]}
{(if: $playstory is 1 or $playbomb is 1 or $playfight is 1)[
You know how this works now. Pick a thing, play some weird story, get keys.
](else:)[
For some reason you are forced to do one of the following ridiculous things...
]}
{(if: $playstory is 0) [[[Drink the Wine->Drinkwine]]] (else:)[[[Pick up the Bronze Cup->Drinkwine]]]}
{(if: $playbomb is 0) [[[Steal the Silver Cutters->PickPliers]]] (else:)[[[Pick up the Silver Cutters->PickPliers]]]}
{(if: $playfight is 0) [[[Smell the Tuna->SmellCat]]] (else:)[[[Pick up the Golden Bowl->SmellCat]]]}
(if: $playstory is 1 or $playbomb is 1 or $playfight is 1)[
{(if: $playbomb is 1 and $playstory is 1 and $playfight is 1)[CONGRATULATIONS! You have all three keys! Now you can open the door. [[Back->startchallenge]]
]}
==================================
{(if: $playstory is 1)[
You have the BRONZE KEY!
(if: $winstory is 1)[
and you GOT INTO THE PARTY earning you a CHEST KEY!
] (else:)[
But you have not won this story to receive the Chest key.
]] (else:)[
You do not have the Bronze Key yet.
]}
{(if: $playbomb is 1)[
You've received the SILVER KEY!
(if: $winbomb is 1)[
and you DEFUSED THE BOMB earning you a CHEST KEY!
] (else:)[
But you have not won the puzzle to receive the Chest key.
]] (else:)[
You do not have the Silver Key yet.
]}
{(if: $playfight is 1)[
You've received the GOLD KEY!
(if: $winfight is 1)[
and you WON THE FIGHT earning you a CHEST KEY!
] (else:)[
But you have not won the fight to receive the Chest key.
]] (else:)[
You do not have the Gold Key yet.
]}
{(if: $winbomb is 1 and $winstory is 1 and $winfight is 1)[
Congrats! You have all three CHEST KEYS! Now you can open the chest.
]}
](if: $playstory is 0) [You drink the wine. Surprise... it's not great. It taste like acid with grape juice, but somehow very familiar, like fake wine you once had in China.
You let the taste wash over you and start to remember something. A hazy memory, a story set in Shanghai...
[[Start "Party Invite" Story ->StorymodeStart]]
] (else:)[The cup is now empty... looks like you drank all the wine...
The memory of the Bao'an is still fresh in your mind, you can revisit it anytime.
[[Start "Party Invite" Story ->StorymodeStart]]
[[Back->Table]]
]
(if: $playbomb is 0) [You steal the wire cutters. They are quite heavy. Maybe you can cut the locks off the chest?
The floor suddenly splits open in a very "epic" kind of way, leaving a large hole in the middle of the floor. Bright lights shoots out of it, beckoning you to jump in. At first you think it's magic, but really, it's probably the faulty construction of this castle...
[[Jump into the hole...->fallin]]
[[Resist->resistthetemptation]]
] (else:)[The hole is now gone. Maybe it was a dream? But the silver cutters are all worn out... looks like you really did cut something.
The anxiety of defusing a bomb is burned into your mind, you can revisit it anytime.
[[Start "Ticking Clock" Story ->gameplaybomb]]
[[Back->Table]]
]
(if: $playfight is 0) [You smell the tuna.. like a total weirdo. The taste of delicious tuna fills your senses... it imbues you with energy, you feel pumped, like you're ready to fight. You close your eyes and fade into a different world...
[[Start "Catfight" Game ->BeginCombat]]
] (else:)[There's no tuna left, only the golden bowl... did you eat the Tuna?
The excitement of fighting Bad Eye still pulses in your memory... you can revisit it anytime.
[[Start "Catfight" Game ->BeginCombat]]
[[Back->Table]]
]No! I don't want to jump into the hole! you think to yourself. Who wrote this garbage anyways? Prince Charles? what the heck is that?
Sorry friend, you're going into this hole whether or not you like it.
[[Drag your feet begrudgingly into the hole->fallin]]Where am I? Hello? There's nobody here.
The castle looks like an English castle that you could find in a history book, but something is off about it. It's like a recreation of a castle from someone who's never seen a castle before.
[[Back ->startchallenge]]You drop into the hole... fading into the light. You hold on to the silver wire cutters and close your eyes... wondering where you will end up.
[[Start "Ticking Clock" Game->gameplaybomb]]You pop open the chest. A warm glow fills your eyes.
It's stacked to the brim with coins, diamonds, old artifacts, and other rare goods. The kind of goodies you would find in any video game chest.
Digging through the gold, you notice a handwritten note.
[[Read Note ->readpaper]]Now we're talking. But first, let's play a game to see if you *really* want to write for games.
[[Challenge Accepted! ->startchallenge]]
[[No ->difficultperson]]<img src="https://branches.neocities.org/images/photo.png" border="0" height = "150" width = "150" >
Oh me? I'm a game designer based in Shanghai. You may know me from "Touch Our Buttons", a game collective making arcade machines and party games that we bring out to events.
<img src="https://branches.neocities.org/images/banner.jpg" style="max-width: 80%;">
If you want something more formal, here's basically my Linkedin bio:
*Mike Ren is an Asian-American game designer, living in Shanghai, China. Previously, he worked at Ubisoft Shanghai on Far Cry 5 and has been working in the video game industry for over 6 years now. He graduated from New York University with a Major in Film & Animation and a Minor in Game Design.* www.mikeyren.com
[[Back ->Yes]]
(Set: $end1 to 1)What is Twine? Good question! Twine is a program that allows you to create branching stories. For example, the one you just played through looks like this.
<img src="https://branches.neocities.org/images/twinescreenshot.png" alt="twineimage" border="0" style="max-width: 100%";>
Each box represents a page of text, each line shows how they flow together. Based on how you link the passages, you start to create an interactive story. There's no limit to how big or complex your story can be, so dream big!
Twine works so well because it's easy to use and customizable. You can start writing your first interactive story within minutes. Depending on your knowledge of story structure, game design, CSS, or javascript, Twine becomes a powerful tool to create all sorts of experiences.
Here are some of the top features of Twine:
0. Visual flowchart to plot out your story and logic.
0. Use simple math (if-then statements) to create gameplay.
0. Add pictures, sounds, and customization for more immersion.
0. Completely free to use, even for commercial purposes.
0. Publish anywhere on the web as a webpage!
[[Back ->Yes]]
(Set: $end2 to 1)
When: As of now, workshop dates are not set... However the plan is to meet once a week to learn, test, and get feedback on your stories from your fellow writers and designers.
Where: A coffee shop, a bar, somewhere in public. Wifi would be great, but it's not important. What we need is a place to talk and share our work.
[[Back ->Yes]]
(Set: $end4 to 1)
(Set: $end3 to 1)
A coffee shop, a bar, somewhere in public. Wifi would be great, but it's not important. What we need is a place to talk and share our work.
[[Back ->Yes]]
(Set: $end4 to 1)Now we are getting into the real deal...
My passion is in making games, no matter the form. With this workshop, I want to empower people to create their own interactive stories.
As someone who deeply enjoys reading a good story, I believe that by giving people the tools and knowledge to create their own, we would all benefit as creators, readers, and players.
Why Twine? It's the most popular form of interactive storytelling on the internet, with writers getting deals to publish their works. Some Twine games, like "Depression Quest" even go on to win awards!
The reason to learn Twine right now is that it will prepare you for the future of storytelling. As streaming services like Netflix moves towards "Choose Your Own Adventure" style content, and video games rely more on branching dialogue and story structure, learning Twine could be a great asset.
Twine is also just really addicting. Who knows... maybe you can even make a career out of writing interactive fiction?
[[Back ->Yes]]
(Set: $end5 to 1)How you ask? Here we go... this is all tentative and will probably shift around, but to give you an idea of what we will be learning and making...
WORKSHOP OUTLINE
Week 1: Introduction to Twine
0. Discussion: " How to Structure an Interactive Story."
0. Education: Learn the basics of Twine.
0. Workshop: Your first interactive story.
Week 2: Simple Math
0. Discussion: "Math = emotions?"
0. Education: Learn how to use variables and (if-then) conditional statements to create dynamic stories.
0. Workshop: Integrate logic and math into your stories.
Week 3: Visual Customization
0. Discussion: "Aesthetics! for the internetz"
0. Education: Learn basic CSS customization for your Twine games.
0. Workshop: Customize the **look** and *feel* of your story.
Week 4: Publishing
0. Discussion: "Go LIVE with your stories"
0. Education: Learn how to publish your stories on the internet and ways to promote your work.
0. Workshop: Publish your first story online.
After the final workshop we will set a date for a PARTY!
The plan is to do a show-and-tell session for you and your friends. Maybe we'll have the audience play through your game together?
[[Back ->Yes]]
(Set: $end6 to 1){(if: $bronzekey is 0 and $silverkey is 0 and $goldkey is 0)[You walk up to the metal Door. Touching it now, it seems lighter than before. Surprise! It's actually just plastic, painted to look like metal.] (else:)[You look at the locks.]
(if: $bronzekey is 1 and $silverkey and 1 and $goldkey is 1)[Finally! The door is unlocked! You can't wait to meet this *Prince Charles* and finally get some answers.]}
(if: $bronzekey is 1 and $silverkey and 1 and $goldkey is 1)[[[Open the Door ->pushopen]]] (else:)[
[[Insert Bronze key ->bronzekey]]
[[Insert Silver key ->silverkey]]
[[Insert Gold key ->goldkey]]
]
You put in the bronze key and turn it. A satisfying click opens it. The memory of the Bao'an slowly fades away.
[[Back->Opendoor]]
(Set: $bronzekey to 1)You put in the silver key and turn it. A sharp click opens it. The horrors of the makeshift bomb fades away.
[[Back->Opendoor]]
(Set: $silverkey to 1)You put in the gold key and turn it. A loud click opens it. You see Bad eye's face one last time before it fades away.
[[Back->Opendoor]]
(Set: $goldkey to 1)You push open the door. Immediately, a wave of warmth and light blinds you. You're at a park, somewhere in the heart of Shanghai, the city you know all too well...
The door you walked through is gone.
You hear Ayis off in the distance, the sound of 小苹果 starts to play through broken speakers. They are just beginning their ritualistic dance.
In front of you is a man, sitting with his laptop open.
[[Walk up to the man ->pushopen2]]Just kidding! Well... it's the end of the demo, but it's just the beginning for you!
[[..... ->Yes]]
You read the old note...
(font: 'Coming Soon')[
Hallo! It's me Prince Charles! You did it! You found my monies! Good job to you! When u meet the man through the wechat, plz tell him the password...
**THERE IS NO CAKE**
REMEMBER THIS PASSWORD. You will get good deal!
- Prince Charles
]
[[Back ->startchallenge]]Great! I can't wait for you to start making your first interactive story. You're gonna love it. Add me on Wechat with the message: I'd like to join the Branches Workshop and I'll be in touch!
Also if you happen to open the chest, send me the secret password!
**Wechat: Mikerenyi**
<img src="https://branches.neocities.org/images/qrcode.jpg" border="0" style="max-width: 100%";>
THE END (For real this time)
[[Replay from beginning ->Start]]Sigh...then why are you still here? Okay bucko, if you don't click "Sign Up", you'll be taken to the start of the game, losing all your progress...
[[Sign Up -> Signup]]
[[No ->nope]]Okay, this is your last warning....
IF YOU DO NOT SIGN UP, YOU SHOULD REALLY JUST CLOSE THIS WINDOW. IF YOU CLICK NO YOU WILL GO BACK TO THE BEGINNING OF THE GAME.
[[Sign Up Begrudgingly -> Signup]]
[[No -> nopart]]Alright I guess there's not much else we can talk about. You can close this now.
[[Wait! Just kidding... I want to sign up -> Signup]]
[[Start Over ->Start]]Hey! Seems like you asked all the questions and finished the game. Now I ask you...
Are you interested in the BRANCHES workshop and making your first interactive story?
[[Sign me up!-> Signup]]
[[No-> No]]You see him typing furiously into the computer. Although you do not know this man, you feel he is the one with answers.
As you approach him, you reflect on the little stories of shanghai. You think about the simple and weird stories, knowing you could have written something much better.
If only you knew *how* to make something like this... so many questions and so little answers. Maybe laptop guy knows, even if you're quite sure he's not Prince Charles.
[[The End ->theend]]