The Genesis of Uplink

Part II

 

 

 

Even before I started work on the programming of Uplink, I was writing the Game Bible. I'd learnt from the Shadows project that it's very easy to have a high-flying concept at the start of a project, but it gets increasingly difficult to maintain focus on that concept while you are developing it. You get sidetracked, you change things, you don't test things properly, and the game never turns out how you expected. The designs for Shadows were scattered around my room on the floor and walls, and in my head where I frequently lost track of entire sets of ideas. It's a simple rule - if you have moment of clarity, write it down or you'll lose it. The best ideas are transitional - they hit you, they make complete sense in the moment, then they get filed into your memory. If you don't write them down, next time you dig them out, suddenly they don't seem like such good ideas - you just can't remember what was so appealing about it in the first place.

 

The Uplink Game Bible(s) was designed to be a collection of all the ideas that I knew were coming to me for the game. It's a mixture of concepts, pictures, technical design, and documentation. A complete game-making melting pot. BY the time i'd finished Uplink there were three of them, each one larger than the last. I used to take them with me everywhere - i'd be sat in lectures (still at University) and i'd suddenly reach for the book and start writing. It was more fun than listening anyway. It came to the point where I found the books themselves to be a source of inspiration - i'd look at maybe a hundred pages of ideas and notes that i'd written down, and new ideas would be coming to me all the time. I wanted to write more.

 

 
 

 

 

All this time, I was keeping Uplink quiet. I didn't really want many other people to know about it. I was convinced (and I still am) that outside influence on the game at that time would have been very bad news. In its early stages Uplink had some gaping design flaws in the gameplay, that I just couldn't figure out how to close. I knew they existed, and I was sure I could sort them. To an outside observer, they might have concluded the game itself was lacking. I suppose they'd have been right. I definately didn't need people emailing me about it, asking when it was due out. This again came from the Shadows days - Shadows was announced and promoted after being in development for about a month, and there was still at least a year left before a full game release. I was under the impression that this would motivate me, but it had totally the opposite effect. I was buried under hundreds and hundreds of people asking for more information and more up to date code. Eventually, when it became clear that Shadows really wasn't due out for a long time, public interest started to die out. It's very hard to stay motivated when that happens. For the first 18 months of Uplink I didn't even want to release Uplink ever - I was working on the game because I enjoyed it, and i'd had enough of dealing with public websites and communities of users. I'd also decided that I would be free to design the game however I wanted if I didn't have to release it.

The only other people who knew about Uplink were the two guys I was living with (Mark and Tom - the future joint founders of Introversion Software), and they weren't paying much attention. They knew I was working on something, and they caught glimpses of it occasionally. They'd come back from clubbing in London at 4:30 in the morning, and i'd still be there, working away at this secret project. I'd tell them about the game from time to time, if drunk enough. The fourth member of our company - John - was more interested at this stage, and we were talking about getting it running on Linux. It seemed like an obvious thing to do, and turned out to be a good decision.

One of the early ideas in the game that lasted about a year was this notion that you are linked in to your computer, cyberpunk style. In the first versions of the game your status included information on your body - which was wired in to the mainframe system directly. You were totally imobile - so you were vulnerale to the Feds breaking down your door, but you could install security like cameras and laser trip wires to defend yourself. You had a couple of helper robots under your control, which could run around your room performing maintainence on all your hardware. You could even dose yourself up on performance enhancing drugs (just like in Syndicate) to get an edge in your activities. The idea behind the Accelerate Time button was that it would move your brain into a sleep state (the screen blacked out, with just a minimalist clock in the middle) and your brain was kept informed of the time once every 10 minutes. You could then chose conciously when to wake yourself up. In fact the origional Revelation Virus was designed to remove your ability to log out - so hackers would start dying on the net because they couldn't get their systems to log them out. This was going to be the story of the game - all the hackers are dying in the real world because they can't get out to feed themselves.

Ultimately, I came to the conclusion that it was all a little bit too far fetched. The required suspension of disbelief was just a little too high - Uplink had become a rather silly Cyberpunk romp, which wasn't what I intended. It can be hard to make decisions like this, but in the end I just hacked it all out - weeks of work spent writing the "Bioware" was simply torn out and thrown away. This was an entire third area of equipment - you had Hardware, Software and Bioware. You could buy drip feeds, neural implants, brain scanners, heart monitors etc. It was pretty cool, but it just didn't work as a game. I think it was the right thing to do anyway.

In the latter half of the project, Uplink was running entirely in real time. This was all part of my plan to make Uplink an example of Total Fiction - everything in the game would be as real as possible, and the game would never do anything that broke that rule. Examples that regularly break this rule are Save Game screens, Game Over screens, the concept of Lives, and of course accelerated time.

It was a nice idea - the game world time was linked to your system clock. If you stopped playing one evening and started up the next, you would find that twelve hours had passed in the game as well as in real life. Unfortunately, this leads to a lot of big problems. Firstly, you can cheat outrageously. All you have to do is change the system clock. There is no real way for a game to know for certain what time it is. Secondly, you can't have a plot. The background plot in Uplink takes place over a couple of months, with major missions and events spaced apart at intervals of three or four days. Obviously it is going to take a long time for the plot to unfold if the game is running in real time. Finally, it's a pain in the arse when you get caught, mostly because it usually happens when you aren't playing. You can exit the game with a perfectly functioning character, and the next time you log in the game tells you you've been disavowed. This type of gameplay would annoy anyone who played the game.

So, the decision was made once again to hack all that stuff out, and replace it with time controls. We even set the game in 2010, just to make sure the game time was sufficiently disconnected from real world time. In hindsight, it would have been nice to make the speed controls into music controls - then at least they fit the screen, and we could have made the music zip forward when you are accelerating time. It's slightly surreal, but it makes sense. Maybe in a future patch.

One of the coolest and most utterly useless features I spent time on was the multi-screen support. I wanted Uplink to look like a Hollywood movie hack - which meant more than one screen, with lots of things happening. I spent a few days getting the basics to work, and left it all in the final game even though it's unreliable at best. Not many people have the kit needed to use it, but I got the chance to test it on a rig of three 19" monitors and it was fantastic. I pulled the outer monitors inwards so they all faced me, filling a 120 degree view angle with Uplink. This is truly the only way to experience Uplink properly. Granted it is a gimmick, but the abundence of information thrown at you makes the game feel much more intense. It simply can't be beaten.