Выбрать главу

“Nice, huh?” Mark said, getting up and dusting himself off.

“Yeah, nice,” Catie said, getting up, too. “You might have warned me a little sooner.”

“What, and spoil the effect? Someone here went to a lot of trouble to write that routine. It’s the server-maintenance people’s intro to the space…I thought you might like to see it.”

There was no question that it had been worth seeing, but Catie wasn’t going to admit that to Mark right this minute. She looked after the space station as it receded, noting the structure of the hub. Rather than having a docking facility there, it was just a blind sphere. “Is that spat volume?” she said.

“Yup,” Mark said. “It’s the external ‘restatement’ of the shell that holds the rules for the behavior of the internal volume. The volume’s been instructed to act like the ‘classic venue,’ the original Selective Spin module that they hooked up to the International Space Station. But the designers prefer this for the outside. It’s prettier, and doesn’t look like it was built by a committee.”

There was no arguing that. “How do we get in?” Catie said.

Once more Mark reached into his tame “flap” of empty space and fiddled with a control. Some hundreds of miles from them, the space station froze in place, and the sun stopped rising, then the space station seemed to rush toward them again, at an even higher speed than it had originally swept by. Catie felt like ducking again, but she stood her ground. The station plunged right at them, and then swept through them in a blur of cutaway views too swift to grasp. A moment later she and Mark were standing in the middle of the spat volume at the heart of the station, not even its goal hexes showing at the moment, only a dim silvery light illuminating the cubic while it was in standby mode. The space was anechoic, empty, and just on the borderline of cold.

“This is ‘where’ it happens,” Mark said. “The visual aspect of it, anyway.”

“Maybe we should look at the nonvisual aspect,” she said.

“The code? Sure. It’s mostly written in Caldera, except for the imaging calls.”

“Oh, joy,” Catie said. She had been working for some time to learn Caldera, one of the main languages that simulation builders and the designers of virtual environments used, because she had to. It was the “framework” on which imagery was hung. But the language was not proving easy for her to master. To get your imagery to move and act as if it were real, the image you constructed had to exchange its motion “calls,” the instructions you built into it, with the program underneath. The two sets of programming had to work flexibly together — but at the moment Catie knew the imaging program, the “muscles” and “skin” of any given environment, a lot better than she knew the underlying structural code, the “bones.” In her earliest virtual work, this had been a matter of preference, and she had worked as she pleased, with what languages and utilities she pleased, ignoring the “hard parts.” However, now that she was beginning to approach professional levels of work, she could no longer allow herself the luxury of such preferences, at the risk of marginalizing herself and limiting the kinds of artwork she could do. Catie was having to come to terms with those underlying “bones,” and with the concept that an environment sometimes had to be built from the inside out. She was beginning to work out how to handle this new way of constructing images and simulations — she had no choice — but she knew that for a good while now it was going to make her brain hurt. Catie eagerly awaited the “paradigm shift” when it would all, suddenly, make sense, and the two ways of constructing virtual imagery would unite and knit themselves into a seamless whole…but she had no hope of having this happen to her in time to do her any good in this particular situation. I’m just going to have to muddle through the best I can….

“Okay,” Mark said, “here’s the Caldera structure.” And he turned the key again.

The image of the spat volume disappeared. It was replaced by a towering construct of lines and curves and helices and geometrical solids of light, reaching up and up and up into darkness. Every one of those objects or lines meant a line of code, or a set of instructions based somewhere outside of the program itself, “Oh, no,” Catie said, and covered her eyes for a moment, just sheerly overwhelmed. I hate abstract code presented this way, I hate it! And just look at all this! There had to be hundreds of thousands of lines of code here….

“Sorry, Catie,” Mark said, but he sounded a little be-mused by her distress. “It’s the naked code, yeah, but it’s simpler to look at it this way than if you objectify it. That just complicates matters. If you want, I can try to find you another paradigm….”

“No,” Catie said, “maybe it’s better if I just try to make sense of it this way.” She stared up at the construct, craning her neck. It seemed to be about the height of the Eiffel Tower. After a moment she said, “Is there a legend?”

“Sure,” Mark said, and fiddled with his invisible “controls” again. A “legend” window popped out to one side of where they stood, showing examples of the graphical structures used to indicate the program’s code, and next to each one a text description of the kind of code involved — structural, procedural, object-specific, referential, and so on. Catie stared at it with some dismay. It was going to take her days to come to grips with this.

“Is there a way to highlight the strictly image-related lines and linkages?” she said. Better to start with the parts she would be immediately familiar with, Catie thought, and then work inward to the less familiar ones.

“Sure,” Mark said. He reached over to the legend window and touched the taskbar down at the bottom. It immediately displayed a master menu with a grid full of glowing icons, one of which looked like a small picture in a frame. The construct in front of Catie changed, about 80 percent of the curves, lines, and squiggles fading away to shadows of themselves, and leaving a great number of solids of various shapes shining in various colors.

“There you are,” he said. “The ones in a single color are single images or stills; striped or shaded ones are composites or motion clips. You can have the construct slide itself down through the ‘plane’ we’re standing on, or move the plane up and down, to get at a given image. Take it out of the construct and it’ll expand itself in the space and show you the image or 3-D construct. When you do that, an editing window drops down at the same time. But I wouldn’t edit anything if I were you.”

“Before I knew what I was doing,” Catie said, “definitely not. And probably not even then.” She looked up at the massive structure. “James Winters suggested to me that you’d been working with this for some while….”

Mark nodded. “It’s complex, but not beyond managing,” he said. “Mostly I’ve been working with the senior Net Force program analysts to look for signs of tampering — we’ve been comparing the code against the initial archival copies of the server program, and the more recent backups, to see where there’ve been changes.”

“And you haven’t found anything to suggest what’s going on?”

Mark shook his head, and scowled.

“Did you look at the image calls?”

“We gave them a once-over, yeah, to see if whoever was tampering might have tried to make it ‘look like’ one thing was happening, say a near-miss on a goal, when something else should actually have happened instead. But we didn’t find anything of that sort.”