Sunday, June 14, 2015

Hacking Time!

This week I've been working on the Hacking mini-game. The concept behind the mini-game is totally different from the original Vampire: the Masquerade Bloodlines hacking mini-game. Instead of typing commands in a unix console (which is only fun for a programmer), we are hacking a computer in a visual system, trying to avoid being detected by the antivirus.

Let me explain the concept through a step-by-step example. We are in front of a laptop and we need to get some information from the owner. Let's assume it's another vampire's computer. First we need to break in the system. Here's a mockup of the log in screen.

If we know the username and the password (maybe there's a post-it note near the computer) we can simply type in the corresponding fields and hit enter. However, most of the times we won't have that information and therefore we need to hack in the system. If we have at least 1 point of Hacking in our character sheet, we can plug in a pen drive with some hacking programs installed. Let's do it.

When we plug the pen drive in, a window pops up showing all of our hacking programs. In this mockup our character only has 1 point of Hacking and therefore there's only one hacking tool, the CodeBreaker. Of course, with each level of Hacking we will gain a new program so there's up to 5 hacking tools. For now, let's double click CodeBreaker.

CodeBreaker is a super-basic tool for breaking passwords. First you have to click on the link button in order to select the pass we are going to hack. Let's start by the username field. Once CodeBreaker is linked, we can click the start button to begin the hacking.

Here's the hack in progress. Lots of numbers start to flow (just like the atm hacking scene of Terminator 2) and the correct characters start to pile up. But we can't just sit and wait until the program hacks the entire password.

Here's the antivirus alert. The system knows that we are breaking in. From now on, all of our hacking actions will be monitored by the antivirus. Each hacking action increases the level of threat of the antivirus. So if we want to remain undetected we have to tread carefully. Here's a mockup of one of the tests that the antivirus will use to detect us: the vertical scanner.

The blue horizontal line starts scanning the window.

If the scan line hits one of your hacking tools, the window becomes blue and the threat level rises. Note that there's a progress bar below the antivirus alert. When this threat level reaches a 100% you are kicked out of the system (going back to the log in screen). Be kicked out 3 times and the system will shut down. This means game over. Well, mini-game is over.

So the core mechanic here is hacking passwords, avoiding the system security while on a tight time preassure. This often means pausing the hacking tools when a scanner is in course, minimizing your hacking windows to avoid the scanner lines, and in general terms a lot of desktop multi-tasking while the hacking tools do their magic. Of course, the antivirus will throw different tests at you, not only scan lines: popups of spam, logic bombs, auto-closing all blue windows, etc.

I think that's more than enough for a hacking mini-game. Now, wouldn't be a shame not to spend at least a single point at Hacking in your character sheet?