Source Code

by Kelvin Shadewing


Chapter 2

Chapter 2

"Who's there?" Celestia said aloud.

Luna moved closer to her sister, trying to hide under her wing. Good, the relative link was working. Her instincts were telling her to run to her big sister for comfort and security.

"Hello, Celestia and Luna," I said into the microphone, "Don't be afraid of me. I'm not going to hurt you."

"Where are you?" Celestia asked forcefully, looking up into the sky for the source of my voice.

I grinned. She was spunky. Sure, I could change that, but that would defeat the purpose of this game. "My name is Alan One. I created you." I wondered if calling myself after a famous Disney character would be considered getting to full of myself, but it sounded too cool for me to resist.

"Alan One?" Luna asked softly. If not for the text output, I might have missed that line.

"Yes?" I asked.

"Where are we?" she asked, "This place is so..."

"Empty?" I finished.

She nodded.

I sighed. "Well, you see, I haven't made anyone else yet. You two are the first, and I created you for a purpose."

"What purpose is that?" inquired Celestia.

"I am going to fill this world with life," I told them, "You two are going to be the guardians and leaders of this world I've created for you. Celestia, you will rule the day, and Luna, you will rule the night."

"And what if we refuse?" Celestia asked, "What if we don't want to rule?"

I chuckled. I admired her spirit. "Well, whether you like it or not, this land is yours. You can guide it and hopefully lead this land to prosperity, or let it go wild and fend for itself. That's the game, and you two are the players."

"So then we have no choice?" said Luna.

"You do," I said, "But being the first, and I might add most powerful beings in this world, your actions and decisions will affect everything."

Celestia lowered her gaze to her sister and smiled at her, then looked back up. "Very well. We shall take on this task. But I must ask, what is the consequence for failure?"

Good question. In fact, what would even constitute failure in a simulation like this? Her becoming a tyrant? One overthrowing the other?

"You fail," I said, "if one sister slays the other, either directly or indirectly. The consequence for such failure is that you both will be replaced." That sounded good.

"Very well," said Celestia, "What now?"

"Now you sleep."

I terminated the process. Visual Studio popped back up on screen. I minimized it and switched over to the Hammer BSP editor. The models I'd made were rather simplistic, almost cartoonish. I thought on that, and decided to change the lighting mechanism so that life forms would be cel-shaded. The rest of the world would be smooth and simple, but still textured, like Team Fortress.

I started work on the new city that would be the home of my little ponies: the capital city of Canterlot. This would be their starting point, and from then on, it would be open wilderness. But even with all this room to grow, something was missing. Another fantasy element.

The weather! Weather would be controlled by the inhabitants, not by nature. In order for this to work, I had to override the ambient weather system and make clouds a physical entity.

After messing around with the engine some more, I had a setting that I liked, and started implimenting the other races. Each would have different parameters for instinct and nature, but operated on the same basic principals. Probably the hardest part to program was procreation. For things like gryphons and diamond dogs, I elected to use a standard genetic method of determining appearance and gender. For the changelings, I went with a hive structure and gave them a queen. They would all be identical to non-changelings in their natural forms, but would be able to temporarily copy the form of any other race. The ponies, however, I made very different. While there was a set method for species, as unicorns, pegasi and earthlings would be able to interbreed, appearance would be totally random.

Having set up my system, I installed the extra two terrabyte hard drive where new models generated in game would be stored. Once the disk was full, the simulation would start recycling bodies instead of making new ones.

After making a few of each species to start them off, as well as a multitude of animals, I switched the level from freerun_city.bsp to the new equestria.bsp and started the simulation up.

Luna and Celestia looked disoriented at first when everything lit up, and were startled at the appearance of six new ponies, a male and female of each pony race. The foreign races would meet them eventually, but I wanted initial seperation to see what would happen.

My cell phone started ringing. I turned the mic off and picked it up. "Hello?"

"Hey, Alan?" my dad said on the other line, "You remember you're meeting us for dinner tonight, right?"

Oh, crap. I pulled up my calendar. "Uh, yeah, of course." The date said it was mom's birthday. "I just got a few things to do real quick, and I'll be right over. Tell mom I said happy birthday!"

"Alright. See you soon." He hung up.

I glanced at the chat log in the sim. Luna and Celestia were telling the new ponies who they were. Hopefully they'd be fine while I was gone.

I switched the sim into background mode, making it run much faster than real time. The limit was set at 1000 times speed, which meant that it would be a little longer than five months if I didn't stay long. Of course, that was assuming mom didn't start drinking.

Sighing, I switched off the monitor, and went to take a shower.