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

Mahnoosh’s face appeared; it was the same photo of her that had been on display at the funeral. When Nasim had explained the process to Martin, he’d insisted that she include his wife’s image in the initial set and let the software decide if it was useful. Apparently it was.

Nasim closed the window, discomfited by the sense that she was intruding, even though Martin had more or less given up on the idea that anything in his skull could remain private. The neural activation map from the MRI showed that the process hadn’t gone off the rails: the data being gathered was certainly more targeted than anything they would have obtained from Rorschach blots and white noise, or random imagery and audio fragments. Whether it would be sufficient to reach their goal remained to be seen; at this stage, if she’d dropped the Proxy into any kind of test scenario it would have made the first Dickens reading seem like a triumph of sophistication.

The version of Blank Frank she’d started with approximated far more of the brain than anything she’d built from the HCP scans before – but that didn’t make it any more functional from the beginning, it just exposed all the flaws in the construction process more acutely. It was like the difference between making a toy car out of poorly moulded plastic, and trying to do the same for a ten-thousand-gear timepiece that calculated eclipses and the phases of Venus; the first might actually move, clunkily, straight from the mould, but the second was guaranteed to seize up. It was going to take a staggering amount of polishing and fine-tuning to make all those wheels turn smoothly, let alone adapt their motions to Martin’s private cosmology.

Bahador knocked and entered the office without waiting for Nasim to reply. He said, ‘We’re being hacked.’

Nasim followed him back to the programmers’ room. Khosrow, Bahador’s deputy, was compiling a list based on complaint reports coming in from the arcades. Nasim stared at the summary, shocked and dismayed. It had already crossed the two thousand mark.

A dozen of the screens around them showed specific environments that the intruders had managed to corrupt. One of the senior programmers, Milad, was examining an instance of Minions of Eblis. It had been infiltrated by a squadron of World War I biplanes, which were dropping balloons full of something brown and sticky onto the demonic battlefield.

‘What’s that supposed to be?’ Nasim asked. ‘Napalm?’

‘Hyper-treacle,’ Milad replied, struggling not to smile at the sight of the brown goo dripping all over their customers’ icons. ‘It’s a highly viscous fluid, defined with its own custom equations of motion – which are chewing up resources big-time, because they’re deliberately difficult to compute. It’s been used in other attacks, like Happy Universe in 2023, though obviously this is a refined variant or it would never have been accepted into our object queues.’

‘Great.’ Nobody would actually feel the stuff as it clogged up their virtual hair and drizzled down their faces – unless they got it on their hands – but apart from looking ridiculous in front of their comrades, the players were stuck with the fact that Zendegi was treating it seriously as part of their environment. That was a recipe for kinaesthetic dissonance: if you ran into a patch of hyper-treacle it couldn’t forcibly impede your real feet, but if it glued your icon to the spot while you kept physically running, you either lost all sense of immersion in the game world, or you started to feel as sick and confused as if your inner ears, your visual system and your proprioceptive faculties had decided to go to war over their mutually exclusive theories of your body’s motion. For a few million years prior to the existence of virtual reality, this had been a very good indicator that you’d eaten something you’d be better off without. People were soon going to have some very real fluids sloshing around their ghal’eha.

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.’