Uplink: Hacker Elite was an important game for the script kiddie phase of my childhood. Many hours were spent figuring out Uplink’s systems, finding the secret missions, and learning the game with each game over. Not only was Uplink the first (well-known) hacking simulator, but in my eyes it’s still the best. Even in my adulthood I replay Uplink at least once a year. To express my love for Uplink and its 20th year anniversary, I will now dissect its fetid corpse and show the world the innards that make up this unholy mess.

At its core, Uplink is a loading bar simulator. Hacking is done by opening a hacking tool, pointing it at a security measure of the system you're connected to, and waiting for the tool to finish its task. Until you can buy some better hardware or tools for your virtual gateway to speed things up, you’ll have no choice but to wait, doing nothing but watching bars on the screen fill up for about half a minute. It’d be nice if Uplink allowed you to fast-forward time to skip the wait--which it already does! But only by minutes and hours. Considering hacking into a system triggers an active trace that will catch you in one or two minutes, skipping ahead by several minutes or hours per second is a good way of getting an instant game over. Another solution for preventing the player from doing nothing but waiting is keeping them engaged with minigames to speed up the hacking, which several other hacksims already do. But then you better have a large amount of them like WarioWare, or create considerable depth for the handful of minigames that do exist.

How you go about applying hacking tools in Uplink is shallow. Each can only do one thing and be used in one way, and all security measures that you have to crack are similarly one-note. To get admin access, you point your Password Breaker program at the login screen and wait for it to finish. To break an elliptic-curve cypher, you point your Decypher program at it and wait for it to finish. To get around Proxies, you activate your Proxy Disabler and wait for it to finish. To get around Firewalls, you activate your Firewall Disabler and wait for it to finish. And if you’ve got the money, then you can buy a Firewall/Proxy Bypasser and just skip the wait altogether. The order in which these security measures are cracked usually doesn’t matter, nor do any of them have any kind of synergy where one affects the other. In short, most of the hacking in Uplink is just a shape puzzle in disguise.

In Uplink’s defense, the real puzzle is figuring out how to actually accomplish your objectives and avoid getting caught. This isn’t as simple as it sounds. Past the tutorial mission, Uplink doesn’t hold your hand at all (aside from a Help page which you aren’t told about and have to find on your own), and you’re overwhelmed with all kinds of options available to you from the get go, where you just gotta figure out what options you actually need. Although breaking voice locks is a matter of playing back a recording of the admin’s voice using a Voice Analyser, you’re not told how you can get your hands on such a recording. The missions for destroying a person’s life do not even give you a target system to hack, you need to figure out on your own what system can be used to accomplish the mission. How you can actually destroy and shutdown a system isn’t something you can do with any tool, and requires a more unique solution. All you can do is scour the internet (in Uplink) for clues on what to do next. Basically Uplink’s puzzles take more after those commonly seen in point ‘n click adventure games, where it’s less about discovering new applications for existing mechanics (i.e. Portal, Recursed), and more about figuring out and applying the internal logic of the game world.

There’s only one major problem: Uplink is structured like a roguelite (or to be more accurate since Uplink predates roguelites, it’s structured more like the Elite games). If you consider that getting caught results in a permanent game over (thankfully Uplink will let you get away with only a fine and criminal record if you fail the beginner missions), and that missions are randomly generated based on a set of 16~ mission types where the only random factors are the company name and the reward amount, then that involves redoing these same puzzles over and over. Even without permadeath, you would still be grinding out missions of the same type to get the money you need to buy the necessary tools for the higher-level missions, so repetition is inevitable. Here Uplink should have fully committed to either being a linear game with handcrafted and unique missions with and no permadeath, or to embrace being a roguelite and go hard on adding more randomness and variation to the missions.

The only mission types that seem to break this mold are the LAN missions, but even they are a failure in that regard. They involve having to break into a semi-randomly generated Local Area Network, which are made up of several computers and unique systems blocking your way to the main server. Except the fact that the layouts being semi-random doesn't really matter, because each security system type within a LAN also has effectively one solution that stays the same regardless of the layout. It is, again, just going through the motions. At that point in the game you will probably have a Monitor Bypass, which prevents you from being actively traced until you gain admin access to the main server in the LAN, so there's again next to no time limit pressuring you while you're slithering your way through a LAN.

The only true exceptions to this are the final main story missions for both of the two story branches, which are by far the high points of the game. Both missions are not about figuring out how to break into a system, but more about hacking into as many systems as possible before an invisible timer hits zero. And because you can only do this mission once per run, you don’t have the comfort of fully knowing what to expect, resulting in a very tense situation. Go improvise. At the same time, the final missions don’t ask something out of you that you can only learn through trial ‘n error; they mostly involve applying what you’ve done throughout the entire game, and you’ve already gotten a chance to get familiar with the non-standard mechanics in previous storyline missions. All that remains is whether you got the sleight of hand and nerves of steel to do it. A final mission like this in a permadeath game where you have to redo 1-3 hours of gameplay to get another shot if you fail could have easily become an exercise in frustration, but thankfully Uplink doesn’t throw a last-minute gimmick or a difficulty spike at you to make failure on your first try near-guaranteed.

Although the hacking itself in Uplink is shallow, there is one important element you do need to keep track of: time. When you initiate a hack, the system you’re connected to will start actively tracing you, giving you a limited amount of time to get in, do your business, and get out before your location is traced and your ass is sent to jail. Your Trace Tracker will beep with increasing frequency the active trace is about to complete, which adds a lot to make the hacking feel suspenseful. The game being permadeath also has to do with it. Being given a limited amount of time in turn makes you ask which one of your loading bars you want to prioritize to get in ASAP (although as said before, this usually doesn’t matter), as you can control how much CPU power each program gets to complete their task faster. In a sense you could say it's similar to solving a Rubik's Cube or playing Tetris: if the solution to the puzzle is obvious, then on repeat playthroughs the only fun lies in how quickly and accurately you can apply that solution.

Unfortunately, this whole element of time management is hamstrung by how the bounce paths work. Basically you don't want to directly connect to a target system, because that gets you immediately traced, so instead you want to route your connection through several other computers to make the trace last longer. The problem is that from the very start of the game you can find over 80 systems to bounce through, making traces against you last an enormous amount of time. There is also no downside to having such a long bounce path (other than the initial investment of having to manually click a gajillion indistinguishable boxes on an crowded world map to set up your bounce path, which you can thankfully save and load for future use), like suffering massive lag because you're routing your connection from France to Australia.

Having tons of time to perform a hack in turn also affects the usefulness of hardware upgrades. Buying a better CPU for faster hacking becomes more of a QoL upgrade than an essential upgrade, better modems with better download speeds become redundant, and storage space upgrades for the missions where you need to steal a massive database aren’t as necessary, because with the tons of time at hand you can safely make several trips carrying the loot from the target system to the depot server. And because hardware upgrades are less useful, gateway upgrades also become less useful, since now there’s not as much of a point to upgrade your gateway and get more hardware slots. Software upgrades almost always take priority over hardware upgrades because you simply cannot complete certain mission types without the right software, whereas hardware upgrades are more or less there for quality of life (with the exception of a few storage upgrades so you can fit all software tools on your gateway). If the time you had for hacking into a system was more limited, then there would be more of a reason to consider hardware upgrades, instead of the dominant strategy always being about prioritizing software upgrades.

A bit less FUBAR is the macro-level time management. Every mission you take also comes with an expiration date (usually about 4 days) after which the mission is automatically considered a failure. Failing or abandoning a mission will mean taking a hit to your Uplink Agent level (which prohibits you from taking higher-level missions), and doing so repeatedly will have the Uplink Corporation sack your incompetent ass for an instant game over. Time in Uplink progresses just like in real-life, so at first it seems like you have plenty of time. Then you find out that you accepted a mission for which you don’t have the right tools or the money to buy those tools (a common occurrence when you’re just starting out), so you need to do other missions first. Sometimes there are no available missions (that you can actually accept or have the tools to complete) on the mission board anymore, so you have to fast-forward time and hope the mission generator generates a mission that you can actually take on. Some missions involve having to skip ahead a few hours before news comes out of your hack as confirmation to your mission giver. The hardware and new gateways you buy also aren’t applied instantly, but take about a day to be delivered and applied. What you can also do is accept another mission, but negotiate with the mission giver to get paid fully or half up front in exchange for getting the mission done in one or two days respectively. This allows you to get the money you need to complete the mission you accepted earlier, but if done incorrectly you can sink into a greater time debt, and end up having to fail several missions which you cannot complete in time. As you can see, there are a lot of macro-level time issues that you need to keep in mind if you don’t want to run into a money or time debt.

The only problem here is that to have these deadlines imposed on you and to have macro-level time management be a relevant skill at all, is to accidentally accept missions whose tool requirements you don’t know. But once you know what tools you need to complete a given mission, you can avoid these deadlines altogether, and along with it the interesting decision making that comes with macro-level time management. The only other deadline of note is having to have at least 300 credits in your bank by the end of the month to pay your monthly Uplink subscription fee, but in Uplink 300c is total pocket change. Uplink could make macro-level time management more relevant by pushing you into situations where you want to borrow money, such as by having you rely more on tools you can only rent, or by having the main story push existing debts onto you which have to be cleared before the deadline. This kind of emergent time management layer of strategy comes more naturally in games like Pathologic (2) and Dead Rising 1 where these deadlines are imposed on you from the get go.

Aside from active traces, there are also passive traces. All the actions you perform on a system leave behind logs, and the feds will take an hour or two to follow your bounce path until they find your real IP, so it's essential to delete the logs that you leave behind if you don't want to get caught. The problem is that this is so trivial to do that it becomes nothing more than busywork, and has no interesting choices tied to it at all. How and where you go about deleting your logs doesn't matter--you can have your bounce path always end at the same server and the feds will be none the wiser. It is a chore that you must perform every now and then, where the only danger involved is accidentally forgetting about it. This is especially the case when you learn that the best server to wipe your logs at is the InterNIC server, for it is the only server in the game that doesn’t initiate an active or a passive trace when you try to hack it. This system could have worked better if you couldn’t repeatedly use the same server to cover your tracks with.

As for one thing in Uplink that does grip me, it’s the presentation. The user interface is very minimalistic, which for a 2001 game set in 2010 is surprisingly prescient, given how minimalism for UX design is all the rage at the time of writing. Uplink’s visuals manage to strike that right balance of Hollywood hacking where it’s just flashy enough to look cooler than your own desktop (primarily through the usage of sound effects and rad animations), but restrained and grounded in reality enough so it doesn’t look downright silly and hard to take seriously (like the depictions of hacking in any police procedural ever), while also not being too abstracted to the point where it doesn’t resemble actual hacking in the slightest (cyberspace, baby!).

That said, the usability of the user interface in Uplink is another matter. There is no ability to select or copy-paste text, which means that you need to manually input numbers and IP addresses by hand every time. There are no keyboard shortcuts for most functions, so you need to manually repeat manual tasks using GUI menus and the cursor. You cannot set macros for things like launching all your Bypasser programs either. Mission descriptions and e-mails are all grouped together in a messy horizontal stack at the bottom right of the screen, all of which are depicted by indistinguishable icons that don’t clue you in on what the contents represent, so you’ll be spending some time combing through several missions to find the one you actually need. This gets especially messy when you’ve ordered several hardware upgrades at the same time, and you’re gonna have to manually delete all the useless notification emails if you want things to not be a total mess. The lack of tabs and windows means there’s a lot more menu trawling than necessary for when you need to go back and forth between particular menus, instead of being able to place them side-by-side. Having solutions for UX issues like this doesn’t only make the user interface more pleasant to use, but it also creates a larger skill ceiling. Discovering certain tips and tricks to perform repeat tasks more easily and efficiently is a joy in its own right, and also actually useful when you have to hack a system under a time limit (even if in this case that time limit is borked).

Although I have been very harsh on Uplink, I still love it if only for its uniqueness and untapped potential. Most hacksims since Uplink took the linear puzzle-by-puzzle approach, but none have taken an immersive sim approach of trying to simulate the internet like Uplink tried to. While you mostly interact with the world in Uplink through missions, there are also additional servers like a simple stock market system that’s affected by which companies you benefit/ruin, a news server that reports on hacks performed by you and other NPC hackers, each NPC has its own bank account and academic/criminal record that you can mess with, and there are even a few secret missions that you can trigger on your own if you pay close attention to the world. These are all unfortunately minor which you don’t have much of a reason to bother with outside missions, but it shows that you could certainly expand on this reactive open world concept.

What’s particularly interesting is that Uplink is completely menu-driven, and therefore expanding the world or gameplay systems like this doesn’t require much in the way of audio/visual assets. The whole game being a simulation of an OS and the internet also provides a convenient narrative excuse to not require complex physics/animations/graphics/what-have-you like your standard open world game. That indie developers (which technically also includes the Uplink devs themselves, who are still trucking to this day!) haven’t really tried to dethrone Uplink yet in this regard is really one of life’s greatest mysteries given the amount of potential present, especially considering how nowadays the Internet is playing an even larger role in our life than 20 years ago (to be fair, I haven’t tried NITE Team 4 yet, I’m hearing interesting things about it).

A lot of stuff in Uplink is simply uncooked, which becomes especially apparent when you replay it. For an experimental game cooked up by bedroom programmers making their first ever commercial game, that’s to be expected. However, Uplink does show that it can serve as a blueprint for at least the presentation, world simulation, and time/money management aspects in a hacksim.

Reviewed on Mar 04, 2021


Comments