The API of the Gods
Page 2
"Wyrm dash-aye tee-ess-dee dot wu-wai," I said. wyrm -i tsd.wy appeared in my vision, and I clicked with my tongue to run it. Wyrm was what had once been the python binding of the API, but I had evolved it into a new programming language altogether, one more suited for what we did. Some mocked my work, seeing it as far too inefficient to be justifiable.
And yet there was nothing like saying "golems = GetAllGolems(); golems.activate()" and seeing row after row of golems turn to me in unison, bow, and salute me with their blades.
That would have taken far too long to get right with C++, especially with arbitrary golem types. Duck typing for the win.
>>>
I never met the Gods.
After orientation, which was a short PowerPoint full of buzzwords mixed with mythopoetic phraseology, I went straight to work. I had feared that the API would be even worse the deeper I worked in it, until it was horrible kludges and hacks at the very base as it drew its mystical power from the heart of the world or whatever. But it was worse.
I had once known a developer who was so much smarter than I it wasn't even close. I'd have an idea, and he'd either thought of it himself or could see some problem with it, or see some awesome extrapolation of it and run off with it. His ideas, I would never have thought of in the first place, and the problems with them I did see he had seen first, and if I had something to add he had something to multiply that. He was always congenial about it, but I always had rather our positions were reversed.
Working with divine code was like that, times a thousand.
I saw it for the first time when I was hunting down a bug with part of the Python module involving buoyancy. I asked, and was granted, brief access to the source code of water itself. It was less than half a page, written in terse Logos. And yet it was truly beyond any human creation, code so clear it required no comment and yet so complex in its elegance that no words could describe it anyway.
I was afraid the bug was in such beauty, but actually the culprit was a typo somewhere in the API. I couldn’t stop thinking about it for the rest of the day and then sleeplessly through the night. How it showed a completely different universe, one not made of simple particles making atoms making molecules making water. Rather, rules using rules in perfect patterns, not mere code, but like music. Music, like a symphony playing in your sleep, and you, hearing it, dream of worlds.
I couldn't be in the original universe, I decided. We were in a virtual universe. There would be no need to write code for water rather than allowing it as an emergent property of simple physical laws unless you had to save resources—like, say, RAM, storage, and processing power. The Gods, perhaps, were AIs on some higher layer with intelligence incomparably beyond our own.
So what were we, then?
Perhaps, I thought, they outsourced their grunt work to their simulations.
>>>
The windows of the yacht were boarded up with metal plates, further fortified by the API, but you could somehow tell we were underwater from the occasional shudder around us. If this was using a variant of my old code, I silently hoped that that bug was the last.
"In about ten minutes," The Head Supervisor began. We numbered twenty aside from him and the Eater, and I knew most of us. "We are going to be deploying in the control palace of the lake's daemon. We are to investigate certain odd behavior of the daemon as of recently, and the abnormal weather patterns we've seen on the lake itself."
"Sir," asked John Yu, Security and Communication Lead or Seer of the Stars. He had multiple slashes hovering around him and a laptop, and he was in a powered wheelchair. Not because he needed it, but so he could move around without getting up. His language of choice was Mead, our mutated version of Java. "If this is a routine investigation, why do we have over one hundred golems—"
"One hundred fifty," I said.
"One hundred fifty golems in the cargo compartment?"
"The last messenger did not return," the Head Supervisor said.
>>>
The API was easy to learn, but almost impossible to master or even use, as there were so many considerations.
Suppose, for some reason, you want to make a sword that dances in the air and stabs people. Immediate questions come: how big is the sword; how much does it weigh; what is its tensile strength and aerodynamics; are you mass-producing these; et cetera ad infinitum. But then there's the little things. What if the guy you're going to stab has his own sword? What if he's got his own dancing sword? What if there's a whole bunch of swords floating around stabbing people, and the Gods know what else is going on, and you don't want the sword to accidentally be stabbing you?
And how much of this is worth it?
Even if I had poured my entire blood supply into my "Hello,nnnFOOLS!" cube, or even that of every mortal on the planet, it would not have worked. Nor was there any magical sign or divine inscription or cosmic cheat code that powered it. Nor did it function through any kind of mental psychic power, faith, enslaved demon, magical jewel, fairy dust, or unicorn manure. The API solely works because the Gods power what we do by their own blood: Ichor.
Ichor can make water burn or fire wet. Ichor can make a ship fly or turn cities to stone. Ichor can give a semblance of life to the dead or kill armies in an instant. Ichor can find the prime factors of a number quicker than a single mortal CPU's cycle or reverse a trapdoor function through brute force. Ichor can even solve arbitrary halting problems through the API, but that's too expensive for ordinary use.
And Ichor would make the one who drank it divine.
Ichor was an issue with the virtual universe theory, I did admit. When I ran a virtual machine, a computer within a computer, I did not spill my own blood to run programs or alter its state. I just did it with a few clicks of my mouse. Nor would drinking my blood cause my programs to become like me, which was what drinking Ichor would do to us. That made even less sense. Why would anyone create a virtual machine with such stupid rules?
Why would anyone create a world like this at all?
>>>
"What's the odd behavior?" Ashley, Deployment Troubleshooter or Myrmidon asked. Her clear voice was distorted through the speaker of her crab-like armor. The armor made her long hair unsuitable, so she had it cropped to near baldness, like some kind of cancer survivor. Though, from what I had overheard, she might be one. Pantheon Solutions offered healthcare in an entirely different sense than mortal employers. Her power armor, as she called it, was controlled by pure C, and would have been written in raw assembly if they had let her.
"Heck if I know," the Head Supervisor asked. "I can barely understand Upper Management when they talk. For all I know the CEO thinks there's not enough bird poop in the lake."
"There's been a spate of lost boats on the lake recently," said Andy, Bearer of the Arrow that Kills Gods or Deployment Technical Specialist. He wore little armor, but his bow was taller than he was and usable only with gauntlets that made him like a steampunk boxer. He really did have an arrow that was covered with centaur's blood and so could harm a divine being, though the higher ones would not be harmed much. Andy had quietly told me that he made another in secret, just in case. His bow was also Wyrm-based, and he was the other primary maintainer for Wyrm itself.
"Perhaps that's it. We just don't know. But Pantheon Solutions is about doing," the Head Supervisor said proudly.
>>>
We weren't only making the API. One of the office buildings on the campus was full of teams working on actual projects. I was briefly pulled to be a liaison to a team working on reducing, and eventually eliminating, drought in Africa.
The rain daemon was not meant for the current ecology and its oddities lead to periods without rain at all. The team was trying to create a secondary daemon that would pick up where the first left off, and they decided on the python API for the speed they could work with it—and thus, the lives that would be saved. We made so many changes to the API during the project that it was one of the reasons I made Wyrm.
Bu
t shortly after the secondary daemon was deployed and it was confirmed it was saving some lives, the team was disbanded without explanation, and everyone was sent to different teams altogether. I ended up on Tactical Solution Deployment, construct division, where I am today.
>>>
"How long are we going to be down there?" asked Emily, Healer or Onsite Healthcare Specialist. She was a black woman perpetually wearing one thick leather glove even out of armor, because she had once spilled Ichor on that hand and it never stopped glowing. How she didn't die from the geas I never learned and I never asked, even when we were dating. That didn't work out, by the way. Her lifestyle was even more high-stress than mine. She used the new Perl binding, and more power to her. It turned out a variant of regexes worked well with bodily repair,.
"The ship can only stay here for an hour," I said and looked at the Head Supervisor.
He frowned. "If you can't get out, we'll try to rearrange a secondary extraction method as soon as possible."
"We're carrying enough to stay for days," Emily said. "MREs to eat, even."
The Eater of the Dreams of Foes said "This was the best we can do. Upper wants this team, right here, right now."
I shuddered slightly, and I did not know why.
>>>
"Don't you care!?" my girlfriend screamed, and I touched her arm gently. I barely dodged her hand. "Do you even have a heart?"
"Honey—" I said.
"Don't call me that. I am continually asking you to and I—I don't care anymore. We're through." She stomped out and shut the door behind her so hard it rattled. Moment afterwards I heard the engine start, and her car squeal away.
I looked around the remains of the living room. I thought if it would be take less time just to call someone to clean it up, and then I realized I had reached the point where I really didn't care.
That had started after the Tactical Solution Deployment where I killed someone.
All of it was a blur. We were after a warlock, an oath-breaker, someone who had left one of the Divine corporations and struck out on their own to make themselves a god. A blur, but I could remember fragments: bolts of darkness, a flying ax that cut through a friend, my sword—snapped and the other end in the dead warlock. The rest I could only remember in nightmares which came and never stopped.
I couldn't tell her, and after one too many missed dates this happened. I had returned from an emergency deployment to find her systematically destroying my possessions. I thought about calling the police, but I didn't care about that, either. Nothing I had here couldn't be replaced. I owned as much as I wanted with my new job.
I had been told moving to Tactical would be temporary, but of the three people who could control the golems one was dead, one was missing, and the last was I. I had no choice. It became my job. I didn't know what I would do if they fired me.
I didn't know what I wouldn't do if they ordered me to do it, now.
And yet why did I need to do it? Why couldn't they create beings that could do their dirty work, to kill and destroy for them? Why us?
Why not, if they wrote this world's code, write it so there wasn't a need to kill in the first place? What if they fixed whatever bug caused war? Hatred? Death?
There was an almost palpable crack in my mind. Maybe our Gods weren't benevolent as we thought they were.
Maybe they weren't even gods.
>>>
The metal beneath me shuddered as yacht landed. The improvised side door in the hull we had made opened with a groan.
I was in the front cargo hold, and now completely submerged in water. My old code was working: I was completely dry inside my armor. I didn't even feel anything above normal atmospheric pressure.
golems.ready(); golems.follow(). The golems followed me out onto the marble roof of the control palace. It was oddly bright down there. I wondered if we were at the bottom of the lake or actually some kind of pocket reality. Whatever. golems.draw(gateway_script). The golems began scratching the characters the beard guys had given us into the palace with their swords.
The markings were only a bulls-eye, in a sense. The actual power was with one of the security guys inside the yacht. When the last scratch was made, I took a deep breath and said "Ready." clock.start("1h", warning). The roof shook under my feet, the carvings glowed, and suddenly I was inside a dark, dank, corridor.
Alone.
>>>
What if we had the powers of the Gods, I wondered as I looked through the wreckage of my house. We lived here, after all. We were the ones who had to live in the world they ran. What if we decided what was right for us? What if we had the source code for all things, and fixed our own bugs?
>>>
I forced myself to stay in control, not to let panic win. golems.report(). Red spots overlaid themselves the across the small map in the corner of my vision.
"Mike, situation?" asked the voice of the Head Supervisor over the farspeaker.
"I'm in, the golems are scattered all over the place."
"That's not supposed to happen," said a voice I didn't recognize. The security guy? "The daemon would have to know we were coming, and how."
golems.regroup(me.location, fight=true). Come to me and fight if necessary.
"It just did," said the Head Supervisor. "Plan B: everyone prepare for forced entry. Mike—"
I saw two stone daemon servitors approach, and I screamed "Got company!" as they charged.
>>>
Of course, it could just be that the Gods were immeasurably more intelligent and powerful than we did, I thought as I dumped another dustpan of smashed tablet into the trash. Maybe even the seeming evils were part of some greater plan for the good of all.
"So?" I said at last, out loud. "Do you hear me? Do you plan to do anything about it?"
There was no answer.
>>>
I had never had a chance to examine daemon servitors up closely until that moment. The stone remains looked like pieces of gargoyle and blocky battlemech from some kind of SF story.
I gasped for breath, and my whole body was covered in sweat. I was almost overwhelmed again. If the other golems hadn't arrived, I wouldn't have made it. One of the golems didn't; its pieces were scattered all over the hallways. Another two had broken hands, one had a broken sword, and the last three were fine.
"Mike! Mike!" Then more muffled, "By the Gods, hold that left corridor; stop them!" And again, "Mike! Status!"
"Made it," I said, between panting. "Two servitors came out of nowhere. You?" nearby = GetCloseGolems(); nearby.reassemble(). My newly-formed golem squad began to take parts off the ground and replace their own.
"Barely keeping it together. Most of us are in a room close to the main entrance. We got a bunch of your guys just standing here."
"Because they've regrouped with you and are awaiting orders, but no one’s giving them." I said. A logical error: I hadn't imagined that could ever happen. Some weird corner of my brain wanted to file a bug report right then, but I improvised. golems.follow(ANY_FRIENDLY, fight=true). Follow anyone you can and fight. But then they would stop regrouping—I couldn't think of the syntax for that, and I didn’t have time for trial and error. Screw it. The fallback was to defend themselves, which would have to do. I had to move on. "They should follow you now."
"Thanks. Ashley's missing."
"I'm with Andy; we're moving," her voice came on the farspeaker.
"Something going on the third floor," said the Eater of Dreams. "I sense a large deal of thought—two thoughts?"
"Drop everything. Move downstairs now!" the Head Supervisor shouted.
"Yes, sir," I said. Instantly I thought of how to command the golems. I took a big breath and said golems.clear().regroup().follow(ANY_FRIENDLY).downwards().fight(). That would give them a reasonable strategy to obey on their own.
I looked at my map again. The nearest stairs down were towards the center.
>>>
But what could I do? I wondered, all that night. The geas wa
s unbreakable. Which left what? File a complaint with those surveys they always wanted us to fill out?
Of course, maybe I was just going insane. Breaking up with your girlfriend was not a reason to began doubting your choices in life... unless it was.
My mind felt coldly clear.
>>>
I'd seen other commanders of golems or the like wear special armor like an officer among soldiers. I'd seen them, past tense, because they tended to be the first target against anything intelligent. I had my golems made to my exact measurements and wore the same armor, and stood a little away from the center for good measure. It saved my life as several arrows and a bolt of frozen fire pierced the center golem within the first few seconds of the ambush.
For the next few seconds there was too much chaos to think or understand. In a brief moment of clarity I recognized the jerky motions of the armored skeletons, and without thinking I charged through a lull to the man in a black cloak. A blade cut my arm, but I stabbed my target through before his icefire hit me. The skeletons fled down the hallway, and something with moth wings hopped off the dead man's face and flew with them.
My golems surrounded me. repair.fix(me.arms[1]). A faint warmth began working in my arm. The pain started to dull immediately. "We've got warlocks!" I shouted over the farspeaker.
>>>
I bought another house, and a third, just to be sure. I set up a system—I won't bore you with its elegance—that would, across my personal networks in a mix of encryptions, one time pads, stenography, and at one point ROT-13, hide an extremely large and extensive porn collection. The mechanical typewriter was just lying in a closet.
I had no problem working with code I couldn't run to test. After all, Ichor was so carefully measured that most testing with the API was either simulation or actual deployment. The lack of a backspace was more an issue, but I had patience. Patience, willpower, and a plan.