Exile

By Edge Retro

Originally published in EUG #68
Original format: BBC Model B/Electron
Publisher: Superior Software
Developer: Jeremy C. Smith/Peter Irvin
Origin: UK
Release date: 1988

Exile

 
 
 
Escapism. There's this guy in a spacesuit on a distant moon, and he's being thrown around by a wind raging inside a cavern. When his feet catch the ground he tumbles head over heels, slamming into the wall with a muffled yell. He fires a bullet into the hurricane, watches it stall, curve, return and smash into his stomach. The impact throws him back against the wall and he screams again. A bird, nestling nearby, carves almost effortlessly through the wind then swoops back out. He chases the bird, firing, stumbling, spinning. Why? No particular reason, really, just because he can. Freedom of choice is the future, so let's escape.
Jeremy C Smith and Peter Irvin managed to code a game on the RAM-strapped BBC that devotees have yet to complete some 15 years later. Edge uncovers how the pair developed the title that first introduced physics to gaming
 
  The red piranhas are aggressive, and killing them
will help the player progress. Finn can fire his
weapon at any angle, useful in fights and puzzles
 

You're Mike Finn, weary space hero. A research ship, the Pericles, sits stranded on the surface of planet Phoebus. Its crew is missing, their fate picked out in brief, terrifying radio bulletins from their captain. Triax, an arch-geneticist exiled from Earth for crimes against humanity, is responsible. You're underfunded and underequipped, and your mission? To rescue any survivors and to overpower Triax. Except now, Triax has stolen a crucial part of your ship, and you're stranded too. So it begins.

Schoolfriends Jeremy C Smith and Peter Irvin finished university in 1986. Smith was at Imperial College and Irvin at Cambridge, and each had found their courses sufficiently uninspiring to exclude the idea of following the traditional route into a 'normal' industry. Luckily, both were accomplished bedroom coders - Smith was the author of Thrust, the classic inertia-based blend of skill and planetary destruction, and Irvin had created the well-received monochrome eight-way shoot 'em up Starship Command. They decided to work on a project together. "At the time I was writing a game which had a wizard exploring a cavern filled with water and monsters," Irvin says. "I shelved it when we decided to team up to do Exile on the BBC, though the Exile code was built on the Wizard engine, rewritten five times over."

Despite their coding background and obvious love of all things sci-fi, the initial direction for the project was unclear. "At inception, Exile was just to be a man with a jetpack exploring a 2D cave system populated with objects, animals and puzzles," continues Irvin. "There was no plot, and no real development plan. We just set about making incremental changes, adding new technologies, and seeing where it led us. It was very much development by evolution."

  Exile's single level structure meant for an utterly
non-linear experience. If the player became stuck
in one part of the planet, exploration of another
would provide a change of scenery and direction
 
 
 
  The first structure Finn encounters on Phoebus is the abandoned exploration ship, the Pericles. In order to get into the caverns below, he must destroy a locked door with a bomb, found concealed in a nearby bush
 
 
 
 

As happens with evolution, Exile's development took place at the very limits of what was possible, right from the very start. "Just compiling the game was right on the edge of being possible all the time because of the lack of RAM," Irvin recalls. "The source code was broken into lots of modules, each loaded from floppy and compiled in sequence. As time went on, these had to be broken down into smaller and smaller files just to fit in RAM with the object code."

Without the luxury of a network or version-control software, Smith and Irvin resorted to other methods of working in parallel. "We wrote down on paper the routines we'd changed, and occasionally merged the two sets of game code. We'd written various utilities to help, for example, to compare the modules for differences, but the whole process was a bit of a nightmare to merge." Arduous, yes, but out of the toil emerged a planet: Phoebus. The landscape was generated by a fast map function which took each x-y co-ordinate and created tunnels, solid rock,or a special block with a manually defined object in it. Objects could be doors, guns, items or, so important to Exile's vibrant planetscape, the natural inhabitants of Phoebus.

Populating the caves with myriad lifeforms, each exhibiting strikingly different behaviour patterns, seemed like an impossible task. Irvin explains how it was achieved: "Each creature chooses a target as its main focus of attention to follow or shoot at. It does so based on a list of criteria. Does its target belong to a certain group? Maybe it's a type of animal, an evil robot, a friendly imp, or whatever. What 'mood' - damaged, hungry, or whatever - is the testing object in? Is it in its line of sight? How far away is it? And so on, and so on. This single routine instantly gave us wasps behaving in realistic swarms, animals that attack then give up when you back off, turrets that exhibit intelligent attack patterns. All it required was a few bytes of data for each object, and then the same piece of code for everything." Simple, except for a few problems with the mischievous imps. Irvin remembers: "There as a bug where they'd clamber out of their nests, up the walls, and swipe the gun turrets off the roof, or try and make off with the huge robots."

Enemies or more subtle object-based puzzles would block progress through the intricate cavern system and towards Triax's lair. Stealth and skilful flying could outwit the killers; equally effective would be a volley of fire from one of the five particle-based weapons strewn around the game world. Puzzles required a little more subtlety, but solving them remained a world away from the esoteric try-everything-with-everything-else methods seen elsewhere. Because the rules of Exile were grounded in real life, in gravity and mass and inertia, so were the answers to its questions. It's easiest to give an example: holding a heavy rock provided you with enough weight to counterbalance a strong updraft, and finding a jetpack booster gave you the added thrust needed to move downwards through it.

Equally crucially, the fact that it was impossible to die - if you were badly injured then your protection suit would automatically teleport you away to one of four self-set locations - meant the player was free to experiment with dangerous solutions to puzzles as much as they liked. It was a massive, deadly world, and an exceptionally difficult game. "Some of the really obsessive fans haven't even finished the game - I doubt there are many people who've even got as far as causing the earthquake that floods the caves, or finding the maggot machine or the surviving colonists," says Irvin. "In retrospect, I guess we should have made it much smaller so that more people finished it, then made a sequel."

  The urn, found early on in the game, can be
filled with water and used to extinguish fires.
Knock into a wall or accelerate too quickly
while you're carrying it and the water spills out
 
Naturally the game's success led to conversions for more powerful formats. The Amiga and ST versions benefitted from a massive increase in available RAM, resulting in better graphics and walls that were no longer restricted to 45 degree angles, but when it came to saving on the CD32, memory became a problem again. "The saved game had to fit into a pitifully small amount of non-volatile RAM. Each byte that had to be saved had unused parts of the bitfield stripped, then was subtracted from its most likely value. Then, after several other compressions, it was finally stored." A generational leap in hardware meant nothing - the host machine was still being pushed to the limit.

Might it be posible to test today's more complex hardware with a new Exile? "Quite a few people ask about a sequel or updated version: after all, the hero, Mike Finn, has only had one adventure so far, and Triax lives on. I'd quite like this to happen, but only if it was better than the original, which means really concentrating on having the same immersive atmosphere and gameplay." That's not the only reason why Irvin has hung back from recreating Finn's universe. "I think it's only recently that computers have become powerful enough to do what I'd like to implement in a really detailed realistic 3D world for Exile. It's not just a matter of pretty bitmaps and numbers of polygons."

Sadly, Smith passed away in 1992. Irvin still works in the games industry for his own company, Inventivity (www.inventivity.co.uk). He's remaining quiet about his current project, but reveals that it's a game designed to work on every platform from PDAs and Smart phones upwards, and that it has been allowed to evolve from basic principles, just like Exile. For now, then, those desperate for a sequel will have to be content with playing around with the versions of the game already available. "People keep asking about the extra text messages in the 68000 version, like 'She wants you badly', or 'You have killed Triax'. We put those in for hackers to wonder over," Irvin says. "Maybe."

The smiling secrecy is understandable. Why put any rumours to rest? In less than 150K of data, within 32K of RAM, Irvin and Smith created a world which still lives on today. It lives in the tribute Web sites, it lives through emulation, and it lives through the dedicated conversion projects. Most of all, though, it lives in the heads of those who played it. That's where Mike Finn is now, circling through the caverns of Phoebus, thrown around by the particle winds, spinning around in the sparkling black. That's Exile. That's freedom.