{
=><=
(if:$code is "WMSFFK")[Well done on solving the first puzzle! (button:)[[Go to the 2nd room->2nd-room]](set: $first_room_passed to true)](else:)[No way forward here, unfortunately! <br> (button:)[[enter-passcode<-Try again!]]]
(if:$first_room_passed is false)[(if: $note_read is false)[(button:)[[Read the note->note]]]]
(if:$first_room_passed is false)[(button:)[[Check the room again->check-room]]]
<==
<br>
(if:visits is 2 and $note_read is true and $first_room_passed is false)[(text-style:"blink")[💡]Here is a hint: Guess the name of the people in the photo and their last names' initial would help create the pass-code! You can also use "the Web" for research! <br>Remember the pass-code is all CAPITAL letters!]
}(set: $counter to 1200)
(set: $started to false)
(set: $boss_avoided to false)
(set: $restarted to false)
(set: $said_yes_to_boss to false)
(set: $note_read to false)
(set: $first_room_passed to false)
(set: $game_over to false)
(set: $first_room_checked to false)
(set: $hint_1_shown to false)
(set: $notebook_read to false)
(set: $second_room_passed to false)
{
(unless: (passage:)'s tags contains "no-header")[<div style="text-align: right">''O<sup>2</sup>'': |amount>[$counter]</div>]
<hr>
(live: 1s)[
(if:$started is true and $second_room_passed is false)[(set: $counter to it - 1)
(if: $counter is 0)[(stop:)(go-to: "game_over")]
(replace: ?amount)[$counter]
]]
}It is a rather cold, snow-less late-December evening in Tammerburg. Everybody at the Ryktenlab and the other cancer groups are getting ready for the long-awaited, legendary Christmas party which is going to take place at the Wolley room.
Female researchers have transformed one of the office spaces into a changing and makeup room. Some of the male researchers are checking the stock of the alcohol they are going to gobble up during the evening and the rest are tootling with their phones in their not-so-festive clothing.
Around 6:00 p.m., the party begins. In the beginning, the participants are rather shy, but soon after the first couple of sips of the sparkling wine, one can start to hear the sound of the chatter from here and there. Everybody looks and sounds happy already!
After the usual Christmas party speeches and the dinner, and while the unsuspecting researchers are starting to become a little bit tipsy, a curious case starts to form!
Seygar shouts that "he" has an idea! Let's go to the laboratories and play hide and seek, he says. Omtash, seconds his idea.
What would you do?
---
{
=><=
(button:)[[Follow Seygar->beginning]]
(button:)[[Stay at the Wolley room->encounter-with-boss-prelude]]
---
(button:)[[Credits]]
(button:)[[Disclaimer]]
<==
}
{
So you think following Seygar to the lab wouldn't be a bad idea! So you follow him! But you start to notice that something is not right and that Seygar and Omtash are acting a bit weirdly! But it's too late! You hear a zap and every thing goes black!
<br>
=><=
(live: 4s)[(if:$hide_zap is not true)[(text-style:"rumble")[<img src="resources/zap_ASCII.png" alt="ZAP!" height="300" width="300" />]]]
(live: 6s)[(set: $hide_zap to true)]
(live: 8s)[<img src="resources/zap_ASCII.png" alt="ZAP!" height="100" width="100" />
]
<==
(live: 8s)[
<br>
Once you recover, you find yourself weightless, floating in an unknown room! You do not remember what happened! You wonder whether you are tripping!
<br>
You see a piece of note pinned on one of the walls! What would you do?
<br>
]
(live: 8s)[
=><=
(button:)[[Read the note->note]]
(button:)[[Check the surrounding->check-room]]
<==
]
}{
(set: $game_over to true)
=><=
####''Your ran out of oxygen!''
###(text-style:"blink")[(text-colour:red)[''GAME OVER!'']]
<img src="C:\Users\ea97523\Desktop\Twine_works\RIP_ASCII.png" alt="R.I.P" height="400" width="400" />
(button:)[[Restart the game->End-restart]]
(button:)[[Credits]]
=><=
}{
© 2021 by (link-rerun:"Ebrahim Afyounian")[(open-url:"https://orcid.org/0000-0002-0755-0131")].
<br>
This work was done at the (link-rerun:"Computational Biology group")[(open-url:"https://research.tuni.fi/computational-biology/")], (link-rerun:"Tamper University")[(open-url:"https://www.tuni.fi/fi")], Finland, to showcase the use of gamification (and more specifically the use of ''digital escape rooms'') for teaching in the higher education context.
<br>
---
=><=
(button:)[(if:$game_over is false)[(link-undo:"Go Back")]]
(button:)[[Restart the game->End-restart]]
<==
}{
=><=
(input-box: bind $code, "X", 1)
<br>
(button:)[[Check access!->first-door-check]]
---
(button:)[[Read the note->note]]
(button:)[[Check the room again->check-room]]
<==
}{
You managed to get to the second room! Well done! But you'd better hurry! You have less than (print: $counter) seconds O^^2^^ left.
You see a notebook on a desk with a drawer and another door with a keypad.
What will you do?
<br>
=><=
<br>
(button:)[[Check the notebook for clues->read-notebook]]
(button:)[[Check the drawer for clues->open-drawer]]
(button:)[[Guess the pass-code->enter-passcode2]]
(button:)[(link-rerun:"Search \"the Web\"")[(open-url:"https://www.google.com/search?q=alu1+restriction+site")]]
<==
}{
(if:$boss_avoided is true)[So you avoided your boss! and stayed in the room! Well done! But you do not have many choices lest! Do you?]
(if:$boss_avoided is false)[As you stay, you traverse the Wolley room trying to look social enough and interested in what your colleagues have to tell while waiting impatiently for the booze to kick in a little bit more! You notice that your booze is running out! What would you do?]
=><=
(if:visits is 2)[(text-style:"blink")[<br>(background:red)[🍺 Booze alert!]]]
<==
=><=
(if:visits is 3)[(text-style:"blink")[<br>(background:red)[🍺 Dude! Booze dude!]]]
<==
=><=
(if:visits is 4)[(go-to: "busted")]
<==
}
{
=><=
(button:)[[Continue traversing!->encounter-with-boss-prelude]]
(if:$boss_avoided is false)[(button:)[[Go and refill!->encounter-with-boss]]]
(button:)[[Follow Seygar->beginning]]
(if:$boss_avoided is true)[(button:)[[Save your dignity by going home!->go-home]]]
<==
}{
(if:visits is 1 and $said_yes_to_boss is false)[As you are waiting for your turn to get a refill, you notice that your boss is coming to your direction! What would you do?]
(if:visits >= 2 and $said_yes_to_boss is false)[So you decided to encounter the boss! Sweet! Your boss says hi and asks if you have been nice and completed the task you were supposed to do. What would you say?]
(if:visits >= 3 and $said_yes_to_boss is true)[You patiently wait for your turn to get more booze and to forget that you said yes to your boss! But you are already a bit drunk! What would you do next?]
=><=
<br>
(if:visits is 1)[(button:)[[[Avoid the boss!->encounter-with-boss-prelude]](set: $boss_avoided to true)]]
(if:visits is 1)[(button:)
[[Stay to refill!->encounter-with-boss]](set: $boss_avoided to false)
(button:)[[Follow Seygar->beginning]]
]
(if:visits is 2)[(button:)[[Avoid the boss!->fired]]]
(if:visits is 2)[(button:)[[Say that you will do it ASAP!->misery]]]
(if:visits >=3 )[(button:)[[Go home!->go-home]]]
(if:visits >=3 )[(button:)[[Get wasted!->wasted]]]
(if:visits >=3 )[(button:)[[Follow Seygar->beginning]]]
<==
}
So, you do not want to get another drink, yet you cannot be social enough without it! Maybe it is time to go home my friend! No hard feelings though!
=><=
###(text-style:"blink")[(text-colour:red)[''GAME OVER!'']]
(set: $game_over to true)
---
{
(button:)[[Restart the game->End-restart]]
(button:)[[Credits]]
=><=
}{
(set: $game_over to true)
You chose the right thing my friend! Nobody needs to see you in such a condition! Enjoy watching Netflix or whatever at home 🏠!
(if: $said_yes_to_boss is true)[And remember to pull an all-nighter to have the results for the boss ASAP!]
=><=
###(text-style:"blink")[(text-colour:red)[''The End!'']]
---
(button:)[[Restart the game->End-restart]]
(button:)[[Credits]]
=><=
}(button: 'Restart the game')[(reload:)]{
Dude! You've got some balls! But unfortunately, you are:
<br>
=><=
##🔥(text-style:"blink")[(background:red)[fired!]]🔥
###(text-style:"blink")[(text-colour:red)[''GAME OVER!'']]
---
(button:)[[Restart the game->End-restart]]
(button:)[[Credits]]
<==
}{
(set: $refilled to true)
(set: $said_yes_to_boss to true)
What a yes-person you are! But now, you feel miserable, a bit drunk and you are mad at yourself why you stayed at the Wolley room!
You see that Seygar and others are still at the Wolley room! What do you do?
<br>
=><=
(button:)[[Continue traversing!->encounter-with-boss-prelude]]
(button:)[[Follow Seygar->beginning]]
<==
}
Dude! You are soooo wasted! Maybe it is time to go home, get a cup of coffee and pull an all-nighter to have the results for the boss ASAP!
(set: $game_over to true)
<br>
=><=
###(text-style:"blink")[(text-colour:red)[''GAME OVER!'']]
---
{
(button:)[[Restart the game->End-restart]]
(button:)[[Credits]]
<==
}{
(set: $started to true)
(set: $note_read to true)
As soon as you touch the note you notice that (if: $first_room_checked is true)[the timer in the room](else: )[a timer on a screen in the room] starts ticking!
The note reads:
<blockquote style="border: 1px solid #fff; padding: 5px; background-color: #8f9c61; font-family: monospace; font-size: 12px;">
Welcome to the catapult c-elegans-hole (CEH) station 500 km away from the Earth! I needed to bring you here as hostages to make sure I get a safe passage! In less than (print: $counter) seconds the ship's control system stops oxygenating the rooms! You need to reach the launching room where you can find an escape pod otherwise you will experience permanent asphyxiation. You need to solve some puzzles to reach the room. This is to ensure that unauthorized people cannot use the facility. I am giving you a chance to get back to Earth because I consider you and everybody at the Ryktenlab as my friends! Sorry for what happened, but I really needed you to get access to the lab to "borrow" some samples to save my people! Good luck! Seygar!
</blockquote>
You think this is a bad joke! But what else can you do?
<br>
}
---
{
=><=
(button:)[[Accept defeat!->asphyxiate]]
(button:)[[Check the surrounding->check-room]]
<==
}{
(set: $first_room_checked to true)
There are not much in the room! Except for a door with a keypad, a screen on the wall where you can see (if:$started is true)[the amount of O^^2^^ you are left with](else:)[(background:cyan)[//O^^2^^=(print: $counter)//]], and a laptop possibly left behind by Seygar.
(if: $hint_1_shown is false)[(live:60s)[(set: $hint_1_shown to true)(text-style:"blink")[💡]Here is a hint: Guess the name of the people in the photo and their last names' initial would help create the pass-code! You can also use "the Web" for research! <br>Remember the pass-code is all CAPITAL letters!]](else:)[(text-style:"blink")[💡]Here is a hint: Guess the name of the people in the photo and their last names' initial would help create the pass-code! You can also use "the Web" for research! <br>Remember the pass-code is all CAPITAL letters!]
---
=><=
What will you do?
(button:)[[Read the note->note]]
(button:)[[Check the laptop->check-laptop]]
(button:)[[Guess the pass-code->enter-passcode]]
(if: $note_read is true)[(button:)[[Accept defeat!->asphyxiate]]]
(button:)[(link-rerun:"Search \"the Web\"")[(open-url:"https://images.google.com")]]
<==
}
{
The story, all names, characters, and incidents portrayed in this work are fictitious. No identification with actual persons (living or deceased), places, buildings, and products is intended or should be inferred.
---
=><=
(button:)[(if:$game_over is false)[(link-undo:"Go Back")]]
(button:)[[Credits]]
(button:)[[Restart the game->End-restart]]
<==
}There is not much to do while you are waiting for your demise! Enjoy your last moments by reminiscing the best moments of your life that you spent in the lab pipetting and coding!
Or maybe:
=><=
(button:)[[Check the surrounding->check-room]]
<==
{
=><=
(input-box: bind $code2, "X", 1)
<br>
(button:)[[Check access!->second-door-check]]
---
(button:)[[Check the notebook for clues->read-notebook]]
(button:)[[Check the drawer for clues->open-drawer]]
<==
}{
=><=
<img src="resources/title.png" alt="Hmm!" />
<br>
(button:)[[Start the game->story-begins]]
---
(button:)[[Credits]]
(button:)[[Disclaimer]]
<==
}{
So you have decided to check the laptop for clues! (if: $note_read is true)[But the timer is ticking! So you must hurry!]
On the desktop, you find 6 PNG files named `{1..6}.png`! You open them in order! Also you notice a Python file and open it in a text editor as well.
{
<br>
<img src="resources/JW.jpg" alt="Hmm!" height="150" width="150" />
<img src="resources/BM.jpg" alt="Hmm!" height="150" width="150" />
<img src="resources/fs.jpg" alt="Hmm!" height="150" width="150" />
<img src="resources/RF.jfif" alt="Hmm!" height="150" width="150" />
<img src="resources/rf.jpg" alt="Hmm!" height="150" width="150" />
<img src="resources/GK.jpg" alt="Hmm!" height="150" width="150" />
}
<br>
<img src="resources/passcode.png" alt="Hmm!" />
<br>
Incidentally, you find out that Seygar is a hominid agent from an exoplanet called ''KVD-22''. And that Omtash is nobody but Seygar's ''cis-vivihologram''.
=><=
<br>
(button:)[[Check the surrounding->check-room]]
<==
}{
(set: $notebook_read to true)
In the notebook, you see some images that seem to have come from an Illumina sequencing instrument!
<br>
<img src="resources/sequencer.png" alt="Hmm!" />
<br>
<img src="resources/sequence.png" alt="Hmm!" />
=><=
<br>
(button:)[[Go back->2nd-room]]
(button:)[[Check the drawer for clues->open-drawer]]
(button:)[[Guess the pass-code->enter-passcode2]]
<==
}{
=><=
(if: $code2 is "GCCAG")[(set: $second_room_passed to true)Well done! You solved the puzzle! And you reached the escape pod! What do you want to do?<br>(button:)[[Escape back to the Earth->escape-back-to-the-Earth]](button:)[[Go to the KVD-22 to get the samples back->KVD-22]](set: $second_room_passed to true)]
(else:)[No way forward here, unfortunately!<br>
(button:)[[enter-passcode2<-Try again!]]]
(if:$second_room_passed is false)[(if: $notebook_read is false)[(button:)[[Read the notebook->read-notebook]]]]
<==
<br>
(if:visits >= 2 and $notebook_read is true and $second_room_passed is false)[(text-style:"blink")[💡] Here is a hint: Guess the DNA sequence! Find the enzyme's cut site! Guess the pass-code!<br>Remember the pass-code is all CAPITAL letters!]
}{
Well done! You made it safely back to the Earth! Now, you need to figure out which samples have been "borrowed" and what you are going to tell to your boss about it!
<br>
But that is another story!
=><=
<br>
###(text-style:"blink")[(text-colour:red)[''The End!'']]
---
(button:)[[Restart the game->End-restart]]
(button:)[[Credits]]
=><=
}{
Unfortunately, there is no vessel available at the CEH for catapulting!
=><=
<br><br>
###(text-style:"blink")[(text-colour:red)[''To be continued!'']]
---
(button:)[[Go back to the Earth instead->escape-back-to-the-Earth]]
(button:)[[Restart the game->End-restart]]
(button:)[[Credits]]
=><=
}{
In the drawer, you see only a tube with the label AluI.
<br>
=><=
<img src="resources/tube.png" alt="Hmm!" height="300 " width="100" />
<==
=><=
<br>
(button:)[[Go back->2nd-room]]
(button:)[[Check the notebook for clues->read-notebook]]
(button:)[[Guess the pass-code->enter-passcode2]]
<==
}