In this post, I’m going to talk about several design decisions that I made while developing my debut PC title: GREYHAT – A Digital Detective Adventure. I will touch on the reasoning behind these core mechanics as well as examine what worked, and what didn’t. I guess this post will also serve as a kind of post-mortem. This analysis will also be spoiler free for those of you who have yet to play GREYHAT.

Yes, my Unity Play Mode tint is bright yellow.

What is GREYHAT – A Digital Detective Adventure?

GREYHAT is a narrative driven hacking adventure played completely on simulated desktops. In GREYHAT, you play as yourself, an infamous hacker-for-hire with skills and abilities that allow you to infiltrate any computer. One day, you complete a job only to discover that you have crossed some very powerful people, and in their revenge your daughter is taken.

To right this wrong you must hack into other people’s computers, look through their files, read their emails, mess with their software, and find clues that may lead you closer to bringing your daughter home.

GREYHAT is essentially a point-and-click adventure game that relies heavily on a rich narrative and logical puzzle mechanics. In the game, the player infiltrates a computer with a specific set of objectives. These can vary from collecting specific information, completing a mini-game, or even identifying a murderer. The player navigates a simulated desktop and is able to read emails, look at photos, open documents, listen to audio files, and install software. Certain folders or apps may be locked, forcing the player to look for clues to unlock them.

Randomization – A Remedy Against Brute Force

The game features a randomization mechanic in which clues, documents and even solutions are randomized every time the level is reloaded. This means that if the player fails a level, it may restart with completely different parameters.

The purpose of this mechanic is simple: it discourages brute force solutions. As the levels feature an ‘open’ design, meaning that clues can be searched for in any order and are rarely gated, the player has the ability to input the solution immediately after starting the level. This poses the problem of the player being able to skip the whole level by guessing a solution or brute-forcing each possibility.

In one of the levels, the player is tasked with identifying a murderer out of a lineup of 5 characters. If the murderer remains the same every time, they need only input the solution a maximum of 5 times before they inevitably get the right answer.

Randomization forces the player to ‘do the work’ in the game, ensuring that the mechanics of the levels are adhered to and that the player isn’t able to skirt around the level’s beats. Furthermore, it has the added bonus of giving the game longevity. Players are able to return to the game after completing it as any information memorized from their first run may not be reliable in subsequent playthroughs.

Randomized clue found in the first level

The idea for this came naturally as I considered how the mechanics of the game would appear to the player. I did not want them to be able to try every solution to get a result, and I don’t think players would’ve enjoyed playing the game that way either. Furthermore, even if the players were not inclined to play in this manner, even having the option on the table may circumvent the puzzles in the game. It would be akin to a platformer that lets you walk all the way to the end of the level without meeting any enemies. Great for speedrunners, bad for everyone else.

A secondary (and perhaps more selfish) reason I implemented the randomization mechanic is to satisfy a sliver of vanity in myself. Simply put: I’ve spent countless hours making the stuff in this level, I’m not going to just let you skip it.

Response to this mechanic seemed positive. To quote John Walker of Buried Treasure in his review of GREYHAT:

“This last part does actually point to what is perhaps the most impressive detail of an enormously detailed, if always daft, game. It randomises a huge amount of the content, such that the solution to each puzzle could be entirely different on a second play. This is as broad as the identity of a murderer changing each time (I’ve tested this, and it really works – the clues change, and point to a different candidate), and as specific as that keypad tone puzzle I mentioned actually generating a random order of tones in the background of a recorded message with actors speaking over it. Crikey.”

John Walker – Buried Treasure

This aspect of the game does come with some caveats, however. The first is that this mechanic requires quite a bit of extra labor to implement. A text document that presents a random number each time is easy enough to create, but hard-coded visual assets such as photographs, posters or websites need multiple instances to be created. For instance, if a level contains an image of a cellphone and its color is an important clue, assets have to be created for each possible clue variant. This can be time consuming, and I believe GREYHAT could’ve been completed in half the time if I didn’t have randomization as a core mechanic.

Randomization necessitates the creation of multiple variations of each asset, which can be labor intensive

A second caveat is the fact that guiding players who get stuck from outside the game can be a little more difficult. A small number of players who posted in the forums asking for help could not get assistance because they were not able to pin down the specific random instance of the level they were stuck in. While this is exceedingly rare, it can be a red flag that if the game’s pedagogical design are not tight enough, players can find themselves adrift without a paddle. This is a danger we should be keenly aware of when playing with this mechanic.

VITRIOL Chats – Roleplay and The Illusion of Choice

One of the main ways in which exposition plays out in GREYHAT is via the VITRIOL chat app on the player’s home desktop. From this app, players are able to have scripted conversations with other characters.

When chatting on the VITRIOL app, the player must choose to respond either in a positive or negative tone. This is done by choosing which side of the keyboard to start typing from. If the player starts typing on the left side, a negative response will begin to be built in the chatbox. If the player starts from the right, a positive response is initiated. While the responses are fully scripted, the player has the option to type out the full response, and to hit backspace to clear the chatbox and choose a different tone. Characters within the game will respond differently depending on which tone of response is chosen.

This typing mechanic in the game serves a singular purpose: To immerse the player in the role of the protagonist. By miming the act of typing out the messages the player ‘pretends’ to be chatting with the characters, and this adds a layer of realism and authenticity to their interactions and relationships. Some players reported feeling the same jolt of excitement that they get when they receive a message from a friend whenever the incoming message alert tone played in the game. This simple act of role playing helps enhance the believability of the characters and the world they inhabit. 

A negative toned message and it’s consequent response (left) versus a positive one (right)

The ability to choose between positive and negative tones also serves to give players agency in the interaction, and this further amplified the immersion of the player. Now not only are they ‘pretending’ to chat with the characters, but they’re choosing how to respond to those characters. Although the choices don’t change the content of the conversation much, they do subtly draw the player into the world through neat, discrete interactions.

The genesis of this mechanic came as a remedy to the age old problem of narrative focused video games: How do I keep the player’s attention? One of the reasons I seldom play JRPG’s nowadays (other than the fact that I am a grown adult without 60 hours to spare) is that sometimes the story can get a bit tedious, especially when presented solely through unvoiced text conversations that require you to press a button to advance. I often find myself missing important plot points because merely reading through these conversations is boring when the only interaction occurring during these segments is me spamming the ‘Next’ button. It was my hope that by building VITRIOL as a text messenger simulacra that required interactive decision-making, I could avoid losing the player’s attention.

This mechanic was also warmly received by critics. Robert Purchese of Eurogamer appreciated the novelty of the mechanic:

“There are mechanics I’ve never seen before. Chatting to people on the ICQ-like program involves pressing a button on either the left or right side of the keyboard to build either a negative or positive response.”

Robert Purchese – Eurogamer

Where as John Walker says:

“There’s a nice detail that you can respond to the frequent IM chats in a positive or negative way, decided by on which side of the keyboard you start randomly banging keys to make the sentences come up. You can choose to be a dick, or be generous; to be furious with an enemy, or calm. It makes a difference to how you experience the story, if not the story itself.”

John Walker – Buried Treasure

This mechanic was not without its detractors though. Several players complained that the typing speed was too slow, and didn’t appreciate having to type out each sentence in that way. They would’ve preferred that pressing a button generated the entire response instead of having to mime-type it out. I expected this response, to be honest, but stood fast with my decision because I believed that the immersion earned as stated above was far too valuable to lose. Thankfully, these complaints from players were extremely few and far between. Perhaps in a sequel (note: not an announcement!) I could give players the option to choose, or allow the speed of the typing to be variable. We shall see.

TunnelFox – Hacking Like Geeks Possessed

Many players and critics have correctly identified that GREYHAT is a puzzle adventure game with hacking elements, and not the other way around. The hacking in GREYHAT serves as a narrative tool: It gives the player a reason to be snooping around the computer. Even in retrospect, the levels of GREYHAT can have no other narrative context besides hacking, and thus hacking is a core element of the game’s proscenium arch.

The problem with creating hacking gameplay (at least for me) is that I am not a hacker. Heck, I couldn’t even write a single line of code 3 years ago. Therefore, making a hacking mini-game within GREYHAT would require that I heavily research the modus operandi of hackers and hacking culture in general, or lean into pop-culture to inform my gamedev. I chose the latter.

Hacking in GREYHAT takes place in the TunnelFox app, in which the player must quickly match lines of code at the bottom of the screen by hitting a key on either side of the keyboard correctly. Doing this correctly will allow you to clear the level and access the computer, but making a mistake sets back your progress a fair bit.

Hollywood Hacking

The inspiration for this mini-game came from a game called Timberman, which basically shares the same core mechanics. The reason I chose to divide the keyboard up into two halves instead of using just 2 designated keys was that by doing so, the player would be able to use multiple fingers in each hand to clear lines at a faster rate. This intentionally mimics the hacker tropes of films and popular TV shows, and a third person observing the player may be tricked into believing that they are actually doing some Hollywood hacking. In an early version of this mini-game, the tutorial mentions that you have to shout “I’M IN!” once you’ve beaten this mini-game, but I could not find a way to communicate that to the player in a way that did not break the fourth wall. I contented myself with naming a Steam Achievement “I’M IN!” and programming it to pop up the first time a player beats the TunnelFox challenge.

How I envisioned GREYHAT players would look like while playing

This mini-game was hardly mentioned in reviews by critics, but multiple players voiced their concern that it was far too difficult and unforgiving. Even with several tweaks to the difficulty, report continued to come in that the mini-game was not particularly enjoyable. Thankfully, I had implemented an ‘Automatic Mode’ in the challenge just prior to launch that allowed for the mini-game to be skipped, and players that complained about TunnelFox were happy about its inclusion.

Less fun was the tunnelling mini game where you have to match patterns on screen and every few seconds have to type a word which flashes up, which then lowers your progress bar and…eugh. It goes on forever, but luckily you can set this to automatic and it looks quite cool in the background without having to deal with it.”

fuggles2k – Steam Reviewer

The lesson I take from this is that perhaps an action-oriented challenge  like TunnelFox that requires fast reflexes may not be the most suitable mini-game to complement a point-and-click adventure title like GREYHAT. Games like these typically command a more leisurely pace in their gameplay. Fans of this genre can hardly be expected to suddenly have the reflexes of a Dance Dance Revolution player, and this can seem unfair to the player. Another more precious learning is this: When in doubt, let them skip it!

More to Come

Writing this post has really helped me digest a lot of the through processes I went through when making the game. However, the above barely scratches the surface of the things I had to think about throughout GREYHAT’s 18 month development.

If you’ve read this far, I thank you for your attention, and I hope you get something out of it. I certainly have.

Leave a Reply

Your email address will not be published. Required fields are marked *

%d bloggers like this: