(align:"=><=")+(box:"X")[Psycho
(A Twine Game)]
<img style="width:80%;display: block; margin-left: auto; margin-right: auto;" src="https://www.tylershandcoded.com/images/norman.png">
(align:"=><=")+(box:"X")[(There are flashing lights in this story. If that negatively affects you, please do not play.)
This is a normal story, but you are the main character. You must make choices for them in order to survive.]
(align:"=><=")+(box:"X")[(link:"Play with no jumpscares")[(go-to:"Marion Crane")]]
Test out your audio with this button:
(align:"=><=")+(box:"X")[(link-repeat:"Test Sound")[<audio src="https://tylershandcoded.com/audio/psycho/knifecutsonboard.mp3" autoplay>]]
Is your audio loud enough? Consider this then:
(align:"=><=")+(box:"X")[(link:"Play with jumpscares")[(set:$jumpscares to 1)(go-to:"Marion Crane")]](live:10s)[(set:$minute to it + 10)(go-to:"Room 1")](enchant:?link,(button:))\
(if:$tarred is 1)[(align:"=><=")+(box:"X")[Your clothes are mucked with tar, it now leads to your room...](set:$normanmove to 3)]\
(if:$bleeding is 1)[(align:"=><=")+(box:"X")[You're tracking blood... you've made a bright trail to your room.](set:$normanmove to 3)]\
(align:"==>")+(box:"X")[(b4r:"solid")+(b4r-colour:white)+(css:"Padding:5px;")+(text-colour:red)[$hour:(if:$minute < 10)[0]$minute AM.]]\
(align:"=><=")+(box:"X")[(if:$hiding is 1)[(if:$hidingspot is 1)[You are hiding under the bed.](if:$hidingspot is 2)[You are hiding in the closet.]]
(if:$normanpos is 4)[You see a silouhette outside the motel.(if:$norman is 3)[ The figure looks a little more stout than Norman. And agitated.]
]
(if:$normanpos is 5)[You spy a figure standing by the nearby tar pits.(if:$norman is 3)[ Flowy hair dances on them.]
]
(if:$normanpos is 3)[You hear footsteps in the room with you! They seem to be searching for you.
(if:$norman is 3)[You hear sounds of bashing and cutting of furniture.
(if:$hidingspot is 1)[(if:$valid1 is 0)[(set:$valid1 to 1)They open the closet, looking for you.](else:)[(set:$hiding to 2)You are dragged out of your hiding spot...]]\
(if:$hidingspot is 2)[(if:$valid2 is 0)[(set:$valid2 to 1)They check under the bed, looking for you.](else:)[(set:$hiding to 2)(set:$normandelay to 1)(set:$hidingspot to 0)You are dragged out of your hiding spot...]]]\
]
(if:$norman is 2)[In the distance, you hear arguing. Norman and his mother must be having a row again.
]
(if:$hiding is 1)[(link:"Exit Hiding Spot")[(set:$hiding to 0)(set:$hidingspot to 0)(go-to:"Room 1")]]]
(if:$hiding is 0)[(if:$attacked is 1 and $helpless is 1)[](else:)[(align:"=><=")+(box:"X")[You are standing around in your Motel Room.]
(if:$norman is 2)[In the distance, you hear arguing. Norman and his mother must be having a row again.
]
(if:$newspaper is 0)[(link:"Check the newspaper")[(set:$minute to it + 10)(set:$newspaper to 1)(go-to:"Room 1")]](if:$newspaper is 1)[You take the money from the newspaper. A brief peek at the weather articles reveals that dawn comes today at $dawnhour:00.
]
(if:$normanpos is 1 or 2)[You hear footsteps coming from the office.
]
(if:$normanpos is 2)[(if:$norman is 3)[(set:$normanmove to 3)]You also get the strange, hair-standing sensation that you're being watched.
]
(if:$normanpos is 5)[You spy a figure standing by the nearby tar pits.(if:$norman is 3)[ Flowy hair dances on them.]
]
(link:"Knock on Office Wall")[(if:$normanpos is 1 or $normanpos is 2)[(if:$norman is 1)[(set:$normanmove to 3)You hear, "Ah, coming!" in the next room.](if:$norman is 3)[(set:$normanmove to 3)(align:"=><=")+(box:"X")["I FOUND YOU, YOU WENCH!"]]](if:$normanpos is not 1 and $normanpos is not 2)[There is no response.]
]
(if:$carkeyspos is 3)[(if:$carkeys is 0)[(align:"=><=")+(box:"X")[You find your car keys on the desk!]
(link:"Take Keys")[(set:$carkeys to 1)You grab your car keys.]
]]
(if:$valid1 is 0)[(link:"Hide under bed")[(set:$minute to it +10)(set:$hiding to 1)(set:$hidingspot to 1)(go-to:"Room 1")]](else:)[(link:"Hide under bed (Used)")[(set:$hiding to 1)(set:$hidingspot to 1)(go-to:"Room 1")]]
(link:"Exit the Motel")[(set:$minute to it + 10)(set:$pos to 4)(go-to:"Outside Motel")]
You're feeling a bit crusty. Maybe it's time for a shower and a nice nap.
(link:"Take a Shower")[(set:$minutes to it +10)(go-to:"Shower Scene")]]](live:10s)[(set:$minute to it + 10)(go-to:"Estate Basement")](enchant:?link,(button:))\
(if:$norman is 2)[Upstairs, you hear arguing. Norman and his mother must be having a row again.
]
(align:"=><=")+(box:"X")[You are in the basement. There nothing but a chair labeled "Mrs. Bates" in the middle of the room.]
(if:$weaponpos is 10)[On the chair is a fedora.(if:$weapon is 0)[ You look under it to find a revolver!
(link:"Take revolver")[(set:$weapon to 1)Inspecting it and stowing it under your clothing, you find the word "Arbogast" etched onto the wooden handle.]]
]
(if:$attacked is 1 and $helpless is 1)[](else:)[(link:"Go back upstairs")[(set:$minute to it + 10)(set:$pos to 6)(go-to:"Estate Entrance")]](set:$hour to 0)(set:$minute to 0)(set:$dawnhour to (random:5,7))(align:"=><=")+(box:"X")[#Survive until dawn, then escape the Bates Motel.
- Do not encounter Mrs. Bates.
- Time moves either when you make a choice... or automatically. I would not recommend you dwell in random areas...
- Norman is a dynamic character, and will randomly wander around the area, sometimes interacting with stimuli. Try to keep his location in mind.
Choose your Marion:
]
(link:"Agile")[(align:"=><=")+(box:"X")[(set:$pos to 3)(set:$guestcheck to (either:1,2))(set:$estatekeypos to (either:1,2,5))(set:$crowbarpos to (either:1,2,4,7))(set:$weaponpos to (either:8,10))(set:$carkeyspos to (either:3,9))(set:$control to 1)(set:$normanpos to 2)(set:$helpless to 0)(set:$game to 1)(set:$norman to 1)(go-to:"Room 1")]]: You can run away from Mrs. Bates and avoid your demise by changing rooms.
(link:"Helpless")[(align:"=><=")+(box:"X")[(set:$pos to 3)(set:$guestcheck to (either:1,2))(set:$estatekeypos to (either:1,2,5))(set:$crowbarpos to (either:1,2,4,7))(set:$weaponpos to (either:8,10))(set:$carkeyspos to (either:3,9))(set:$control to 1)(set:$normanpos to 2)(set:$game to 1)(set:$norman to 1)(set:$helpless to 1)(go-to:"Room 1")]]: Once you are in Mrs. Bates' range, all exits close. For masochists.Your name is Norman Bates. You are a normal man who runs a hotel.
Prevent your mother from killing Marion Crane.
Or: Protect your mother.(enchant:?link,(button:))\
(align:"=><=")+(box:"X")[#Tips]
(if:$deaths >= 1)[Tip #1: Don't take a shower.]
(if:$deaths >= 2)[Tip #2: Avoid Mother Bates.]
(if:$deaths >= 3)[Tip #3: Every ten seconds, time will pass. Bates will take turns either moving, or changing form.]
(if:$deaths >= 4)[Tip #4: A key is needed both for the Bates Estate and your precious car...]
(if:$deaths >= 5)[Tip #5: Normon has three distinct phases, with differing levels of danger. The "Mother" phase will hunt for you and attempt to kill you on sight.]
(if:$deaths >= 6)[Tip #6: Almost all hiding spots become "(Used)" after eluding Mrs. Bates once. They will not work a second time.]
(if:$deaths >= 7)[Tip #7: Sometimes, doing nothing is the right call.]
(if:$deaths >= 8)[Tip #8: Try calling someone.]
(if:$deaths >= 9)[Tip #9: Use visual clues to your advantage. If you see an unstable female sillouette in a nearby area, avoid it.]
(if:$deaths >= 10)[Tip #10: The office parlor has one of the only phones on the entire lot. However, there's only one way in and out.]
(if:$deaths >= 11)[Tip #11: Talking with Norman is a good way to waste time, which can help you reach dawn.]
(if:$deaths >= 12)[Tip #12: The Bates Estate has many areas to explore, but only one exit. It can be quite dangerous there, but who knows, something important may be hidden there...]
(if:$deaths >= 13)[Tip #13: The tar pits are an excellent place to hide. But take care you don't become drowned evidence.]
(if:$deaths >= 14)[Tip #14: Having tar on you leaves large, visible footprints... Maybe taking a shower isn't such a bad idea...]
<!-- Reset all variables here. -->(set:$game to 0)(set:$bleeding to 0)(set:$askfood to 0)(set:$askmom to 0)(set:$cutscene to 0)(set:$insultmom to 0)(set:$weapon to 0)(set:$guestcheck to 0)(set:$carkeys to 0)(set:$estatekey to 0)(set:$hiding to 0)(set:$midconvo to 0)(set:$sam to 0)(set:$valid1 to 0)(set:$valid2 to 0)(set:$valid3 to 0)(set:$valid4 to 0)(set:$valid5 to 0)(set:$valid6 to 0)(set:$valid7 to 0)(set:$valid8 to 0)(set:$normandelay to 0)(set:$attacked to 0)(set:$newspaper to 0)(set:$normanpos to 2)(set:$helpless to 0)(align:"=><=")+(box:"X")[(link:"Try Again")[(go-to:"Marion Crane")]](enchant:?link,(button:))\
(if:$tarred is 1 or $bleeding is 1)[(if:$tarred is 1)[You quickly clean the tar off your clothes and body. No more, no less.
]
(if:$bleeding is 1)[You wash up and hastily dress your wounds. It's not perfect, but you no longer have to worry about leaving a trail.
]
(set:$tarred to 0)(set:$bleeding to 2)You then proceed to get the hell out of the shower.
(link:"Back to your room")[(go-to:"Room 1")]]
(else:)[(set:$pos to 0)(align:"=><=")+(box:"X")[Water pours onto you.](live:.5s)[(set:$rain to (random:1,5))]
(text-colour:blue)[
(align:"<==")+(box:"===XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX=======")[(live:.5s)[(if:$rain is 1)[|]]]
(align:"==>")+(box:"XXXXXXXXX=")[(live:.5s)[(if:$rain is 2)[|]]]
(align:"<==")+(box:"=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX====")[(live:.5s)[(if:$rain is 3)[|]]]
(align:"=><=")+(box:"==XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX===")[(live:.5s)[(if:$rain is 4)[|]]]
(align:"==>")+(box:"===XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX=======")[(live:.5s)[(if:$rain is 5)[|]]]]
(event:when time > 5s)[(if:$jumpscares is 1)[<audio src="https://tylershandcoded.com/audio/psycho/death.mp3" autoplay>]You sense a prescene behind you.]
(event:when time > 7s)[There's someone in here with you!]
(event:when time > 8s)[You feel a sharp pain.]
(event:when time > 8.5s)[A sharper pain...]
(event:when time > 9s)[A sharp...]
(event:when time > 9.5s)[(go-to:"Death Screen")]](enchant:?link, (button:))(if:$jumpscares is 1)[<audio src="https://tylershandcoded.com/audio/psycho/cooldown.mp3" autoplay>](set:$deaths to it +1)(set:$pos to 0)(set:$estatekeypos to 0)(set:$crowbarpos to 0)(set:$weaponpos to 0)(set:$game to 0)(enchant:?page,(bg:red))
(align:"=><=")+(box:"X")[(event: when time > 3s)[Y](event: when time > 3.5s)[o](event: when time > 4s)[u](event: when time > 4.5s)[ ](event: when time > 5s)[a](event: when time > 5.5s)[r](event: when time > 6s)[e](event: when time > 6.5s)[ ](event: when time > 7s)[d](event: when time > 7.5s)[e](event: when time > 8s)[a](event: when time > 8.5s)[d](event: when time > 9s)[.]]
(event:when time > 10s)[(link:"Try Again")[(go-to:"Tip Screen")]](if:$game is 1)[(enchant:?link,(button:))(if:$dawnhour is $hour)[(set:$dawn to 1)](if:$minute >= 60)[(set:$minute to it - 60)(set:$hour to it + 1)](if:$hiding is 2)[(set:$hiding to 0)](if:$hour is $guestcheck)[(set:$normanmove to 3)(set:$guestcheck to it + (either:1,2))](if:$normandelay is 0)[(if:$normanpos is $pos and $norman > 1 and $hiding is 0)[(set:$attacked to 1)(if:$jumpscares is 1)[<audio src="https://tylershandcoded.com/audio/psycho/death.mp3" autoplay>](align:"=><=")+(box:"X")[(set:$normanturn to 0)(set:$bleeding to 1)A knife stabs at you!
(if:$weapon is not 1)[(event:when time > 1s)[(set:$pos to 0)(enchant:?page,(background:#450B0C))You feel a sharp pain.]
(event:when time > 2s)[(enchant:?page,(background:#7B0708))A sharper pain...]
(event:when time > 3s)[(enchant:?page,(background:#B00405))A sharp...]
(event:when time > 4s)[(go-to:"Death Screen")]
]
(if:$weapon is 1 and $weaponpos is 8)[(set:$normandelay to 3)(set:$bleeding to 1)(set:$attacked to 2)(set:$weapon to 2)(set:$hiding to 0)(if:$normanpos is 9)[(set:$normanpos to 7)Something tells you that you should not stick around in the estate. ](if:$normanpos is not 9)[(set:$normanpos to 9)](event:when time > 3s)[You scream and stab back with your own knife.]
(event:when time > 5s)[Ms. Bates yells and pushes you away, escaping.]
(event:when time > 7s)[She takes the knife with her.]
(event:when time > 8s)[You have survived, by a knife's edge.]]
(if:$weapon is 1 and $weaponpos is 10)[(set:$normandelay to 3)(set:$bleeding to 1)(set:$weapon to 2)(set:$attacked to 2)(set:$hiding to 0)(if:$normanpos is 9)[(set:$normanpos to 7)Something tells you that you should not stick around in the estate. ](if:$normanpos is not 9)[(set:$normanpos to 9)](event:when time > 3s)[You scream and fire the single round in your gun.]
(event:when time > 5s)[Ms. Bates yells and pushes you away, escaping.]
(event:when time > 7s)[She takes your only bullet with her. You toss away the gun.]
(event:when time > 8s)[You have dodged a bullet.]]]]
(if:$norman is 2)[(set:$behavior to (either:1,2))(if:$behavior is 2)[(set:$control to it - 1)](set:$norman to 3)]\
(if:$normanturn is 1)[(if:$normanpos is 1)[(set:$normanturn to 0)(if:$normanmove is 3)[(set:$normanpos to 4)](if:$normanmove is 0)[(set:$behavior to (random:$control,4))(if:$behavior <= 1)[(if:$norman is 3)[(set:$norman to 1)](else:)[(set:$norman to 3)]](if:$behavior >= 2)[(set:$behavior to (either:1,2))(if:$behavior is 1)[(set:$normanpos to 2)](else:)[(set:$normanpos to 4)]]]]]\
(if:$normanturn is 1)[(if:$normanpos is 2)[(set:$normanturn to 0)(if:$normanmove is 3)[(set:$normanpos to 1)](if:$normanmove is 0)[(set:$behavior to (random:$control,4))(if:$behavior <= 1)[(if:$norman is 3)[(set:$norman to 1)](else:)[(set:$norman to 3)]](if:$behavior >= 2)[(set:$normanpos to 1)]]]]\
(if:$normanturn is 1)[(if:$normanpos is 4)[(set:$normanturn to 0)(if:$normanmove is 3)[(set:$normanpos to 3)](if:$normanmove is 0)[(set:$behavior to (random:$control,4))(if:$behavior <= 1)[(if:$norman is 3)[(set:$norman to 1)](else:)[(set:$norman to 3)]](if:$behavior >= 2)[(set:$behavior to (random:1,4))(if:$behavior is 1)[(set:$normanpos to 1)](if:$behavior is 2)[(set:$normanpos to 3)](if:$behavior is 3)[(set:$normanpos to 5)](else:)[(set:$normanpos to 6)]]]]]\
(if:$normanturn is 1)[(if:$normanpos is 3)[(set:$normanturn to 0)(if:$normanmove is 3)[(set:$normanmove to 0)](if:$normanmove is 0)[(set:$behavior to (random:$control,4))(if:$behavior <= 1)[(if:$norman is 3)[(set:$norman to 1)](else:)[(set:$norman to 3)]](if:$behavior >= 2)[(set:$normanpos to 4)]]]]\
(if:$normanturn is 1)[(if:$normanpos is 5)[(set:$normanturn to 0)(set:$behavior to (random:$control,4))(if:$behavior <= 1)[(if:$norman is 3)[(set:$norman to 1)](else:)[(set:$norman to 3)]](if:$behavior >= 2)[(set:$normanpos to 4)]]]\
(if:$normanturn is 1)[(if:$normanpos is 6)[(set:$normanturn to 0)(set:$behavior to (random:$control,4))(if:$behavior <= 1)[(if:$norman is 3)[(set:$norman to 1)](else:)[(set:$norman to 3)]](if:$behavior >= 2)[(set:$behavior to (random:1,6))(if:$behavior is 1)[(set:$normanpos to 7)](if:$behavior is 2)[(set:$normanpos to 8)](if:$behavior is 3)[(set:$normanpos to 9)](if:$behavior > 3)[(set:$normanpos to 4)]]]]\
(if:$normanturn is 1)[(if:$normanpos is 7)[(set:$normanturn to 0)(if:$normandelay > 0)[(set:$normandelay to it -1)](if:$normandelay is 0)[(set:$behavior to (random:$control,4))(if:$behavior <= 1)[(if:$norman is 3)[(set:$norman to 1)](else:)[(set:$norman to 3)]](if:$behavior >= 2)[(set:$normanpos to 6)]]]]\
(if:$normanturn is 1)[(if:$normanpos is 8)[(set:$normanturn to 0)(set:$behavior to (random:$control,4))(if:$behavior <= 1)[(if:$norman is 3)[(set:$norman to 1)](else:)[(set:$norman to 3)]](if:$behavior >= 2)[(set:$normanpos to 6)]]]\
(if:$normanturn is 1)[(if:$normanpos is 9)[(set:$normanturn to 0)(if:$normandelay > 0)[(set:$normandelay to it -1)](if:$normandelay is 0)[(set:$behavior to (either:1,2))(if:$behavior is 1)[(set:$norman to 2)](if:$behavior is 2)[(set:$normanpos to 6)]]]]\
(if:$normanspeak is not 1)[(if:$norman is 1 and $normanpos is $pos)[(set:$normanspeak to 1)(set:$hiding to 0)(go-to:"Meet Norman")]]]\
(if:$normanspeak is 0)[(set:$normanturn to 1)]\
(if:$normandelay > 0)[(set:$normandelay to it -1)]](live:10s)[(set:$minute to it + 10)(go-to:"Outside Motel")](enchant:?link,(button:))\
(if:$dawn is 1)[It's Dawn, and bright outside.(if:$sam is 1)[ You spot a car in the distance, it's Sam!
(link:"Escape with Sam")[(go-to:"Sam Escape")]]]
(align:"=><=")+(box:"X")[You are outside, in the parking lot of the Motel.]
(if:$hiding is 1)[You are hiding in your car.
(if:$carkeys is 0)[You don't have your car keys on you! Where are they?
]
(if:$carkeys is 1)[You have your car keys.
(link:"Drive off")[(if:$dawn is 0)[It's dark as pitch outside and you're tired. This may not be the wisest decision. Are you sure?
]
(if:$dawn is 1)[The motor revs.
]
(link:"Step on it!")[(set:$pos to 0)(go-to:"Drive Away Cutscene")]]
]
(if:$norman is 2)[In the distance, you hear arguing. Norman and his mother must be having a row again.
]
(if:$normanpos is 4)[There's someone outside of your car! You lean back, hiding in your seat.
(if:$norman is 3)[(if:$valid4 is 0)[(set:$valid4 to 1)The figure grumbles nonsense to themselves in a croaky voice.](else:)[(set:$hiding to 2)They drag you out of the car...]]
]
(if:$normanpos is 9)[You see a shadow from the upstairs window of the Bates Estate. You can't tell if it's Norman or not.
]
(if:$hiding is 1)[(link:"Exit Hiding Spot")[(set:$hiding to 0)(set:$hidingspot to 0)(go-to:"Outside Motel")]]]
(if:$norman is 2)[In the distance, you hear arguing. Norman and his mother must be having a row again.
]
(if:$hiding is 0)[(if:$attacked is 1 and $helpless is 1)[](else:)[
(if:$normanpos is 5)[You spy a figure standing by the nearby tar pits.(if:$norman is 3)[ Flowy hair dances on them.]
]
(if:$normanpos is 9)[You see a shadow from the upstairs window of the Bates Estate. You can't tell if it's Norman or not.
]
(link:"Enter the Office")[(set:$minute to it +10)(set:$pos to 1)(go-to:"Office")]
(link:"Enter Your Room")[(set:$minute to it +10)(set:$pos to 3)(go-to:"Room 1")]
(link:"Check out the nearby tar pits")[(set:$minute to it +10)(set:$pos to 5)(go-to:"Tar Pits")]
(link:"Approach the Bates Estate")[(set:$minute to it +10)(set:$pos to 6)(go-to:"Estate Entrance")]
(if:$valid4 is 0)[(link:"Hide in your car")[(set:$minute to it +10)(set:$hiding to 1)(go-to:"Outside Motel")]](if:$valid4 is 1)[(link:"Hide in your car (Used)")[(set:$minute to it +10)(set:$hiding to 1)(go-to:"Outside Motel")]]]](live:10s)[(set:$minute to it + 10)(if:$hiding is 1)[(set:$oxygen to it -1)](go-to:"Tar Pits")](if:$hiding is 1)[(align:"=><=")+(box:"X")[You are lying in the tar pits, trying to hold your breath.]
(if:$normanpos is 5)[You hear footsteps near the surface.
(if:$norman is 3)[The figure grumbles nonsense to themselves in a croaky voice.]
]
(if:$normanpos is 4)[You spy a figure outside the motel.
]
(if:$oxygen is 1)[You need air.
]
(if:$oxygen is 0)[You are suffocating.
]
(if:$oxygen < 0)[(go-to:"Death Screen")]
(link:"Climb out")[(set:$hiding to 0)(set:$hidingplace to 0)(go-to:"Tar Pits")]]
(if:$hiding is 0)[(align:"=><=")+(box:"X")[You stand next to the tar pits.
]
(if:$normanpos is 4)[You spy a figure outside the motel.(if:$norman is 3)[ Flowy hair moves around them.]
]
(if:$normanpos is 6)[You see a sillouette near the Bates Estate entrance.
]
(if:$normanpos is 9)[You see a shadow from the upstairs window of the Bates Estate. You can't tell if it's Norman or not.
]
(if:$attacked is 1 and $helpless is 1)[](else:)[(if:$estatekeypos is 5)[(if:$estatekey is 0)[You find a key to the estate near the pit!
(link:"Take Key")[(set:$estatekey to 1)You snatch the Bates Estate key.]
]]
(if:$norman is 2)[In the distance, you hear arguing. Norman and his mother must be having a row again.
]
(align:"=><=")+(box:"X")[The action seems quite drastic, but you could hide in the pits, if need be.]
(link:"Hide in the tar pits")[(set:$oxygen to 2)(set:$hiding to 1)(set:$tarred to 1)(go-to:"Tar Pits")]
(align:"=><=")+(box:"X")[You find a somewhat hidden climb, which can take you to the Bates Estate entrance.]
(link:"Sneak up to the Bates Estate")[(set:$minute to it +10)(set:$pos to 6)(go-to:"Estate Entrance")]
(link:"Go back to the Motel")[(set:$minute to it + 10)(set:$pos to 4)(go-to:"Outside Motel")]]](live:10s)[(set:$minute to it + 10)(go-to:"Estate Entrance")]\
(align:"==>")+(box:"X")[(b4r:"solid")+(b4r-colour:white)+(css:"Padding:5px;")+(text-colour:red)[$hour:(if:$minute < 10)[0]$minute AM.]]\
(if:$attacked is 1 and $helpless is 1)[](else:)[(if:$normanpos is 4)[You see a silouhette near the motel. (if:$norman is 3)[The figure looks a little more stout than Norman. And agitated.]
]
(if:$normanpos is 5)[You see a silouhette near the tar pits.(if:$norman is 3)[ The figure looks a little more stout than Norman. And agitated.]
]
(if:$estatekey is 0)[The front door is locked. You'll need a key in order to enter any of the rooms.
]
(if:$estatekey is 1)[The front door is locked, but you have a key!
(if:$normanpos >= 6)[You get a strange feeling of fear, though, laying your hand on the doorknob.
]
(link:"Unlock Door")[(set:$estatekey to 2)(go-to:"Estate Entrance")]]
(if:$estatekey is 2)[You are on the inside of the Bates Estate.
(if:$normanpos is 4)[You see a sillouette outside the motel.(if:$norman is 3)[ Flowy hair moves around them.]
]
(if:$normanpos is 5)[You spy someone looking at the tar pits.
]
(if:$normanpos is 8)[You hear footsteps in the kitchen.(if:$norman is 3)[ It sounds like... someone sharpening a knife.]
]
(if:$normanpos is 9)[You hear (if:$norman is 2)[yelling and ]footsteps upstairs.(if:$norman is 2)[ Sounds like Norman is having a row with his mother.]
]
(if:$normanpos is 7)[You hear footsteps downstairs.
]
(link:"Check out the Basement")[(set:$minute to it + 10)(set:$pos to 7)(go-to:"Estate Basement")]
(link:"Enter the Kitchen")[(set:$minute to it + 10)(set:$pos to 8)(go-to:"Estate Kitchen")]
(link:"Go Upstairs")[(set:$minute to it + 10)(set:$pos to 9)(go-to:"Upstairs Estate")]]
(link:"Walk back to the motel")[(set:$minute to it + 10)(set:$pos to 4)(go-to:"Outside Motel")]
(align:"=><=")+(box:"X")[You find that you can also hop down a small, hidden hill, in order to get to the nearby tar pits.]
(link:"Check out the nearby tar pits")[(set:$minute to it +10)(set:$pos to 5)(go-to:"Tar Pits")]](live:10s)[(set:$minute to it + 10)(go-to:"Estate Kitchen")](enchant:?link,(button:))\
(align:"=><=")+(box:"X")[You are in the Bates' Kitchen.]
(if:$attacked is 1 and $helpless is 1)[](else:)[(if:$normanpos is 6)[You hear the front door open. Someone is at the entrance.
]
(if:$normanpos is 9)[You hear (if:$norman is 2)[yelling and ]footsteps upstairs.(if:$norman is 2)[ Sounds like Norman is having a row with his mother.]
]
(if:$normanpos is 7)[You hear footsteps downstairs.
]
(if:$normanpos is 4)[You see a silouhette near the motel.(if:$norman is 3)[ The figure looks a little more stout than Norman. And agitated.]
]
(if:$weaponpos is 8)[You see a large knife block. All of the knives are gone.(if:$weapon is 0)[ Except for one.]
(if:$weapon is 0)[(link:"Grab Knife")[(set:$weapon to 1)(set:$minute to it+10)(go-to:"Estate Kitchen")]]
(if:$weapon >= 1)[(if:$weapon is 2)[There are no more knives...](else:)[You hold the last knife in your hand.]]]
(if:$weaponpos is not 8)[(align:"=><=")+(box:"X")[There's... something missing in this room.
You have to think about it for a second.
It's the knives. They're all gone.]]
(link:"Go back to Entrance")[(set:$minute to it + 10)(set:$pos to 6)(go-to:"Estate Entrance")]](live:10s)[(set:$minute to it + 10)(go-to:"Upstairs Estate")]\
(if:$hiding is 1)[(if:$hidingspot is 7)[You are hiding under the Bates' bed. The smell of the corpse above is nauseating.](if:$hidingspot is 8)[You are hiding in the Bates' wardrobe. The smell of perfume is heavy.]
(if:$normanpos is 9)[You hear footsteps in the room with you! They seem to be searching for you.
(if:$norman is 3)[You hear sounds of bashing and cutting of furniture.
(if:$hidingspot is 7)[(if:$valid7 is 0)[(set:$valid7 to 1)They open the wardrobe, looking for you.](else:)[(set:$hiding to 2)(set:$hidingspot to 0)You are dragged out of your hiding spot...]]
(if:$hidingspot is 8)[(if:$valid8 is 0)[(set:$valid8 to 1)They check under the bed, looking for you.](else:)[(set:$hiding to 2)(set:$hidingspot to 0)You are dragged out of your hiding spot...]]]
]
(if:$norman is 2)[Norman and... something else... are arguing from outside of your hiding spot. You can't seem to see what he's arguing with, though. You can only hear her.
]
(if:$hiding is 1)[(link:"Exit Hiding Spot")[(set:$hiding to 0)(set:$hidingspot to 0)(go-to:"Upstairs Estate")]]]
(if:$hiding is 0)[(align:"=><=")+(box:"X")[You are in the Upstairs Bedroom of the Bates' Estate.
You peek out the window.]
(if:$normanpos is 4)[You spy a figure outside the motel.(if:$norman is 3)[ Flowy hair moves around them.]
]
(if:$normanpos is 5 or 7)[You hear movement downstairs.(if:$norman is 3)[ Heavy stomping.]
]
(if:$attacked is 1 and $helpless is 1)[](else:)[There's... a desicated corpse on the bed. You gag.
(if:$carkeyspos is 9)[(if:$carkeys is 0)[(align:"=><=")+(box:"X")[You spot your car keys on the dresser!]
(link:"Take Car Keys")[(set:$carkeys to 1)(set:$minute to it +10)(go-to:"Upstairs Estate")]
]
(if:$carkeys is 1)[You took back your car keys from the Bates'!]]
(if:$valid7 is 0)[(link:"Hide under the Bates' bed")[(set:$minute to it +10)(set:$hiding to 1)(set:$hidingspot to 7)(go-to:"Upstairs Estate")]](else:)[(link:"Hide under the Bates' bed (Used)")[(set:$hiding to 1)(set:$hidingspot to 7)(go-to:"Upstairs Estate")]]
(if:$valid8 is 0)[(link:"Hide in the Bates' wardrobe")[(set:$minute to it +10)(set:$hiding to 1)(set:$hidingspot to 8)(go-to:"Upstairs Estate")]](else:)[(link:"Hide in the Bates' wardrobe (Used)")[(set:$hiding to 1)(set:$hidingspot to 8)(go-to:"Upstairs Estate")]]
(link:"Go back downstairs")[(set:$minute to it + 10)(set:$pos to 6)(go-to:"Estate Entrance")]]](live:10s)[(set:$minute to it + 10)(go-to:"Office")](enchant:?link,(button:))\
(if:$hiding is 1)[(align:"=><=")+(box:"X")[You are hiding behind the desk.]
(if:$estatekeypos is 1)[(if:$estatekey is 0)[(align:"=><=")+(box:"X")[You find a key to the estate behind the desk!]
(link:"Take Key")[(set:$estatekey to 1)You snatch the Bates Estate key.]
]]
(if:$norman is 2)[In the distance, you hear arguing. Norman and his mother must be having a row again.
]
(if:$normanpos is 2)[You hear someone in the parlor.]
(if:$normanpos is 1)[You hear someone open the office door.(if:$norman is 3)[ They stomp around inside!
(if:$valid3 is 0)[(set:$valid3 to 1)They can't seem to find you behind the desk.](else:)[(set:$hiding to 2)(set:$normandelay to 1)You are dragged out from the desk...]]]
(if:$hiding is 1)[(link:"Exit Hiding Spot")[(set:$hiding to 0)(go-to:"Office")]]]
(align:"==>")+(box:"X")[(b4r:"solid")+(b4r-colour:white)+(css:"Padding:5px;")+(text-colour:red)[$hour:(if:$minute < 10)[0]$minute AM.]]\
(if:$hiding is 0)[(align:"=><=")+(box:"X")[You are in the Motel Office.]
(if:$attacked is 1 and $helpless is 1)[](else:)[(if:$norman is 2)[In the distance, you hear arguing. Norman and his mother must be having a row again.
]
(if:$normanpos is 4)[You see a silouhette outside.(if:$norman is 3)[ The figure looks a little more stout than Norman. And agitated.]
]
(if:$valid3 is 0)[(link:"Hide behind desk")[(set:$minute to it +10)(set:$hiding to 1)(go-to:"Office")]](else:)[(link:"Hide behind desk (Used)")[(set:$minute to it +10)(set:$hiding to 1)(go-to:"Office")]]
(link:"Go into Office Parlor")[(set:$minute to it +10)(set:$pos to 2)(go-to:"Office Parlor")]
(link:"Exit the Office")[(set:$minute to it + 10)(set:$pos to 4)(go-to:"Outside Motel")]]](live:10s)[(set:$minute to it + 10)(go-to:"Office Parlor")](enchant:?link,(button:))\
You are in the office parlor.
(if:$attacked is 1 and $helpless is 1)[](else:)[(if:$norman is 2)[In the distance, you hear arguing. Norman and his mother must be having a row again.
]
(if:$normanpos is 4)[You see a silouhette near the motel.(if:$norman is 3)[ The figure looks a little more stout than Norman. And agitated.]
]
(if:$normanpos is 5)[You see a silouhette near the tar pits.(if:$norman is 3)[ The figure looks a little more stout than Norman. And agitated.]
]
(if:$estatekeypos is 2)[(if:$estatekey is 0)[(align:"=><=")+(box:"X")[You find a key to the estate near the phone!]
(link:"Take Key")[(set:$estatekey to 1)You snatch the Bates Estate key.]
]]
(if:$peephole is 0)[You spy a somewhat disturbing painting.
(link:"Examine the painting")[(set:$peephole to 1)(go-to:"Office Parlor")]]
(if:$peephole is 1)[You pull the painting off the wall and find a peephole into your room. Disgusting...
(link:"Look through peephole")[Reluctantly, you peek through.
(if:$normanpos is 3)[You see Norman.(if:$norman is 3)[ They're donning a wig.]]
(if:$normanpos is not 3)[You see nobody.]]]
You also find a small rotary phone on the desk.
(link:"Use phone")[Who do you want to call?
(link:"Sam")[(if:$sam is 1)[The phone is no longer working.
](if:$sam is 0)[(go-to:"Sam Talk")]]]
(link:"Back to Office Entrance")[(set:$minute to it + 10)(set:$pos to 1)(go-to:"Office")]]#(Time has temporarily paused.)(enchant:?link,(button:))
(set:$sam to 1)"Sam!" You say. "It's so nice to hear your voice!"
"Marion?" He says. "What's wrong?"
"The Bates Motel!" You say. "Please, hurry!"
"A hotel? You're here? In California? What... why?"
"Please Sam,"
(if:$attacked >= 1)["There is a murderer!" You say.
"A murderer? What the hell?" He says. "Damn! I'll be on my way immediately!"
As Sam reassures you, you hear yourself cry out loud.]
(if:$attacked < 1)["I- I just don't know, Sam." You say.
"I don't feel safe here, I want you here."
"Aw Marion, come on," He sighs, then laughs a little. "I'll close up and be there, alright?"
As Sam reassures you, you hear yourself cry out loud.]
"Will you survive until the sun rises?" Asks Sam.
As tears roll down your cheek, you nod, forgetting that he isn't there with you.
"Is that a yes, Marion?"
"Yes. I'll see you with the sun, Sam."
"Good. Now I want you to call the police and-"
You hear a cut, and you no longer hear Sam's voice.
"Sam? Sam?" You plead. But it's no use, the phone isn't working anymore.
(link:"Put down receiver")[(go-to:"Office Parlor")](enchant:?link,(button:))\
(if:$midconvo is 0)[You feel a hand on your shoulder. You jump.
]
#(Time has temporarily paused.)
(if:$insultmother is 1)[He frowns as sees you, remembering that comment about his mother.
]
(if:$pos <= 4)[(if:$midconvo is 0)["Aw. Hi Marion. Didn't mean to startle you." Says Norman.
You give a breath of relief.
(if:$tarred is 1)[He looks down at your shoes. You're laying a huge trail of tar wherever you go.
"That's a bit... inconvenient, isnt it?" He says.
"Aw... sorry." He says, trying not to insult you.]
"Did you need something?" He asks.
]
(if:$midconvo is 1)["Need anything else?" He asks.
]
(if:$askfood is 0)[(link:"Ask for more food")[(set:$midconvo to 1)(set:$minute to it + 30)(set:$askfood to 1)(go-to:"Ask for food")
]]
(if:$askmom is 0)[(link:"Ask about his mother")[(set:$midconvo to 1)(set:$minute to it + 10)(set:$askmom to 1)(go-to:"Ask about his mother")]]
(if:$insultmother is 0)[(link:"Insult his mother")[(set:$midconvo to 0)(set:$minute to it + 10)(set:$insultmother to 1)(go-to:"Insult Mother")]]
(link:"Nothing else.")[(set:$minute to it + 10)(set:$midconvo to 0)(go-to:"Conversation End")]]
(if:$pos >= 5)[(set:$pos to 4)(set:$minute to it +10)(set:$normanpos to 6)"Marion, what are you doing here?" Asks Norman.
"Aw... I guess I got lost." Says Marion.
Norman shakes his head. "You can't be here." He says. "Here, let me walk you out."
He walks you back to the hotel.
You arrive and thank him for walking you.
He nods to you and walks back to his house. You notice he won't stop looking back as he walks, to take sneak glances at you.
(link:"Outside the Motel")[(set:$normanspeak to 0)(go-to:"Outside Motel")]]"Hungry, aren't we?" He says, smiling. "Y-you stay here, and I'll come back with more food."
You wait for him, and eat again with him, this time eating a bloody steak, having another strange conversation on birds.
Thirty minutes pass.
(link:"Back to talking to Norman")[(go-to:"Meet Norman")]"She's... sleeping in her room right now." Says Norman.
"I worry about her sometimes. I... I just hope she isn't sick or anything."
Ten minutes pass as you talk on his mother.
(link:"Back to talking to Norman")[(go-to:"Meet Norman")]"Your mother is dangerous, Norman." You say.
"Dangerous? Are you sane? That's... that's my goddamn mother!" He says.
"Norman... is she... alright?" You ask.
"Alright?!" Exclaims Norman. He shakes his head and stands up.
"I-I'm sorry," he says. "I-I have to go."
He walks away back towards the Bates Estate, quickly closing the door behind him.
You quickly escape to your room.
(Time has resumed.)
(link:"Room 1")[(set:$pos to 3)(set:$normanpos to 9)(set:$norman to 3)(set:$normanspeak to 0)(go-to:"Room 1")]He nods to you and puts his hand up, walking away.
"Remember, just find me if you need anything."
As he walks away, he turns his head several times, checking to see if you're still there.
You walk back to your room.
(Time will resume when you click this.)
(link:"Room 1")[(set:$normandelay to 1)(set:$pos to 3)(set:$normanpos to 7)(set:$normanspeak to 0)(go-to:"Room 1")](if:$dawn is 0)[You hastily buckle up and drive off, escaping the Bates Estate.
(event:when time > 5s)[It is not until you drive far away that you notice something, something you probably couldn't see in the darkness.]
(event:when time > 10s)[The shine of a knife in the backseat...]
(event:when time >15s)[(go-to:"Death Screen")]]\
(if:$dawn is 1)[
[<audio src="https://tylershandcoded.com/audio/psycho/finale.mp3" autoplay>]
In a hurry, you buckle up, check around the backseat, and drive off.
(event:when time > 4s)[As you look up at the Bates Estate, you see a woman chasing after you, knife in hand.]
(event:when time > 7s)[But your acceleration is too fast, you leave her and rejoin the road.]
(if:$bleeding >= 1)[(event:when time > 9s)[You look down to see blood. Must be yours.
You're probably far enough now. You sigh and rip off a sleeve, wrapping your wounds under your shirt.]
(event:when time > 15s)[Perhaps you'll tell Sam about this event, perhaps not.]
(if:$sam is 1)[(set:$end to 3)(set:$end3 to 1)(event:when time > 18s)[Tell Sam... Oh my! You've left Sam to deal with that psycho!
You turn back to help him out, after all, you have some experience.]
(event:when time > 22s)[And for the first time in what feels like forever, you laugh to yourself.]
(event:when time > 26s)["Maybe I'll save you. Huh, Sam?"]
]
(if:$sam is 0)[(set:$end to 1)(set:$end1 to 1)(event:when time > 15s)[Either way, you speed off in the growing sun, $40,000 sitting in the shotgun seat.]
(event:when time > 20s)[You can't wait to spend that money.]
]]
(if:$bleeding is 0)[(event:when time > 9s)[Perhaps you'll tell Sam about this event, perhaps not.]
(if:$sam is 1)[(set:$end to 3)(set:$end3 to 1)(event:when time > 13s)[Tell Sam... Oh my! You've left Sam to deal with that psycho!
You turn back to help him out, after all, you have some experience.]
(event:when time > 17s)[And for the first time in what feels like forever, you laugh to yourself.]
(event:when time > 22s)["Maybe I'll save you. Huh, Sam?"]
]
(if:$sam is 0)[(set:$end to 1)(set:$end1 to 1)(event:when time > 13s)[Either way, you speed off in the growing sun, $40,000 sitting in the shotgun seat.]
(event:when time > 17s)[You can't wait to spend that money.]
]]
(link:"Fin.")[(go-to:"End")]](align:"=><=")+(box:"X")[Congratulations! You got the (if:$end is 1)["Independent Woman"](if:$end is 2)["Sam Savior"](if:$end is 3)["Savior of Sam"] ending!
Out of all three endings, you have gotten (set:$endtotal to $end1+$end2+$end3)$endtotal!
Endings also slightly alter depending on if you're bleeding or not. (Survive an encounter with Mrs. Bates in order to bleed.)]
(link:"Play Again!")[(set:$deaths to it +1)(set:$pos to 0)(set:$estatekeypos to 0)(set:$crowbarpos to 0)(set:$weaponpos to 0)(set:$game to 0)(go-to:"Tip Screen")]Window:
(align:"=><=")+(box:"X")[It's raining outside your window.] (live:.5s)[(set:$rain to (random:1,5))]
---
(text-colour:blue)[
(align:"<==")+(box:"===XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX=======")[(live:.5s)[(if:$rain is 1)[|]]]
(align:"==>")+(box:"XXXXXXXXX=")[(live:.5s)[(if:$rain is 2)[|]]]
(align:"<==")+(box:"=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX====")[(live:.5s)[(if:$rain is 3)[|]]]
(align:"=><=")+(box:"==XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX===")[(live:.5s)[(if:$rain is 4)[|]]]
(align:"==>")+(box:"===XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX=======")[(live:.5s)[(if:$rain is 5)[|]]]]
---(set:$pos to 0)[<audio src="https://tylershandcoded.com/audio/psycho/finale.mp3" autoplay>]
You wave to Sam in a hurry.
(event:when time > 5s)[He jumps out of his car and hugs you.]
(event:when time > 8s)["Marion, I was so scared, I..." He ruffles through your hair and dirty clothes.]
(if:$bleeding >= 1)[(event:when time > 12s)[He looks down at his suit, which is now stained with your blood.
(event:when time > 15s)["Marion... are you alright? Christ, you're bleeding!" He says.]
(event:when time > 18s)[You look up and smile at him.]
(event:when time > 20s)["I know Sam. I know." You say.]
(event:when time > 22s)[You can't stop smiling.]]]
(if:$bleeding is 0)[(event:when time > 8s)["I know, Sam. I know." You say. He pulls out a hankerchief to help you clean your tears.]]
(link:"Fin.")[(set:$end to 2)(set:$end2 to 1)(go-to:"End")]