Home
Start a new game
Explore games
Help
Log in or sign up
Log in
Username
Password (
Forgot it?
)
×
New to Playfic?
Full Name
Email
Username
Password
Password (confirm)
Are you sure about this?
base 0
by
tonyl
Played 820 times
View game source
(spoilers!)
Download the
.z8 file
Source Code
"Base 0" by duet Chapter 0 - command introduction When play begins: say "The game uses some custom commands to accomplish tasks without overwriting default actions. Certain sections will reveal upcoming commands, when in doubt, type comhelp 1 to view all unlocked commands.[paragraph break]The default custom commands are [line break]tmenu - teleport menu[line break]tmission - view current objectives[paragraph break]" Chapter 1 - the search [variable declaration] letter check is a number that varies. letter check is 0. player pos is a room that varies. player pos is home. lockpower is a number that varies. lockpower is 0. autoshop key is a number that varies. autoshop key is 1. lab key is a number that varies. lab key is 1. visit res is a number that varies. visit res is 0. powerpc is a number that varies. powerpc is 0. pannel state is a number that varies. pannel state is 0. vcode is a number that varies. vcode is 0. end value is a number that varies. end value is 0. The home is a room. "[if visit res is 0]You awoke on your bed after hearing a loud zooming noise, the time is 3:14 AM. Everything is still, you thought to yourself, 'Maybe it was just my hallucinations'. Just as you are about to sleep. You noticed something is odd in the room.[end if][if visit res is 1]You awoke on your bed after hearing a loud zooming noise, the time is 3:14 AM. Everything is still, you thought to yourself, 'Maybe it was just my hallucinations'. Just as you are about to sleep. You noticed something is odd in the room. Some some .some ting is EEEEEEE. [paragraph break]Master AI : Welcome to the creation of your pathetic father, trying to break out of the time bubble.[end if][if visit res is 2]Hey kid, are you ever going to stop, you can not break out of the time bubble, from me.[paragraph break]You father once pursued the same path, but look at where he perished.[line break]You shall not disturb the law of time and space. [end if]" The autoshop is a room. "It is a rusty old facility with overgrown plants covering its outer shell. In front of you is a broken power generator. This must be where the incident took place, the chamber is very dark. You can not see any other items." The power generator is a switched off device in the autoshop. It is fixed in place. [There is a crystal clear door on the farleft of the building.] Things have a number called storev. The storev of a thing is usually 1. The desk has storev 4. The computer has storev 2. The light bulb has storev 3. The calendar has storev 2. The bed has storev 5. The box has storev 2. The clear door has storev 4. The power generator has storev 4. The chassis has storev 5. The heavy machinery has storev 5. The pannel has storev 4. The control monitor has storev 5. [ scorev legend 1 - takable 2 - unnecessary object 3 - would not advise 4 - not enough space 5 - extraordinary large backpack and super strength ] The desk is fixed in place in the home. "Your desk is on the farright of the room, a drawer is beside the desk." The drawer is a part of the desk. The drawer is a closed openable container. In the drawer is a blue pen and a stack of paper. The computer is scenery on the desk. A sticky note is on the computer. The description of the desk is "[if visit res is 0]It is your standard desk given to you by your grandfather.[end if] [if visit res is 1]It is your standard desk given to you by your MASTER AI.[end if][ if visit res > 1]It is YOUR IMPENDING DOOM.[end if]". The description of the drawer is "[if visit res is 0]A plain drawer.[end if] [if visit res > 0] A plSSW^@er...[end if]". The description of the stack of paper is "[if visit res is 0]Nothing to see here.[end if] [if visit res > 0] Nothing to seeEEEEEE...[end if]". The description of the sticky note is "[if visit res is 0]It reads[line break][line break]To do List[line break]------------[line break]work on science project[line break]exercise for 1 hour [line break]...[end if] [if visit res > 0]It reads[line break][line break]To do List[line break]------------[line break][end if] ". The light bulb is fixed in place in the home. "The light bulb is flashing uncontrollably." The description of the light bulb is "blink blink --- blink --- blink blink blink ..." The calendar is fixed in place in the home."There is a calendar hanging on the wall, it seems fairly dated. Some scribbles are written on the opened pages." A page1 is scenery on the calendar. A page2 is scenery on the calendar. A page3 is scenery on the calendar. The description of the page1 is "06/27/2004[line break]A mysterious spark was seen up to the north." The description of the page2 is "06/28/2004[line break]Dad never returned home after an reported incident, he was declared dead based on the severity of the incident." The description of the page3 is "07/01/2004[line break]After some analysis and gathering data. I think the spark of light had something to do with the disappearance of dad." The bed is fixed in place in the home. "Your bed is on the westside of the room, nothing notable around there." It is scenery. There is a letter. "A letter is found under the bedframes." The description of the letter is "[if visit res is 0]It reads[line break][line break]Dear son,[line break][line break] I see you have been woken by the experiment, I have been building a machine to translate between universes, but I have hit a roadblock. There seem to be some force responsible that prevents hopping beyond the observable field. There is only one thing left to do, I have to go through the portal and check what is wrong. I am writing this in advance in case a mishap occurs... [line break][line break]shQ=s7^sxa[end if] [if visit res is 1]It reads[line break][line break]Dear son,[line break][line break] I see you have been woken by the experiment, I have been building a machine to translate between universes, but I have hit a roadblock. There seem to be some force responsible that prevents hopping beyond the observable field. There is only one thing left to do, I have to go through the portal and check what is wrong. I am writing this in advance in case a mishap occurs. If anything goes wrong, there is a %@s6xzu![line break][line break]shQ=s7^sxa[end if][if visit res is 2]It reads[line break][line break]Dear son,[line break][line break] I see you have been woken by the experiment, I have been building a machine to translate between universes, but I have hit a roadblock. There seem to be some force responsible that prevents hopping beyond the observable field. There is only one thing left to do, I have to go through the portal and check what is wrong. I am writing this in advance in case a mishap occurs. If the AI ever finds you, it is my fault, i am ventured to broke out the bounds of time, that AI is the master keeper of the universe bubbles. Each universe is contained within a bubble, and subsequently each bubble can contain child bubbles, this is why the universe warps beyond the horizon. But i refused to believe we are contained and confined to our singular bubble until eternity so i set out to rip through our super bubbles and into other universes, parallel universes. If you can still alive, son, there is a last weapon against the AI, if it is a true AI, which i suspected for a long time. I made a frequency amplifier in the lab that can inject code into its stream of consciousness, if only there was a code to break infinity...[line break][line break]your loving father[end if]" Instead of examining the calendar: say "There are three notable pages on the calendar with scribbles, page1, page2 and page3." instead; Obj list is a list of text that varies. Obj list is {"Search for the forgotten letter"}. Complete list is a list of text that varies. Complete list is {"Ongoing"}. Table of access rooms id exit acc 1 home 1 2 autoshop 0 3 laboratory 0 [Table of access rooms id exit acc "home" home 1 "autoshop" autoshop 1 "laboratory" laboratory 1] To tteleport to (place - a room): [repeat through the Table of access rooms:] If printed name of place is not printed name of player pos: say "travelling to [printed name of place] ... [line break]"; now the player is in place; tsetpos to place; To tchangeacc (location - a room) to (index - a number): choose row with exit of location in Table of access rooms; change acc entry to index; To tsetpos to (place - a room): now player pos is place; To taddobj to (objv - some text): add objv to Obj list; To taddstatus to (status - some text): add status to Complete list; To tviewobj to: let lindex be 1; let rindex be 1; let tcounter be a list of numbers; let gcounter be a list of numbers; add 0 to tcounter; add 0 to gcounter; repeat with ind running through Obj list: now lindex is the number of entries in tcounter; If entry lindex of Complete list is not "Completed": now rindex is the number of entries in gcounter; say "[rindex] | [ind] | [entry lindex of Complete list] [line break]"; add 0 to gcounter; add 0 to tcounter; To tchangestatus (objt - some text) to (status - some text): let lindex be 1; let tcounter be a list of numbers; add 0 to tcounter; repeat with rnd running through Obj list: now lindex is the number of entries in tcounter; If rnd is objt: break; add 0 to tcounter; remove entry lindex from Complete list; add status to Complete list; temenuing is an action applying to one number. Understand "tmenu [number]" as temenuing. tviewing is an action applying to nothing. Understand "tmission" as tviewing. Carry out tviewing: say "[line break] Current objectives [paragraph break]"; tviewobj to; Instead of taking something which is fixed in place: If the storev of the noun is 5: say "You would need a extraordinary large backpack and super strength to fit a [the noun] in."; Otherwise if the storev of the noun is 4: say "Are you sure you have enough space in your backpack for a [the noun]."; Otherwise if the storev of the noun is 3: say "I wouldn't advise such act."; Otherwise if the storev of the noun is 2: say "You don't want to take such object as it provides little use."; Instead of temenuing 0: say "Command tmenu [line break]"; say "usage - type 'tmenu VALUE' to travel to that room [paragraph break]"; repeat through the Table of access rooms: If acc entry is 1: say "[id entry] : [exit entry] [line break]"; Carry out temenuing number (called the snum): let verc be 1; repeat through the Table of access rooms: If id entry is snum: If acc entry is 1: now verc is 0; If printed name of exit entry is printed name of player pos: say "player is already in that room."; Otherwise if printed name of exit entry is not printed name of player pos: tteleport to exit entry; Otherwise if acc entry is not 1: now verc is 0; say "requested room is not discovered."; If verc is 1: say "[entry 1 of Obj list] [line break]"; say "requested room does not exist."; [Instead of temenuing 1: repeat through the Table of access rooms: If id entry is 1: If acc entry is 1: If printed name of exit entry is printed name of player pos: say "player is already in that room."; Otherwise if printed name of exit entry is not printed name of player pos: tteleport to exit entry; Otherwise if acc entry is not 1: say "requested room does not exist."; Instead of temenuing 2: repeat through the Table of access rooms: If id entry is 2: If acc entry is 1: If printed name of exit entry is printed name of player pos: say "player is already in that room."; Otherwise if printed name of exit entry is not printed name of player pos: tteleport to exit entry; Otherwise if acc entry is not 1: say "requested room does not exist.";] [Instead of looking under the bed when the letter is off-stage] Instead of looking under the bed: If letter check is 0: say "There seems to be a letter beneath the bed."; tchangestatus "Search for the forgotten letter" to "Completed"; now letter check is 1; move the letter to home; Otherwise if letter check is 1: say "You already found the letter"; Understand "read [something]" as examining. After examining the letter: say "This is a letter from Dad, but why is the name amalgamated. Dad used to work at the automobile shop down in-town, maybe that is where the spark came from."; taddobj to "Go to the autoshop"; taddstatus to "Ongoing"; tchangeacc autoshop to 1; Chapter 2 - the automaton The tempspace is a room. The laboratory is a room. "Compared to the exterior, the lab is filled while quartz walls and flooring. The design is fairly modern, implying it was built recently as an extension. There are some heavy machinery on the circular ramp, an operating room and a library is on the left corridor. [paragraph break]The patterning on the wall and floors are recursive." The control monitor is a switched off device in the laboratory. It is fixed in place. There is a clear door. "A crystal clear door is in the distance far left." It is fixed in place. The description of the clear door is "The door leads to a open space with various equipment, a laboratory." There is a chassis. "There is a chassis frame lying beside the garage door." It is fixed in place. The description of the chassis is "A broken chassis." The tire is a part of the chassis. There is a box. "There is a box in the in the garage to your right." The box is a closed openable container. It is fixed in place. In the box is a pair of connection cords. There is a magkey. The description of the magkey is "A magnetic key, useful for gaining access to security doors." The description of the box is "It seems to be a remaining delivery package, possibly containing new materials and scrap parts." The box is in the autoshop. The power generator is in the autoshop. "Connection ports have been cut off. The batteries are intact however. Maybe find some connections cords to create an artificial circuit." It is scenery. Disassembling is an action applying to one thing. Understand "take apart [something]" as disassembling. Understand "magnetic key" as magkey. Every turn while the player is in autoshop: If autoshop key is not 0: let bindex be 1; let tcounter be a list of numbers; add 0 to tcounter; repeat through the Table of access rooms: now bindex is the number of entries in tcounter; If exit entry is autoshop: break; add 0 to tcounter; If entry bindex of Complete list is not "Completed": tchangestatus "Go to the autoshop" to "Completed"; now autoshop key is 0. Carry out disassembling the tire: say "You have removed one of the tires. There is a magnetic key here."; move the magkey to autoshop. Understand "power on [something]" as switching on. Understand "power off [something]" as switching off. A check switching on rule: [if the pair of connection cords is not carried, say "A pair of connection cords is needed to create a circuit." instead.] If lockpower is 0: If the pair of connection cords is carried: now lockpower is 1; Otherwise if the pair of connection cords is not carried: taddobj to "Complete the circuit for the power generator"; taddstatus to "Ongoing"; say "A pair of connection cords is needed to create a circuit." instead; Carry out switching off the power generator: move the clear door to the tempspace; move the chassis to the tempspace. Carry out switching on the power generator: If lockpower is 1: tchangestatus "Complete the circuit for the power generator" to "Completed"; now lockpower is 2; move the clear door to the autoshop; move the chassis to the autoshop; Unlocking is an action applying to one thing. Understand "unlock [something]" as unlocking. A check unlocking rule: if the magkey is not carried, say "You currently do not have access to the laboratory."; After unlocking the clear door: say "You have gained access to the lab."; taddobj to "Reach the laboratory"; taddstatus to "Ongoing"; tchangeacc laboratory to 1; Chapter 3 - the ai The heavy machinery is fixed in place in the laboratory. "There are some engines on the ramp." The pannel is a part of the heavy machinery. The pannel is a locked openable container. In the pannel is a compass and a note slip. The computer is scenery on the desk. A sticky note is on the computer. Every turn while the player is in laboratory: If lab key is not 0: let bindex be 1; let tcounter be a list of numbers; add 0 to tcounter; repeat through the Table of access rooms: now bindex is the number of entries in tcounter; If exit entry is laboratory: break; add 0 to tcounter; If entry bindex of Complete list is not "Completed": tchangestatus "Reach the laboratory" to "Completed"; now lab key is 0; If end value is 1: say "You ran out of attempts for the frequency amplifier."; end the story saying "You lost"; Otherwise if end value is 2: say "You broke the constraint and rules of the AI, new possibilities await and more adventures. You are now in base 0."; end the game in victory; The description of the heavy machinery is "It is labelled as the last hadron collider. There seem to be a passcode slot of the bottom pannel." The description of the pannel is "The entire collider was built to converge energy into the center.... " The floor is scenery in the laboratory. The wall is scenery in the laboratory. Instead of examining the floor when the floor is scenery: say "The floor are made of triangular tiles and stack in a hexagonal formation, repeated throughout the room." instead; Instead of examining the wall when the wall is scenery: say "The walls are more bizzare, there are lines and scribbles all around, if you look from farther away it is like a figure eight." instead; The description of the note slip is "[line break][if visit res is 0]What is the value of n/0.[end if] [if visit res is 1] what is (S6%$@) the last number before #Dx%@78o.[end if] [if visit res is 2] if the universe was indeed infinite, how can you get a finite number out of nothingness yet in terms of infinity. 10111 [end if]" The description of the compass is "[if visit res is 0]It is a regular old compass, i think i remember seeing it somewhere. [end if] [if visit res > 0] I remember now, it was the one that my dad always carried during his studies when i was little. [end if]" Understand "display" as control monitor. Understand "monitor" as control monitor. The control monitor is fixed in place in the laboratory. "The display screen on the control room mainframe seems to be still functioning." The description of the control monitor is "It is the monitor for the mainframe, maybe it is still functional." Instead of examining the control monitor: say "It is the monitor for the mainframe, maybe it is still functional."; If powerpc is 0: taddobj to "Power on the mainframe computer"; taddstatus to "Ongoing"; now powerpc is 1; Carry out switching off the control monitor: say "The mainframe computer procedure terminated by user demand." instead; Carry out switching on the control monitor: If powerpc is 1: tchangestatus "Power on the mainframe computer" to "Completed"; now powerpc is 2; say "[line break] ......ALERT... ... [paragraph break]Experiment status : the last test subject to enter the collider was subject 8. [line break]Subject status : missing personal.[line break] Reactor core status : unstable 9 [line break]System failure: Shutdown......." instead; inputting is an action applying to a number. Understand "input [number]" as inputting. Carry out inputting number (called the code): If pannel state is 1: If code is 8964: now pannel state is 2; now the pannel is unlocked; say "[paragraph break]Checking entered code... [line break]Correct code [paragraph break] Granting access"; tchangestatus "Find the correct passcode and open the pannel" to "Completed"; Otherwise if code is not 8964: say "[paragraph break]Checking entered code... [line break]Incorrect code [paragraph break] Try again"; Instead of opening the pannel when the pannel is locked: If pannel state is 0: say "[paragraph break]Input the passcode"; now pannel state is 1; taddobj to "Find the correct passcode and open the pannel"; taddstatus to "Ongoing"; Otherwise if pannel state is 2: say "[paragraph break]The pannel has already been opened."; res list is a list of numbers that varies. res list is {}. ntry is a list of numbers that varies. ntry is {6 , 7, 8}. There is a frequency amplifier. The description of the frequency amplifier is "[paragraph break] Usage - type 'program CODE' to initialize and 'fire amp at OBJECT' to launch[paragraph break]". programming is an action applying to a number. Understand "program [number]" as programming. Carry out programming number (called the code): If visit res is 2: If number of entries in ntry is 0: now end value is 1; Otherwise: now vcode is code; remove entry number of entries in ntry from ntry; say "Programming succeeded, [number of entries in ntry] tries left."; There is a master ai. "This is your last chance." Understand "Master AI" as master ai. firing amp at is an action applying to one thing. Understand "fire amp at [something]" as firing amp at. Carry out firing amp at something (called the sobj): If visit res is 2: If sobj is master ai: If vcode is 10111: now end value is 2; say "Master AI : zzzzzzzzzzzzzzzzzzzzzzzzzzz can not evaluate equation, must evaluate equation ..."; Otherwise: say "Master AI : What are you up to now?"; After examining the note slip: If visit res < 2: say "You fell through the floor and feel dizzy. [line break]"; add 0 to res list; now visit res is the number of entries in res list; tteleport to home; tchangeacc autoshop to 0; tchangeacc laboratory to 0; Otherwise if visit res is 2: move the frequency amplifier to laboratory; move the master ai to laboratory.