Изменить стиль страницы

Nasim said, ‘So why aren’t we pulling it out of the queues?’

‘I’m trying to find a way to automate that,’ Milad replied. ‘On an object level, it’s masquerading as demons’ blood, and on superficial queries the two are completely indistinguishable. It’s only its custom behaviour and appearance when it’s actually rendered that reveal its true identity. So to filter it out, I’m going to need to set up something that works from its final appearance.’

‘Okay.’ Nasim stepped back and left him to it while she tried to make a judgement about the bigger picture. If each corrupted game was going to take ten or fifteen minutes’ worth of programming to deal with, she’d have no choice but to shut everything down for the day, forfeiting several million dollars in fees. Then again, maybe Milad’s filter would be adaptable with some minor tweaks to all the other intrusions – but she didn’t have long to determine how realistic that hope was. Thousands of customers were already signing out and demanding refunds, while the hard cases who hung around pretending they could ‘play their way through’ the anomalies would be a PR and litigation nightmare when their steely dedication turned out to be the perfect emetic.

‘What’s happening with Virtual Azimi?’ Nasim asked Bahador. He pointed to his own display, which showed a football field invaded by sheep. There weren’t enough of the animals to hem the players in and stop them moving completely, but they’d certainly brought the game to a halt. The human players were standing around swearing, or fruitlessly trying to chase the sheep away; the animals were responding with skittish swerves that might or might not have been behaviourally accurate but certainly looked maximally frustrating. Virtual Azimi and the other Proxies were so confused by the whole turn of events that they’d all adopted their emergency strategy of sitting on the grass, holding their ankles and wincing as if they’d been injured.

‘So have you got someone dealing with the sheep?’ she asked.

‘Arif,’ Bahador said. He added, deadpan, ‘His father’s a butcher, he’ll know what to do with them.’

This was the game where they had the most to lose, but there might be a chance to salvage the situation. Nobody would try to run straight through the animals as if they weren’t there, so at least there was no prospect of dissonance and nausea.

They walked over to Arif’s desk. ‘How are things looking?’ Nasim asked him.

Arif was staring at a properties window showing the responses the sheep objects were giving to a list of standard queries. ‘They’re camouflaged as Proxy players,’ he said. Hardly camouflaged to human eyes, but the whole programming environment was based on protocols in which objects ‘told’ Zendegi about themselves, rather than requiring the system to examine them in detail and reach its own conclusions. Zendegi would have ground to a halt if every pebble and blade of grass had to be drawn and inspected to confirm its true nature before being accepted as being what it claimed to be.

‘Okay,’ Nasim replied, ‘so they need to be filtered based on their appearance. Maybe you can adapt what Milad’s doing-?’

Arif turned to face her. ‘I’ve got a better idea. Can I use the Faribas?’

‘The Faribas?’

‘They do “what’s wrong with this picture?” almost as well as a human inspecting the same scene. If we use enough of them, we can show them every environment of every game in progress and have them point out the anomalies directly to an automated object filter.’

Nasim thought it over. ‘Some of the fantasy games have all kinds of jokes and anachronisms,’ she said. ‘The people we side-loaded for the Faribas weren’t in on the jokes; they would have classified them as anomalies.’

Arif gazed at her in disbelief. ‘At this time of day, that’s less than one per cent of what’s running! We can shut those games down and give people refunds. It’s no reason not to salvage all the rest.’

He was right. Nasim said, ‘Okay, go ahead and try it.’

As Arif set to work, Bahador said quietly, ‘It’s disturbing, isn’t it?’

‘Being invaded by sheep?’

He shook his head. ‘The prospect of spawning a few thousand slaves like that.’

Nasim didn’t reply immediately. The truth was, she shared his disquiet to a degree, though it didn’t make much sense. She’d convinced herself that there was nothing wrong with the Faribas popping in and out of existence all over Zendegi, whispering advice to the scripted Proxies in dozens of games, whenever the Proxies’ behaviour was too difficult to humanise by other means.

‘They’re not slaves,’ she said. ‘They’ve learnt how to do a microscopic part of what a human does. If a factory worker guides a robot arm through a sequence of moves, does the robot become as human as the worker?’

‘No,’ Bahador replied, ‘and I don’t think the Faribas are human either. But it’s still eerie, churning them out by the thousands.’

Nasim said, ‘What difference does it make, whether it’s one or a thousand?’

Bahador spread his hands in an admission of uncertainty. ‘Maybe none at all; I don’t know. If I were sure that I knew the right way to think about this…’ He trailed off, but Nasim could guess where he’d been heading. If he’d been certain that the Faribas were conscious, he would have been out on the street with Shahidi’s followers. If he’d been certain that they were not, he would have applauded Arif’s idea without reservation.

Arif worked quickly; the necessary hooks to the Fariba modules were all in place already, he just had to tie them together with a few other systems. When it was done, he tried out the anomalyrecogniser on an instance of the Virtual Azimi game; the sheep all flashed red, and nothing else was targeted. Then he quickly added code to purge the selected objects.

He turned to Nasim. ‘Can I-?’

‘Yes, of course.’

Arif ran his program. The sheep vanished. The human players began to cheer and applaud; the Proxies looked around, found nothing unfamiliar, and decided to stop feigning injuries.

Nasim said, ‘Launch it on everything.’

Arif was taken aback. ‘Everything? No more tests?’

Nasim glanced at her watch. ‘We’ve lost at least three-quarters of a million dollars already. I’m willing to bet that this is going to make things better, not worse.’

Arif didn’t have personal authorisation to launch so many processes at once, let alone the kind that intervened in every single game across Zendegi. Bahador and Nasim both had to sign off on the move – and an automatic notification of their action would be passed further up the hierarchy.

As she waited to be summoned to the boss’s office to explain what had happened, Nasim took some comfort from checking a sample of the games on Khosrow’s list. Minions was back to its usual uninhibited gore-fest; the biplanes had fallen victim to their own blatant absurdity. Nasim didn’t ask for details of the symptoms that had afflicted all the other games, but as she flicked from environment to environment it occurred to her that some anomalies might have been subtler than sheep or treacle bombs.

Still, if they were subtle enough to be missed by the Faribas, maybe they’d be subtle enough for the players themselves to continue to the end of their session without even noticing that anything was amiss. As various games finished, the corrupted instances would be discarded; Bahador had had three people checking through back-up files, and he was sure they had reliable versions of all the major games. As new groups of players came online, they would start afresh with a safe copy of the program. There were a few games on Zendegi that ran continuously, supposedly 24 hours a day, but their fans were used to occasional reboots.

All in all, they’d been lucky. Arif and the Faribas had saved them from a crippling débâcle that could easily have been ten times worse than the losses in revenue and prestige they’d already suffered.