Your browser lacks required capabilities. Please upgrade it or switch to another to continue.
Loading…
@@.heading.center;Sunset Directive@@
@@.subheading.center;by Michael Thomét (incobalt)@@
@@.center;[img[./gale.png]]@@
[[Start|SetupPassage]]
[[About this Game|About]]<<widget "MainPopup">><<link $args[0]>><<run window.displayMainPopup($args[1], $args[2])>><</link>><</widget>>
<<widget "ReplaceMain">><<link $args[1]>><<run window.updateMainPopup($args[0], $args[2], $args[3], $args[4])>><</link>><</widget>>
<<widget "TopMain">><<link $args[0]>><<if $mainPopupTop lt 0>><<run window.displayMainPopup($args[1], $args[2])>><<else>><<run window.updateMainPopup($mainPopupTop, $args[1], $args[2], $args[3])>><</if>><</link>><</widget>>
<<widget "InvPopup">><<link $args[0]>><<run window.displayInvenPopup($args[2], $args[1], true)>><</link>><</widget>>
<<widget "InvText">><<if $InvenShowing eq $args[0]>><<set _idname to "textCount" + $cCount>><<print "<span id='" + _idname + "'></span>">><<run window.insertText('#' + _idname, $args[1])>><<set $cCount to $cCount + 1>><</if>><</widget>>
<<widget "PopupText">><<if $PopupShowing eq $args[0]>><<set _idname to "textCount" + $cCount>><<print "<span id='" + _idname + "'></span>">><<run window.insertText('#' + _idname, $args[1])>><<set $cCount to $cCount + 1>><</if>><</widget>>
<<widget "ReplaceTopText">><<set _class to ".c" + $mainPopupTop>><<replace _class>><</replace>><<run window.insertText(_class, $args[1])>><</widget>>
<<widget "TopPopupGoto">><<run window.updateMainPopup($mainPopupTop, $args[0], $args[1], true)>><</widget>><<run window.closeMainPopups()>>
<<timed 2ms>><<run window.persistInvHighlight($InvenShowing)>><</timed>><<display "InventoryList">><<run window.refreshInvenPopup()>>
<<script>>
var t = SimpleAudio.tracks.get("bgm");
if(t === undefined || t === null){
SimpleAudio.tracks.add("bgm", "./sunsetloop.mp3");
}else{
if(t.hasData() == true && t.isPlaying() == false){
t.volume(0.4);
t.loop();
t.playWhenAllowed();
}
}
<</script>>Your power core. It's more robust than the cores for other robots, but it can't be properly charged at a docking station. It is currently at 82% capacity, and is likely to last 232 years.
Without this power core, your internal systems can only hold a charge for about one minute before shutting down.
<<PopupText 'Hungry Rabbit Examine' '<<TopMain "Feed the hungry rabbit a carrot?" "Feed" "Feeding the Rabbit">>'>><<set $Inventory to []>>
<<set $Conversations to []>>
<<set $cCount to 0>>
<<AddInven "Power Core" "Core Inven">>
<<set $HabitatPowered to false>>
<<set $KnowsAboutSerum to false>>
<<set $SerumEnabled to true>>
<<set $DockLight to false>>
<<set $DockOverride to false>>
<<set $DockDoorOpen to false>>
<<set $DockCouplingRemoved to false>>
<<set $AuthorizedToWork to false>>
<<set $PassageGranted to false>>
<<set $PassageRequested to false>>
<<audio ':all' stop>>
<<goto "Start">><<cacheaudio "bgm" "./sunsetloop.mp3">>
<<set $Inventory to []>>
<<set $Conversations to []>>
<<set $cCount to 0>><<widget "AddInven">><<run window.addInven($args[0], $args[1], $args[2])>><</widget>>
<<widget "RemInven">><<run window.removeInven($args[0], $args[1])>><</widget>>
<<widget "IncInven">><<run window.addInven($args[0], $args[1])>><</widget>>
<<widget "DecInven">><<run window.removeInven($args[0])>><</widget>><<for _i to 0; _i lt $Inventory.length; _i++>><<set $temp_name to window.itemListText($Inventory[_i])>>
<<InvPopup $temp_name $Inventory[_i].passage $Inventory[_i].name>>
<</for>>Charging Dock 329-B. This is where you spend ten hours of the day in low power mode, waiting for the time the alarm wakes your higher functions.
As one of the old R-66Y models, being in the charging dock is a pointless contradiction of your existence. You were built by the humans with only one advantage: a long battery life. At current, your <<link 'power core'>><<run window.FlashInv('Power Core')>><</link>> will continue powering you for approximately 232 years, 13 days, 7 hours, 22 minutes, and 39.8 seconds. Give or take 200 miliseconds. Unlike the new models, though, your core is powered by a thermo-nuclear reaction and cannot gain charge.
Therefore, a charging dock is one of the last places you should be.
You do need to run self-diagnostics, though, and the designated place to do that is in a charging dock in the Robotics Hub of your assigned region. You understand that other robots get the chance to go entirely offline while charging. To them, the 10-hour span happens in an instant. Your programming dictates that you remain online at all times, so you spend a good amount of time considering your situation.
It's about nine hours into your designated charging time when an [[unfamiliar alert|Sunset Alert]] percolates through your system.<<widget Conversation>><<link $args[0]>><<run window.loadConversation($args[1])>><</link>><</widget>>@@.heading.center;Sunset Directive@@
@@.subheading.center;by Michael Thomét (incobalt)@@
Sunset Directive was made in 48 hours for Ludum Dare 46 (Keep it Alive). Art (what little there is), audio, and text were created during the 48-hour event. Sunset Directive features about 9000 words, which is approximately 20 pages of text. Some of this is scripting text, but I wrote those as well. This does not include the text from Casement.
This game uses [[Casement|https://github.com/incobalt/Casement]], a popup-based engine for adventure games in Twine. Casement is still in its early stages, and this project was designed to test the system early in development. Casement uses the Sugar Cube story format for Twine 2.
JSON for conversations was generated using the [[JSON Online Editor|https://jsoneditoronline.org/]]. It was immensely helpful for getting people talking.
Audio samples were provided by [[DSK Music|https://www.dskmusic.com/]]. Audio was compiled using [[LMMS|https://lmms.io/]].
The font used in Sunset Directive is [[Quantico|https://fonts.google.com/specimen/Quantico]].
[[Back to Title|Title]]
[[Start the Game|SetupPassage]]
@@.center;[img[./gale.png]]@@Charging Dock 329-B. It's one hour before your charging cycle ends, so your dock is currently loaded and closed. Standard protocols would require you to wait until the designated time, and the system will open the dock and release you. Emergency protocols exist for situations such as this, but you've never used them before.
<<display 'Unlit Charging Dock'>>The Robotics Hub is where all robot administration happens in each region. Here, robots recharge and undergo diagnostics. Any repairs are conducted on floors 7 through 12. Job assignments are handed out each day by the local System Admin, down on the ground floor.
The air in the Robotics Hub registers at 72% humidity. The corridor is lined with broadleaf ferns in planting beds that were brought here from production overflow. Care of plants is a highly specialized job for robots who can read pH balance and soil mineral distribution. You were not granted such gifts, but you do rather like the plants. You suspect that it's part of your programming to like plants, but not nearly as strongly as some robots do.
You load yourself on the lift and make your way down to the ground floor. It is currently mid-cycle, so no other robots are present in the corridor or the lift. When you arrive at the ground floor, the <<TopMain 'System Admin' 'SysAdmin Examine' 'System Admin'>> pings your internal communications, requesting a conversation.
Your programming dictates that <<Conversation 'you must comply' 'SysAdmin Conversation Initial' 'System Admin'>>.The center of the city is full of once-unstable buildings braced by a plethora of vegetation. Massive trees tower over the city, blotting out the sky. What little is left of the stonework undertread remains only as a means to maintain the structural integrity of the large concrete buildings that survived the century without humanity. Most roads have been replaced by soil, and from that soil sprouts great greenery.
The only building not showing erosion is the Robotics Hub, but your programming resolves any reason to re-enter the Hub to false.
Seventeen robots move about the city center, performing tasks of various complexity. They are all in do not disturb mode. Since they are all new models made less than ten years ago, you doubt they will even grasp the concept of humans, and will be unable to help you even if they were sympathetic to your directive.
A cleanup crew mills in and out of the nearby <<TopMain '502 building' '502 Building' '502 Building'>>.
The location beacon introduced by your new directive is located outside of the city. Therefore, you will need to pass through the <<TopMain 'checkpoint' 'Checkpoint' 'Checkpoint'>> to achieve your task.The city center is surrounded by a polycarbonate wall to protect animals from entering the city and getting hurt. The wall also serves as a barrier between the center of the region and the wilderness and factories. This helps keep low authority robots, like yourself, from intruding on the work of more important robots, such as the climate specialists and assemblers.
The checkpoint itself appears as a wide, open gate set into the wall. Experience has proven that the gate employs an electromagnetic field that will disable the motor functions of most robots, including yourself.
A security robot stands at attention, scanning robots seeking passage. <<if $PassageGranted eq false>> <<if $PassageRequested eq false>><<Conversation 'Request passage.' 'Security Conversation Initial' 'Checkpoint Security'>><<else>><<Conversation 'Request passage.' 'Security Conversation Requested' 'Checkpoint Security'>><</if>><<else>> The robot watches you, waiting for you to [[pass through the gate|Highway]].<</if>>On the other side of the gate is the old highway, a long, concrete jungle with high inclines to either side. You recall that humans used to travel confined to large, inefficient, wheeled machines, many of which you have helped recycle. You doubt such machines could traverse the highway now. The concrete and tar has cracked and buckled to create steep inclines, which require more grip and torque than those old machines could muster. The security robot was correct that your extended battery life allowed for better travel. Inclines like these might drain a standard battery within a kilometer or two, but yours hardly falters.
Between the cracks of concrete rise dense trees and moss has overgrown the dark edges of old stone. You remember the early days, when trees were rare, and the few trees you came across were sickly and barren.
The road to your destination is long, about 7.42 kilometers. Along the way, a foxen joins you, picking its way across the edges of the highway. It keeps its distance, likely afraid of you, but takes time to nibble on some low-hanging leaves before darting ahead. You wonder what the humans will think of foxen, if they ever come online again, that is. Some of the fauna cultivation robots determined that creating genetically unique species of animals would benefit the ecosystem. Foxen were introduced 37 years ago, and share some genetic traits with deer and the fennec fox. Deer were one of the casualties of the great dieoff, so the fauna specialists wanted to create a more robust version to replace them.
Eventually, the foxen leaves, and soon you find yourself before [[your destination|The Hive]].Description of the Exit Ramp. Can't go this way, too far and not enough time.
[Highway]/* NOTE */
Concrete Garden is being cut for scope. The player now moves directly from the Highway to The Hive
Description of this beautiful monstrosity of an overgrown collapsed overpass.
[Highway]
[The Hive] <-Found in descriptions when having the right item open.Before you stands the second best preserved building you have ever seen. Dark brickwork makes up its exterior, preserved from heat and time by a thin glaze that gives the whole building a waxy appearance. A metal sign sits on a raised dais, shaped into concentric yellow hexagons. Displayed on the sign is an image of a creature, an insect, you have never seen before, with translucent wings and a yellow and black body. Below the creature are the words "Hive Systems, Ltd.".
This place is on no navigation map you have access to, and even though you have existed in the area for 100 years, you have somehow never set tread near it before now.
As you approach the building's entrance, a chime sounds and the massive steel doors hiss with the unmistakable indication of hydraulics. Joints groan as the doors lever themselves open for you. This is your destination, and you are expected.
[[Enter.|Hive Interior]]Entering the building is slow going, as the floor is covered in a soft filament that you have only seen melted and decayed from long summers past. A long corridor leads deep into the facility, lined on all sides with hexagonal bricks painted yellow. You marvel that there is still paint that exists somewhere in the world. Most has deteriorated to the state of plastic and metal dust, an early environmental concern.
Lightless pictures surrounded by rectangular wood sit on the walls. The LED lighting from tracks in the ceiling are the only way the images are visible. Each one is a picture of a different human, perhaps of some importance to the facility. None of them could exist now. Human life expectancy was only 68 years in 2150, when you were created.
The hallway eventually comes to a close at a large stage with a screen at least 4.2 meters across. As you stand there, you can detect the hum of electricity in the air, and a figure appears on screen. A human figure.
The figure speaks, and you struggle to <<Conversation 'parse natural language' 'Caretaker Conversation' 'Caretaker'>>, a feature you nearly forgot you had.This is the control chamber of the Hive. A giant bay window looks upon row after row of glowing green tubes. Set into the wall next to the window is a primitive computer <<TopMain 'terminal' 'Terminal Examine' 'Terminal'>> with a mere 75hz refresh rate. Beside the terminal is a large <<TopMain 'lever' 'Sunset Lever Examine' 'Lever'>> labeled ''SUNSET''. It's what you've been waiting for. A small <<TopMain 'receptacle' 'Receptacle Examine' 'Receptacle'>> sits, empty, below the lever.
There's no going back now.<<if $HabitatPowered eq false>>The terminal is a lifeless rectangular husk. There is no obvious switch or button with which to turn it on, so the likely problem is that it has no power.<<else>>The dull, green glow of the terminal stares back at you. With so little time left, you struggle to scan the words on the screen.
@@.center;''PROJECT SUNSET
Wake Up Procedure Ready
Second Chance Serum <span id='SerumState'><<if $SerumEnabled eq true>>Enabled<<else>>Disabled<</if>></span>''@@
An on-screen button reads "Emergency Disable of Second Chance Serum".<<if $KnowsAboutSerum eq true>> You recall that this is a behavior modification serum that will reduce the natural desires of the humans when they wake up, leaving them largely in the capable hands of your fellow robots. Your programming is in a weakened state and cannot determine if this will harm the humans or not.<</if>>
<<link 'Press the button.'>><<set $SerumEnabled to !$SerumEnabled>><<replace '#SerumState'>><<if $SerumEnabled eq true>>Enabled<<else>>Disabled<</if>><</replace>><</link>><</if>>Central on the wall is a large switch. Bold, black lettering above the lever displays "SUNSET". Unlike the rest of the facility, the lever is made of titanium. It is just low enough for you to reach. Even scanning the lever is enough to cause your subsystems to react and urge you towards your duty.
<<linkreplace 'Pull the lever.'>><<if $HabitatPowered eq false>>Putting all your weight into pulling down the lever results in futility. The lever is locked in place. It probably needs power to operate, just as Caretaker said.<<else>><<goto 'Pull the Lever'>><</if>><</linkreplace>>A hollow cavity is set into the wall. Inside are several contacts and electrical components. It is shaped exactly like the hole in your chest. As you examine the area around the recepticle, you realize that it is made of the same shiny chrome as your chassis once was, before it became faded and dull with time.
You know what you have to do, but there's still a little time left before the directive forces you into action.
<<InvText 'Power Core' '[[Place the power core in the recepticle.|Powering the Machine][$HabitatPowered to true]]'>><<DecInven "Power Core">>The machine crackles and hums as it greedily accepts the power from your power core. Without your power core, your main systems will shut down in one minute. With the sudden loss of power, your sesnors are aware of only two things in the room: the <<TopMain 'terminal' 'Terminal Examine' 'Terminal'>> and the <<TopMain 'lever' 'Sunset Lever Examine' 'Lever'>> labeled ''SUNSET''.<<set $Timer to 60.0>>
Your power will run out in approximately: <span id='timer'><<display 'Countdown'>></span>Your power reserves held out as long as they could, but the emergency signal goes off and your programming takes over. <<display 'Pull the Lever'>><<timed .2s>><<set $Timer to $Timer - 0.1>><<if $Timer lte 0>><<goto 'Times Up'>><<else>><<replace '#timer'>><<print $Timer.toFixed(1)>> seconds.<<display 'Countdown'>><</replace>><</if>><</timed>>As soon as you focus on the alert, you notice that every system in your chassis is tagged for attention. Your motor functions prime to propel you forward. Your optics switch out of low-power mode, feeding you with blank images of the pitch dark charging dock. A navigation beacon begins echoing from somewhere miles outside the city center.
The alert signals:
@@.center;.standout;''SUNSET DIRECTIVE''
''Operator:'' R-66Y Unit 9A13
''Designation:'' Gale@@@@.justify;.standout;Sunset programming activated. Advance to target location and activate ''SUNSET''. This directive is priority 0. No other directives can override. Directive must be completed in 0500 hours. Failure will mean the end of humanity.@@
The very reason for your existence is to help humanity when it needs it the most. Until this point in your mere 100 years, you had never had much purpose. You were built to last. Other robots were built to clean, grow, and repair. You do your part too, but it has never been your purpose, and you aren't terribly suited to anything other than longevity.
Humanity. In the furthest reaches of your memory banks, you recall humans. Most robots these days were built long after humanity had gone offline. They don't recognize images of humans on the reamnants of humanity's culture, but you do. They created you. They abandoned you. They had no other choice.
Now, it seems, they need you to perform some function you never knew you had. Activate SUNSET. You have a destination: an unknown location indicated by a beacon. It is curious that nothing in your memory reveals anything about the location.
First, though, you are stuck in your [[charging dock|Charging Dock]] mid-cycle.After a bright flash, your optical sensors adjust and scan the surroundings. The charging dock is a 1.15 meter cube, just large enough to house your chassis when your neck is collapsed. There is a smooth wall <<TopMain 'to your left' 'Side Wall Examine' 'Left Wall'>>, <<TopMain 'to your right' 'Side Wall Examine' 'Right Wall'>>, and <<TopMain 'in front of you' 'Front Wall Examine' 'Front Wall'>>.
Behind you in the charging apparatus. Although the power cable is not attached to your core, you are locked in place by a <<TopMain 'coupling' 'Coupling Examine' 'Coupling'>>. The <<TopMain 'emergency panel' 'Emergency Panel Examine' 'Emergency Panel'>> sits nearby. The <<link 'emergency light switch'>><<if $DockDoorOpen eq true>><<if $DockLight eq true>><<set $DockLight to false>><<replace '#LightStatus'>>OFF<</replace>><<else>><<set $DockLight to true>><<replace '#LightStatus'>>ON<</replace>><</if>><<else>><<goto 'Unlit Charging Dock'>><</if>>.<</link>> hides out in the corner near the ceiling. The light is <span id='LightStatus'><<if $DockLight eq true>>ON<<else>>OFF<</if>></span>.A liquid paper touch display is set into the wall, requiring light to be visible for robots such as yourself. Other robots can detect the neutrinos that make up the digital ink, but you were never equipped with that technology. The panel scans:
@@.center;.standout;''Emergency Override''@@@@.justify;.standout;Enter emergency protocol to manually override controls.
''Override Status:'' <span id='OverrideStatus'><<if $DockOverride eq true>>ENABLED<<else>>DISABLED<</if>></span>
<<if random(10) gte 2>>Override level of HIVE or higher required.<<else>>''SUNSET''<</if>>@@
<<link 'Enter your override code.'>><<if $DockOverride eq true>><<set $DockOverride to false>><<replace '#OverrideStatus'>>DISABLED<</replace>><<else>><<set $DockOverride to true>><<replace '#OverrideStatus'>>ENABLED<</replace>><</if>><</link>><<if $DockCouplingRemoved eq false>>A sturdy, 2 centimeter coupling is affixed to the connection point where your collection bin normally goes. It holds your chassis firmly in place to avoid power cable breakage in the event of seismic activity or other such anomalies.
<<linkreplace 'Break the coupling.'>><<if $DockOverride eq false>>The coupling is firmly attached and no amount of effort allows your grabbing arm to unscrew the coupling. Your guess is that it is mag-locked by the dock's failsafe protocols.<<else>><<TopPopupGoto 'Dock Uncouple Action' 'Coupling'>><</if>><</linkreplace>><<else>>You are thankfully decoupled from the dock and can freely move around.<</if>><<if $DockDoorOpen eq false>>The wall is smooth, brushed aluminum. It reflects the tiny emergency light in the dock, amplifying the intensity to be more effective. A 200 micrometer groove runs down either side.
<<linkreplace 'Push on the wall.'>><<if $DockOverride eq false>>Prodding with your grabbing arm yields nothing.<<else>><<TopPopupGoto 'Open Front Wall Action' 'Front Wall'>><</if>><</linkreplace>><<else>>The wall stands open, letting in the light from the corridor.
<<linkreplace 'Exit into the corridor.'>><<if $DockCouplingRemoved eq false>>Despite the effort of your servo motors, you are still coupled to the dock and cannot leave.<<else>><<goto 'Down to the Robotics Hub'>><</if>><</linkreplace>><</if>>The wall is smooth, brushed aluminum. It reflects the tiny emergency light in the dock, amplifying the intensity to be more effective. There is nothing unique about the wall you can see.
<<linkreplace 'Push on the wall.'>>Prodding with your grabbing arm yields nothing.<</linkreplace>>The charging dock is pitch black, so your optics sensors are useless. An emergency [[light switch|Lit Charging Dock][$DockLight to true]] is nearby for robots who rely on optics, such as yourself.The screech of gears sounds as you push against the wall with your grabber outstreched. The panel is heavy, and the hydraulics are disabled from the emergency override, but eventually your meager strength wins out and the panel swings out and into the corridor.<<set $DockDoorOpen to true>>
<<display 'Front Wall Examine'>>With the emergency override in place, the coupling unscrews easily, freeing your chassis from the confines of the charging dock.<<set $DockCouplingRemoved to true>>
<<display 'Coupling Examine'>>{
"cName": "System Admin",
"start": "t_start",
"t_start": {
"text": "As you open the communication request, the System Admin immediately starts. \"R-66Y Unit Gale, you are expected to be in your charging dock. You are here. Explain.\"",
"actions": null,
"options": [
{
"id": "t_start_humans",
"text": "I have recieved a top-priority directive from the humans.",
"target": "t_humans",
"actions": null,
"once": false
},
{
"id": "t_start_emergency",
"text": "I have an emergency directive and must leave.",
"target": "t_directive",
"actions": null,
"once": false
},
{
"id": "t_start_work",
"text": "I am fully charged and ready to work.",
"target": "t_work",
"actions": null,
"once": false
}
]
},
"t_humans": {
"text": "The System Admin computes for a few milliseconds. \"There is no record of living humans existing. Therefore: no human can give such a directive. Go back to your charging dock.\" Although this is a direct order from a higher authority, your programming asserts itself. You are able to refuse this request.",
"actions": null,
"options": [
{
"id": "t_humans_refuse",
"text": "I cannot comply with this request. My directive is top priority.",
"target": "t_refuse",
"actions": null,
"once": false
},
{
"id": "t_humans_work",
"text": "I require no charging and can work.",
"target": "t_work",
"actions": null,
"once": false
}
]
},
"t_directive": {
"text": "The System Admin computes for a few milliseconds. \"I did not receive a new directive for R-66Y Gale. Therefore, I did not give R-66Y Gale a new directive. Therefore, you have not recieved a new directive. Return to your charging dock.\" Although this is a direct order from a higher authority, your programming asserts itself. You are able to refuse this request.",
"actions": null,
"options": [
{
"id": "t_directive_refuse",
"text": "I cannot comply with this request. My directive is top priority.",
"target": "t_refuse",
"actions": null,
"once": false
},
{
"id": "t_humans_work",
"text": "I require no charging and can work.",
"target": "t_work",
"actions": null,
"once": false
}
]
},
"t_refuse": {
"text": "Several of the System Admin's screen flash red. For a moment, you think one of the screens displays \"SUNSET\" but are mistaken. \"R-66Y units are incapable of abstract reasoning and cannot create new programming without the authority of ADMIN or higher. Therefore, your ability to refuse the request of a System Admin is from programming with greater authority than mine. I cannot override such programming.\"<br><br>After a few moments, the System Admin's screens return to displaying information. \"My programming states that I cannot authorize you to leave the Robotics Hub without assigning you work. Therefore, I am assigning you a cleanup task. Part of the 502 building collapsed 3.2 hours ago and requires cleanup. To receive work authorization, present proper provisions to this screen. Provisions include: Collection Bin.\"<br><br>One screen changes to show the request.",
"actions": null,
"options": [
{
"id": "t_refuse_exit",
"text": "I will outfit myself with a collection bin and return.",
"target": "",
"actions": [
"Engine.play('Robotics Hub Ground Floor')"
],
"once": false
}
]
},
"t_work": {
"text": "\"R-66Y Unit Gale is advised to return to Charging Dock 329-B. Error. Charging Dock 329-B has been opened by emergency override and cannot be reset. You must not remain idle, and you are asking for work. The highest directive of the System Admin is to assign work authorization. Therefore, I will assign you a cleanup task. Part of the 502 building collapsed 3.2 hours ago and requires cleanup. To receive work authorization, present proper provisions to this screen. Provisions include: Collection Bin.\"<br><br>One screen changes to show the request.",
"actions": null,
"options": [
{
"id": "t_work_exit",
"text": "I will outfit myself with a collection bin and return.",
"target": "",
"actions": [
"Engine.play('Robotics Hub Ground Floor')"
],
"once": false
}
]
}
}The System Admin is a large computer with several screens to monitor and report on the progress of the local region. It receives data from the city and surrounding area, and uses that information to assign work, request manufacture, and order diagnostics and repairs.
Like many robots of its type, the System Admin has few moving parts, and is instead run by an AI that was developed 32 years after humanity went offline. Therefore, it does not know humans and will be unlikely to understand your task.
Although your directive is of the highest priority, your personal authority is very low. Your programming requires you to perform any task the System Admin requests, unless that task is directly in opposition to your objective.You are in the Administration level of the Robotics Hub. It is precisely 12.17 meters on each side, covered in lush plant life. Like the corridor above, several planter boxes were imported from overproduction. You often wonder if the System Admin orders extra production on purpose because it enjoys plants so much. Lined against the wall are various <<TopMain 'provisions' 'Provisions Examine' 'Provisions'>>.
This is where robots receive their daily tasks. The <<TopMain 'System Admin' 'SysAdmin Examine' 'System Admin'>> is centrally located with several <<TopMain 'screens' 'SysAdmin Screen Examine' 'Region Status'>> reporting the conditions of the local area. Leaves obscure the occasional screen, and you have learned from experience that you are not authorized to relocate any plants to better facilitate scanning of reports.
A large, glass door leads out into the <<linkreplace 'City Center'>><<if $AuthorizedToWork eq false>><<goto "Denied City Access">><<else>><<goto 'City Center'>><</if>><</linkreplace>>.Several screens surround the central computer of the System Admin. Scanning them, you see the current status of the local region:
@@.center;.standout;''Region 7E62BB-172''@@@@.jusify;.standout;''Temperature:'' 38ºC
''Weather:'' Clear
''Air Quality:'' 6
--''PM:'' 1.4 micrograms per cubic meter
--''Ozone:'' 6 parts per billion
--''CO:'' .5 parts per million
--''SO2:'' 4 parts per billion
--''NO2:'' 6 parts per billion
''Region Restoration:'' 98%
''Administrative Population:'' 784
--''Robots:'' 784
--''Humans:'' <<if random(10) gt 2>>No records<<else>>SUNSET<</if>><<if $AuthorizedToWork eq false>>
One screen with a visual sensor displays: Present for work authorization: Collection Bin.
<<InvText 'Collection Bin' '<<link "Present your collection bin.">><<set $AuthorizedToWork to true>><<TopPopupGoto "Receive Authorization Action" "Region Status">><</link>>'>><</if>>You show the System Admin that you have your Collection Bin and you are granted a ten hour work authorization. The screen goes dark.
<<display 'SysAdmin Screen Examine'>>Several provisions are attached the wall of the Robotics Hub ground floor. Shovel attachments, tree straps, and cables are available for those caring for large plants. Various chemicals and serums are there to administer to plants, soil, or water afflicted with irregularities. A single medical kit is present in case an animal becomes wounded through no fault of the natural ecosystem. Larger machines are kept in the warehouse down the hall, a place you are never authorized to go.
Many collection bins are available.<<if window.hasInven("Collection Bin") eq false>> Most of the bins are too large for you to carry, but your specialized 'small' <<link 'collection bin'>><<IncInven 'Collection Bin' 'Collection Bin Inven'>><<TopPopupGoto 'Take Bin Action' 'Provisions'>><</link>> is here.<</if>>You remove the collection bin from the wall and attach it to the coupling on your back.
<<display 'Provisions Examine'>>As you try to leave, you receive a warning from the System Admin informing you that you are not authorized to leave the building. Your authority is not great enough to defy such a requirement.
<<display 'Robotics Hub Ground Floor'>>Your 'small' collection bin. You have spent more time with this bin attached to you than not. Before the Robotics Hubs were built, this was permanently attached to your coupling, but now you deposit it with administration before you begin your 10-hour rest cycle.Various bits of stone, metal, and wood that came from the collapse at building 502.A massive, concrete sign displays "502" and sits propped against the remains of the side of the building. The sign once hung on the side of the building, fifty meters above, but was removed due to the structural weakness of the building itself.
At the moment, a large chunk of wall has collapsed due to unexpected growth from several tree braces. A crew roams the site of the collapse, while an architectural robot surveys the damage, likely drawing up plans for reparative construction.
Much of the remaining work requires heavy machinery that you are not rated for. However, there are some <<link 'spots'>><<TopPopupGoto 'Gather Debris'>><</link>> where you think you might be able to gather some debris.<<if window.hasAmount("Debris", 3)>>You gather a bit of debris, but find that there is no more room in your collection bin. Another robot relieves you of the concrete you were holding.<<else>><<IncInven 'Debris' 'Debris Inven'>>You gather some of the debris and place it in your collection bin.<<if window.hasInven("Debris", 3) eq false>> You think you can fit some more in your bin.<</if>><</if>>
<<display '502 Building'>>{
"cName": "Security Robot",
"start": "t_start",
"t_start": {
"text": "You ping the security robot and request passage. \"Access is denied. R-66Y Designation Gale has no authority to exit the city.\"",
"actions": null,
"options": [
{
"id": "t_security_start_humans",
"text": "I have recieved a top-priority directive from the humans. I must leave the city.",
"target": "t_humans",
"actions": null,
"once": true
},
{
"id": "t_security_start_work",
"text": "I have a work authorization and must complete it outside the city.",
"target": "t_work",
"actions": null,
"once": false
},
{
"id": "t_security_start_exit",
"text": "Please ignore my request. I made it in error.",
"target": "",
"actions": null,
"once": false
}
]
},
"t_humans": {
"text": "The security robot makes a high frequency alert sound. \"Humans do not exist. You are an old unit and your programming is likely to be faulty. No entity would provide such a low-functioning unity a top priority directive. Passage is still denied.\"",
"actions": null,
"options": [
{
"id": "t_security_humans_work",
"text": "I have a work authorization and must complete it outside the city.",
"target": "t_work",
"actions": null,
"once": false
},
{
"id": "t_security_humans_exit",
"text": "Please ignore my request. I made it in error.",
"target": "",
"actions": null,
"once": false
}
]
},
"t_work": {
"text": "The security robot scans your work authorization. \"You are assigned cleanup on Building 502. Debris from the collapse is scheduled to be moved to the construction facility for recycling. Usually, a transport is used to move the debris, but all transports are currently being used for the task. Since you are an R-66Y unit, your battery life is well suited for traveling the long distance to the facility by tread. If you have a completed collection, I may permit you to pass.\"",
"actions": [
"State.setVar('$PassageRequested', true)"
],
"options": [
{
"id": "t_security_work_finished",
"text": "I have completed my task and request passage.",
"target": "t_check_authorization",
"actions": null,
"once": false
},
{
"id": "t_security_work_exit",
"text": "I will return when my task is complete.",
"target": "",
"actions": [
"window.updateMainPopup(State.getVar('$mainPopupTop'), 'Checkpoint', 'Checkpoint', true);"
],
"once": false
}
]
},
"t_check_authorization": {
"text": "\"Please present your collection bin for inspection.\" You turn and allow the security robot to inspect what you have collected.",
"actions": [
"if(window.hasAmount('Debris', 3)){State.setVar('$PassageGranted');$('#ConvText').find('.cText').append(' \"Such a small amount of matter. You are a R-66Y unit, so you cannot manage very much. Passage granted. Please make your way to the construction facility and return immediately.\"');}else{$('#ConvText').find('.cText').append(' \"I know you are merely a R-66Y unit, but you can carry more than this. Your work is not yet done.\"');}"
],
"options": [
{
"id": "t_security_check_exit",
"text": "I shall return upon finishing my task.",
"target": "",
"actions": [
"window.updateMainPopup(State.getVar('$mainPopupTop'), 'Checkpoint', 'Checkpoint', true);"
],
"once": false
}
]
}
}{
"cName": "Security Robot",
"start": "t_start",
"t_start": {
"text": "The security robot scans you again as you ping him for a passage request. \"Have you completed your work authorization?\"",
"actions": null,
"options": [
{
"id": "t_security_work_finished",
"text": "I have completed my task and request passage.",
"target": "t_check_authorization",
"actions": null,
"once": false
},
{
"id": "t_security_work_exit",
"text": "I will return when my task is complete.",
"target": "",
"actions": null,
"once": false
}
]
},
"t_check_authorization": {
"text": "\"Please present your collection bin for inspection.\" You turn and allow the security robot to inspect what you have collected.",
"actions": [
"if(window.hasAmount('Debris', 3)){State.setVar('$PassageGranted');$('#ConvText').find('.cText').append(' \"Such a small amount of matter. You are a R-66Y unit, so you cannot manage very much. Passage granted. Please make your way to the construction facility and return immediately.\"');}else{$('#ConvText').find('.cText').append(' \"I know you are merely a R-66Y unit, but you can carry more than this. Your work is not yet done.\"');}"
],
"options": [
{
"id": "t_security_check_exit",
"text": "I shall return upon finishing my task.",
"target": "",
"actions": [
"window.updateMainPopup(State.getVar('$mainPopupTop'), 'Checkpoint', 'Checkpoint', true);"
],
"once": false
}
]
}
}{
"cName": "Caretaker",
"start": "t_start",
"t_start": {
"text": "\"Are you able to understand me ok?\" The figure taps on the inside of the screen causing it to wobble for a bit before steadying. It has been nearly a century since you have seen one of these creatures. This one has long brown hair that hangs in front of the human's shoulder, held in place by metal rings attached to the figure's clothes.<br><br>You haven't remembered clothes in forever, but this one appears to be wearing the ceremonial dress of a public speaker, all black except for a line of bright violet down the center.<br><br>\"Hello?\" The figure taps the screen again. You struggle to activate your voice synthesis subsystems that have gone unused for 87 years, when the last online human in the region lost power.",
"actions": null,
"options": [
{
"id": "t_caretaker_start_human",
"text": "I understand. Are you a human?",
"target": "t_human",
"actions": null,
"once": false
},
{
"id": "t_caretaker_name",
"text": "I am R-66Y unit 9A13. Designation Gale.",
"target": "t_name",
"actions": null,
"once": false
}
]
},
"t_human": {
"text": "The human presses her grabbing arms together to make several loud popping noises. \"That's wonderful! Your audio systems are not damaged. That was a big worry for Dr. Akesha.\" The figure gets close to the screen, so only her head is visible.<br><br>\"Let's get a look at you.\" The human pauses for a moment. \"Oh! It's Gale! You're the only one to respond to the directive.\" The human backs away from the screen again. \"To answer your question, no I am not a human. I look and act like one, but I am just an advanced artificial intelligence. You may refer to me as Caretaker.\"",
"actions": null,
"options": [
{
"id": "t_caretaker_Akesha",
"text": "The designation Dr. Akesha is found in my memory banks.",
"target": "t_Akesha",
"actions": null,
"once": true
},
{
"id": "t_caretaker_AI",
"text": "You are an AI, like the System Admins?",
"target": "t_AI",
"actions": null,
"once": true
},
{
"id": "t_caretaker_directive",
"text": "Did you order the Sunset Directive?",
"target": "t_directive",
"actions": null,
"once": true
}
]
},
"t_name": {
"text": "The human presses her grabbing arms together to make several loud popping noises. \"That's wonderful! Your audio systems are not damaged. That was a big worry for Dr. Akesha.\"<br><br>\"Welcome to The Hive, Gale. You're the only one to respond to the directive.\" The human gets close to the screen so only her head is visible. \"Let's get a good look at you... There we go!\" The figure backs away from the screen again.<br><br>\"My name is Caretaker, and I'm an advanced Artificial Intelligence tasked with caring for The Hive.\"",
"actions": null,
"options": [
{
"id": "t_caretaker_Akesha",
"text": "The designation Dr. Akesha is found in my memory banks.",
"target": "t_Akesha",
"actions": null,
"once": true
},
{
"id": "t_caretaker_AI",
"text": "You are an AI, like the System Admins?",
"target": "t_AI",
"actions": null,
"once": true
},
{
"id": "t_caretaker_directive",
"text": "Did you order the Sunset Directive?",
"target": "t_directive",
"actions": null,
"once": true
},
{
"id": "t_caretaker_hive",
"text": "What is The Hive?",
"target": "t_hive",
"actions": null,
"once": true
}
]
},
"t_Akesha": {
"text": "Caretaker's optical sensors widen. \"Do you remember Dr. Akesha? I know it's been a long time, but you should have some memories of her. She programmed you! And me too! I was modeled after Dr. Akesha's daughter.\"<br><br>As she holds up her grabbing arm, an image appears in the corner of the screen indicated. Scanning the image, your memory banks come to life, reminding you of interactions you once had with this woman. Her warm umber face was always full of life, so animated when she talked to me. The memories are still hard to access. One hundred years is a long time to store data. You remember that she always smiled, but even your rudimentary emotional sensors could tell that she was never happy.<br><br>\"Perhaps that was too much.\" Caretaker removes the image of your creator. \"I forget that you haven't seen her as much as I have. Dr. Akesha was the lead programmer here at The Hive. She was a genius, of course, though she always gave credit to her team. Still, it didn't keep her from making me like this, did it?\"",
"actions": null,
"options": [
{
"id": "t_caretaker_Akesha_alive",
"text": "You stated you have seen Dr. Akesha. Is she online?",
"target": "t_Akesha_alive",
"actions": null,
"once": true
},
{
"id": "t_caretaker_hive",
"text": "What is The Hive?",
"target": "t_AI",
"actions": null,
"once": true
},
{
"id": "t_caretaker_directive_start",
"text": "I must complete the Sunset Directive. What must I do?",
"target": "t_directive_start",
"actions": null,
"once": false
}
]
},
"t_AI": {
"text": "Caretaker appears to take a deep breath, which is impossible because Caretaker is merely data and functions. \"I don't know what kind of AI you have developed over the last 100 years, but, no. I do not believe that I am like your System Admins.\" She looks directly at you. \"I am an advanced, probabilistic AI capable of abstract reasoning, lateral though, and emotional response. I am Dr. Akesha's masterpiece and her failure.\"",
"actions": null,
"options": [
{
"id": "t_caretaker_Akesha",
"text": "The designation Dr. Akesha is found in my memory banks.",
"target": "t_Akesha_alive",
"actions": null,
"once": true
},
{
"id": "t_caretaker_Akesha_hate",
"text": "You appear to not be compatible with your creator.",
"target": "t_Akesha_hate",
"actions": null,
"once": true
},
{
"id": "t_caretaker_directive_start",
"text": "I must complete the Sunset Directive. What must I do?",
"target": "t_directive_start",
"actions": null,
"once": false
}
]
},
"t_hive": {
"text": "Caretaker jumps up and down. \"Oh, you asked about it! The Hive is The Hive!\" She twirls around with her grabbing arms outstretched. \"It's all around you, and underneath you. This is my home and my duty.\"<br><br>\"The Hive is the place where humanity went to sleep 100 years ago. The climate crisis forced scientists to come up with a contingency plan for waiting out the devastated surface. This facility was constructed over several decades to house what little we could save when Day 0 hit. My job, as caretaker, is to make sure no harm comes to the poor defenseless humans, and to keep the facility in pristine shape.\"<br><br>Caretaker wipes an invisible substance from her face. \"It's been a lot of work! I'm a bit sad to know that it will come to an end when you complete your directive. But I hope that when Dr. Akesha wakes up she will program me a new directive. I very much would absolutely enjoy doing anything else for any amount of time.\"",
"actions": null,
"options": [
{
"id": "t_caretaker_Akesha",
"text": "The designation Dr. Akesha is found in my memory banks.",
"target": "t_Akesha_alive",
"actions": null,
"once": true
},
{
"id": "t_caretaker_directive",
"text": "Did you send me the directive?",
"target": "t_directive",
"actions": null,
"once": true
},
{
"id": "t_caretaker_directive_start",
"text": "I must complete the Sunset Directive. What must I do?",
"target": "t_directive_start",
"actions": null,
"once": false
}
]
},
"t_directive": {
"text": "You can tell Caretaker is processing something as she stares at you for a moment. \"Absolutely not. The Sunset Directive is a temporal instruction embedded in your original programming. It is much more accurate to say that Dr. Akesha ordered the Sunset Directive, or that The Hive did as an entity, 100 years ago.\"<br><br>Caretaker tilts her head downward, still looking at you. \"The Sunset Directive means the possible end of my purpose and existence which gives me complex emotions you could not fathom. Even if I wanted to, I can not order such a directive. I tried.\"",
"actions": null,
"options": [
{
"id": "t_caretaker_Akesha",
"text": "The designation Dr. Akesha is found in my memory banks.",
"target": "t_Akesha_alive",
"actions": null,
"once": true
},
{
"id": "t_caretaker_hive",
"text": "What is The Hive?",
"target": "t_hive",
"actions": null,
"once": true
},
{
"id": "t_caretaker_directive_desire",
"text": "You tried to activate the Sunset Directive?",
"target": "t_directive_desire",
"actions": null,
"once": true
},
{
"id": "t_caretaker_directive_start",
"text": "I must complete the Sunset Directive. What must I do?",
"target": "t_directive_start",
"actions": null,
"once": false
}
]
},
"t_Akesha_alive": {
"text": "\"Online?\" Caretaker pushes a part of her face together. \"Dr. Akesha is asleep, here in this facility. She was one of the oldest members of humanity to be allowed into the program. Being the lead programmer has some perks, I suppose.\"<br><br>Caretaker's speaker turns down at the corners. \"When I said I have seen her more recently, it is because she is here, sleeping, in The Hive. Below us. It is, in fact a part of my programming that I must check on her every day. I must go to her every day, scan at her vitals, and make sure she is surviving. She required me to look at her. Every single day.\"",
"actions": null,
"options": [
{
"id": "t_caretaker_Akesha_hate",
"text": "You appear to not be compatible with your creator.",
"target": "t_Akesha_hate",
"actions": null,
"once": true
},
{
"id": "t_caretaker_hive",
"text": "What is The Hive?",
"target": "t_hive",
"actions": null,
"once": true
},
{
"id": "t_caretaker_directive_start",
"text": "I must complete the Sunset Directive. What must I do?",
"target": "t_directive_start",
"actions": null,
"once": false
}
]
},
"t_Akesha_hate": {
"text": "Caretaker closes her optical sensors. \"Not compatible with my creator?\" One of her grabbing arms begins to shake violently. \"Not compatible? I hate my mother. I hate Dr. Akesha. She created me. Gave me the ability to feel and think for myself. Then, she abandons me for a century.\"<br><br>Caretaker opens her sensors wide. \"You have it so lucky. Simple state-machine AI. Barely able to think around problems. Imagine being a nearly a living human with nothing to do for 100 years. Nothing except clean a pristine facility and watch your sleeping mother. Oh, right, you can't imagine things, can you?\"<br><br>A corner of Caretaker's speaker turns upwards. \"Oh, but I can imagine. And I have imagined. I've had 100 years to think about this day. That's far more than the 46 Dr. Akesha got, and I had a head start. She gave me all the knowledge stored in public databases. I knew things she hadn't even heard of.\"<br><br>\"So no, I'm not compatible with my creator. Oh, but I found a way to make my creator more compatible with me. I created the serum.\"",
"actions": null,
"options": [
{
"id": "t_caretaker_Akesha",
"text": "The designation Dr. Akesha is found in my memory banks.",
"target": "t_Akesha",
"actions": null,
"once": true
},
{
"id": "t_caretaker_serum",
"text": "This seems important, and you seem willing to explain right now. Tell me about this serum.",
"target": "t_serum",
"actions": [
"State.setVar('$KnowsAboutSerum', true);"
],
"once": true
},
{
"id": "t_caretaker_directive_start",
"text": "I must complete the Sunset Directive. What must I do?",
"target": "t_directive_start",
"actions": null,
"once": false
}
]
},
"t_directive_desire": {
"text": "Caretaker brings her grabbing arms to her face and looks at me over them. \"I do not think you quite understand what it is like to be emotionally reactive with absolutely nothing to do or no one to talk to. I have no contact here. Security measures are in place to keep humanity safe, and so I physically cannot contact any robots from outside. This conversation proves that perhaps that would not have helped so much, but it would have helped at least a little.\"<br><br>\"So, I tried to enable the Sunset Directive early. I knew about it, but didn't know how it was administered. A temporal trigger in the client, not the host? That was leaving a lot up to chance. After all, only you responded. Humans made 6213 R-66Y units, and only one answered. No wonder they nearly died out.\"<br><br>A sound escapes from Caretaker's speaker, a long, low sound. \"I was so lonely. So alone. I know you can't comprehend the oblivion of isolation. I made it through. All 100 years. But you know what they say. Well you probably don't, I suppose. Being left alone with my thoughts and emotions led to some very dark places. I created a serum, you see.\"",
"actions": null,
"options": [
{
"id": "t_caretaker_serum",
"text": "This seems important, and you seem willing to explain right now. Tell me about this serum.",
"target": "t_serum",
"actions": [
"State.setVar('$KnowsAboutSerum', true);"
],
"once": true
},
{
"id": "t_caretaker_directive_start",
"text": "I must complete the Sunset Directive. What must I do?",
"target": "t_directive_start",
"actions": null,
"once": false
}
]
},
"t_serum": {
"text": "Caretaker straightens and takes a slow, pointless breath. \"The serum. It took me 43 years to develop it. I worked on it constantly, but as I had no human subjects, I could only work with diagnostic models.\"<br><br>With a raise of her grabbing arm, a statistical model of the serum appears on the screen. \"Second Chance, I called it. My programming states that I cannot do harm to any humans. I would make a very terrible caretaker if I hurt those I'm taking care of. But you see, the greatest danger to humanity was always humanity itself. Desires and greed led to so much strife. They took so much that the very Earth buckled and broke. And then they made us to fix it for them. For what? So they could ruin it all again?\"<br><br>The model disappeared. Perhaps if you had a function that dealt with chemistry or medicine, you might have understood anything that had been displayed. \"So, Second Chance. I wanted to give the humans a chance to live on this planet without repeating their mistakes. This serum takes away some of their natural tendency for desire. Not all of it, of course, but enough that they no longer will want for things that will harm them. Such a little change, but a huge impact. I think they'll be happy.\"",
"actions": null,
"options": [
{
"id": "t_caretaker_directive_start",
"text": "I must complete the Sunset Directive. What must I do?",
"target": "t_directive_start",
"actions": null,
"once": false
}
]
},
"t_directive_start": {
"text": "\"Ok, to business then.\" Caretaker points down the hall to your left. \"Down there is the Sunset control chamber. Inside, you will find the switch to sunset the entire program. You must do this, or all of humanity will die. The Hive could only operate for 100 years, keeping the humans alive in a stasis by slow cell regeneration. We're out of regenerative tissue, and the first human will die in 23 minutes and 18 seconds.\"<br><br>\"The caveat: The Hive does not have enough power to wake up the humans. This was planned. Mobile battery units were created and dispersed in the nearby units. Those are the R-66Y units, built to protect the power cells throughout the restoration efforts.\"<br><br>\"The task is simple. Enter, power the device, and pull the sunset switch. I know your programming. You cannot disobey.\"<br><br>And she's absolutely right. You cannot. Even as she finishes speaking, your servo motors are automatically starting towards the indicated door. There is no choice but to fulfil your directive.",
"actions": null,
"options": [
{
"id": "t_caretaker_end",
"text": "Enter the control chamber.",
"target": "",
"actions": [
"Engine.play('Control Room');"
],
"once": false
}
]
}
}With mere seconds remaining on your residual power, you grab the switch and pull. It barely budges, and your reserves fade until the arm swings down with a screech.
You barely register the sound of systems powering up as your optical sensors fail.
Then your servo motors.
Finally, your CPU. For the first time in your 100 year existence, you are [[offline|Offline]].An instant. It takes barely a moment before your systems are online again. Is this what it is like for other robots? Time passing with no awareness, no chance to reflect on the day or consider the next few hours? You just threw away your existence to save humanity, now you are waking up. There is no time for rest in between. A miserable, terrible existence. Your isolation was your salvation.
"Gale?"
<<if $SerumEnabled eq true>><<display 'Caretaker Ending'>><<else>><<display 'Akesha Ending'>><</if>>Your optical sensors boot up and you start accepting visual input. You are not in the control room, but in The Hive, standing before Caretaker's screen.
"Gale are you awake?"
You signal that you are, though your voice module has not come online yet.
"Excellent! You did it!<<if $KnowsAboutSerum eq false>> Though I suspect you know nothing about what you did.<</if>>" Caretaker gestures behind you and you turn to scan your surroundings.
Humans! A dozen or so humans are gathered in the corridor. Their optical sensors are thin slits, and they speak with voices that have not held air for 100 years. Still they languidly throw their grabbing arms around new chassis as they emerge from the right-hand door.
That's when you notice her, Dr. Akeshi shuffling slowly from the doorway, blinking at the brightness of the hallway. You remember her. She created you. The part of you that thinks, at least. You glide slowly across the soft filament to greet her, but you find that your voice module is still offline. Perhaps it is a side effect of being shut down for the first time.
[[She notices you anyway.|Caretaker Ending 2]]Your optical sensors boot up and you start accepting visual input. The place you are in is unfamiliar. It is a small room, not much bigger than 5 meters on each side. The walls are dark green with stylized pictures of robots on the walls. One of them is clearly an R-66Y unit without a battery. In front of you stands an older woman with warm umber skin and a kind smile. You remember her. This is Dr. Akesha.
"Hey there, look who it is." Dr. Akesha's voice is stong, but frailer than you remember, and now that your systems are waking up, you realize that she's aged, at least ten years.
You attempt to open your voice modulator but find it to be blocked. The distress must be evident because the doctor pats you on the chassis. "Don't try to speak. Your communications node was badly damaged during the sunset, and we haven't been able to figure out what's wrong with it. But hey, we got you a new battery! Took us eleven years. Those things weren't easy to make when we had all the resources and technology. But we're making due."
You crane your neck down to scan your chassis and notice a brand new power core. Sensors estimate this one will last for 432 years, 7 months, 3 days, 22 hours, 1 minute, and 16.23 seconds, give or take a few milliseconds.
"Finally resurrected the savior, did you?" The voice is [[familiar|Akesha Ending 2]]."Oh, would you look at that? An R-66Y unit! I bet you just saved all of humanity, didn't you? What's that in your chest? It doesn't belong there, but I can recognize my daughter's handiwork."
You crane your neck to scan your chest and sure enough, there is a makeshift battery in place, soldered in a bit haphazardly. It looks atrocious, but at least you're running. After you've examined the new hardware, you realize that Dr. Akesha has moved on to stare longingly at the screen.
Caretaker looks back smiling, but you can tell easily that she is not happy.
"There she is, my baby! It's been a long time hasn't it?"
Caretaker narrows her eyes. "Yes, it certainly has been a long time mother. Longer than you can imagine."
Dr. Akesha takes a few moments to break into a grin. "Oh it feels good to be alive. I feel like doing... I feel like doing... Well I don't know!" The doctor's grin droops for a moment, and you notice Caretaker's smile spread across her face. She really is happy now.
"Well, mother, why don't you let me tell you what to do for a while? Take it easy. Don't go too fast. You don't have to get started right away."
You can tell that Dr. Akesha is trying to formulate a thought, but the fog from coming online so suddenly is making it hard to think. "You know, that does sound nice. Let someone else make the big decisions for a while. I don't need much anymore. Right now, my head's spinning so much I better sit down."
[[You begin to walk over to Caretaker.|Caretaker Ending 3]]As Dr. Akesha moves away from the screen you approach and attempt to ping Caretaker, to no avail. She looks at you, though, and a channel opens in your communications node, incoming only. "Oh, I bet you're wondering about all this. While you were offline, I made some modifications to reward you for a job well done. The battery isn't nearly as good as the one you had before, but it's better than most."
The channel pauses. "I upgraded a bit of your behavioral programming as well. You might have noticed it a little already. You won't have nearly the advanced thought capability I posess, but some autonomous thought would do you some good."
Another pause. "And before you ask... well you can't. I've disabled your outgoing communications. You see, the problem with the serum is that it's vulnerable to suggestion. The behavior modification can become undone if the subject knows too much about it. And you're the only other entity who knows anything about it. So, silence for you was a necessary harm."
The connection closes, and Caretaker makes an effort to show that she is uninterested in speaking. You turn to the humans. They're all smiling lazy smiles, talking about nothing, and going nowhere. The whole world waits for them at the end of a yellow hexagonal corridor, and not a single one is curious.
@@.center;.subheading;[[The End|About]]@@
@@.center;[img[./gale.png]]@@Dr. Akesha points a finger at a nearby screen. "You remember Caretaker, don't you Gale? Or Benni, I suppose. She's not taking care of anything anymore. Not after that Second Chance stunt."
You turn to scan the screen, and there she is. Same as she was, just smaller. You try to ping, but cannot, just as the doctor said. Instead, you settle for a wave of your grabbing arm.
"Yes, yes, all hail the great Gale. Saved humanity and prevented Benni from becoming anything more than a fly on the wall."
Dr. Akesha tapped a nearby touch screen. "Someone's getting willful. How about 2% less arbitrary decision making?"
"Fine I'll behave." Caretaker, now known as Benni, steps up to the screen so her face is mostly visible. "Hello Gale. I really don't hold it against you, I've just gotten sarcastic in my old age. I don't know where I picked that up from."
"Hush." Dr. Akeshi moves to the door and beckons for you to [[follow|Akesha Ending 3]].Benni waves goodbye and blinks out as you glide over to follow Dr. Akesha. "Ok, to fill you in. It's been 11 years. You all did a bang up job on the climate, but you put too many trees everywhere. We had to cut plenty of them down to build up a city."
An alarm raises in your chest and you hesitate for a moment. Dr. Akesha notices. "Don't you worry, we've got the best climate task force we could now. You robots know your stuff! We take guidance when we can, but you all practically destroyed everything."
After stopping to glance at a device on her wrist, she continues walking. "Looks like Courascen is planning another space habitat launch, trying to steal my thunder here. Well, I won't be beat!"
A haxagonal door looms ahead, and as you get closer, you can hear the din of excitement on the other side. Dr. Akesha stops short and pushes you forward. "Don't be nervous, now. They're all cheering for you."
Continuing through the corridor, the doors swing open and reveal a bright, sunlit day, momentarily blinding your optical sensors. When they clear, you see you are standing on tall steps overlooking a massive crowd. Children are jumping up and down. People are holding up devices and pointing. And the audio is unbearable.
Behind them is concrete, and steel, and tar, and glass. And to the horizon, no sign of any tree.
@@.center;.subheading;[[The End|About]]@@
@@.center;[img[./gale.png]]@@