[WIP] Uplink - Hacking Simulator

PRELUDE

During my time trying to build various applications and games for the device, I ran into the issue that most games that I wanted to port were too complex for the small screen and memory limitations (which isn’t a bad thing, it’s a moot battle trying to put a 1GB+ game into 30k). However, there were two games I narrowed my search down to, Ghost Master and Uplink.

I decided since Uplink was a text-oriented game in some ways, it should be the first to get the port.

Uplink Wikipedia Article: https://en.wikipedia.org/wiki/Uplink_(video_game)
Uplink Official Site: http://www.introversion.co.uk/uplink/
Uplink Steam Page: http://store.steampowered.com/app/1510/Uplink/

com-optimize%20(3)

UPLINK PC GAME

If you are not familiar with Uplink, it is a game by Introversion (recently known for Prison Architect, as well as other game such as Darwinia) based out of the UK. You take the role of a hacker in a (now) alternate reality of the early 2000’s. You progress by using a combination of software, hardware, and Application CPU allocation to break into computer systems, copy/delete files, change database information - such as criminal or social security database, and work towards an overall story arch.

There is a central hub where you can find missions which pay money, software upgrades, hardware upgrades, gateway (computer) upgrades, and a news portal.

DESIGN

Even with the limited screen space, I estimate that 75% of the full game can be ported onto Arduboy, with the remaining left out due to graphical restrictions since memory shouldn’t be an issue. There are no *sprites and only a few images, with most of the GUI designed by simple lines. Remember, for some reason in this early 2000 alternate reality we are back to using DOS-like screens.

For the database images, if memory permits I can include sprites of random people like the PC game does, otherwise it will just be a name search. Everything else will nearly be the same except some of the higher tier hacking software. For instance, voice analyzer may not be included since it does kind of need to go along with voice output. Again, if memory permits this may be included with one (or more) lines of dialog as best can be done over a piezo speaker.
The biggest difference will be the connection screen, there is simply no way to comfortable implement a GUI where you can see IP nodes across the world. So, it seems it will be a customization by text screen, then the world map with various nodes automatically connecting.

If screen space does not allow or I do not find another use for the RGB LED, I’ll be using it for or along with screen area for the track/trace progress. First levels will be the LED flashing faster and faster as they get closer to tracking you, and later tiers can use multiple colors to indicate the progress.

FIN

So there it is, my first publishable game that I’m working on, I hope you guys will enjoy it. I estimate it should take about a month to get a workable version that can be played in some part.

I’ll update this post when more information is available.

If you have any suggestions please let me know!

7 Likes

This is going to be an amazing project and sounds like a AGOTY competitor to Arduventure. :slight_smile:

1 Like

I have Uplink on my Steam account (from the Introversion bundle) but never got round to playing it.

1 Like

Uplink is awesome. I haven’t played it since 2005 but I do not remember if it was simple enough like to fit the mechanics into the Arduboy screen

Since most users run at a resolution above 800x600 the PC game has large, often massive open areas of blank unused space. There is very little animation in the main game, with the intro being the most graphical part of the game. Since it was trying to emulate Hollywood hacking, there isn’t much to the tools GUI that isn’t simply scrambling letters and numbers or setting a basic If-Then along with a timer or two.

For the screens that do use the full real estate in the PC version, I’ll either have to remove those (the ~20% I won’t be able to port) or change them in a manner that is viewable on the small screen (such as the connection screen).

@NightByte, I couldn’t tell by the way the post was worded; is there a playable version currently available, or are you still working on the first prototype? Thanks.

Any progress on this? At first you said would take about a.month to have something playable… We are now almost a year later :wink:

I had forgotten about this … I was looking forward to seeing it. If not, I wonder if the code is open source and can be completed by someone else?

Edit: I found this > https://github.com/nitebyte/Uplink

A little light on for code.