P2: The Future We Deserve (Hacking 101)


*Can either play now or wait till you read up to and including the premise.*


In the beginning, when thinking of potential concepts for the narrative, I couldn’t think of a single thing that I might be interested in. I couldn’t even think about a topic I want to cover and bring a spotlight on to. So, as you do when you can’t find an answer to your question, I googled it. I searched for different prompts in relation to the dystopian theme,  but also others, and then I compiled a list of my favorites and began to narrow it down. After using my first playtest in class to finalize which prompt I wanted to follow (details explained below) I then decided to flesh it out. The prompt was as follows:

“To prevent high murder rates, body cameras are installed on every citizen. You can’t turn them off, and you can’t remove them. Write from the perspective of a surveillance officer as he watches a citizen run from the law.” 

From here, and after the second playtest in class, I came up with the idea that the citizen who is running from the law had just stolen baby formula. Now you as the surveillance officer had to make choices to either help her escape or not. Then the big final twist at the end was going to be something along the lines of you discovering that the baby the woman stole formula for wasn’t even her kid. Instead it was a child she had kidnapped from a hospital shortly after they were born. I know, dark, but to me it also sounded like a pretty compelling story.

That is until I tried to actually outline it and realized it just wasn’t going to work. Exhibit A, the obvious plot holes. If there are body cameras on everyone, why didn’t anyone see her kidnap the baby in the first place? How is the player helping or hurting this woman in the first place? Are they some sort of hacker? Then I’ll have to change their job title? And on and on I went. It came to the point where it seemed like more of a hassle to write this story than to just come up with something new. So come up with something new I did.

I think the minute I thought of the player being a hacker, I just sort of went with it from there which led me to my chosen premise.


You play as a 21 year old man named Loki McCall who just got a job at the NSA working as a ‘White Hat Hacker’. Since his father went to prison 5 years ago because of his ‘Black Hat Hacker’ activities, Loki has decided that he has one goal in life, to be a better man than his father and use his hacking skills for good. His job at the NSA starts off normal enough. He meets Skyler and Haran, two white hat hackers who are placed on a team with him and are becoming fast friends. Everything was pretty perfect…until they stumbled upon that folder.

Please play now if you haven’t yet before reading any further!

Learning Goals:

With this premise I thought I could use this IF to bring attention to Ethical Hacking and just the world of Hacking in general. There were so many different colored hat hackers that I didn’t even know existed before I did more research like green, blue, and red hat hackers so I thought this would be cool information to share. I also thought that with a story like this, I could make players question if white hat hackers were the only “good” hackers there were.

Iteration and Feedback:

Playtest 1:

Playtesters for playtest 1
Arcweave board for playtest 1 (Click to enlarge)

As I mentioned above, I used this playtest to help me finalize my initial chosen prompt. I had two playtesters and I made a quick IF in Arcweave which was essentially asking them to choose their favorite prompt. In addition to using this playtest to choose a prompt, it was also my way of playing around with Arcweave to see if it could be a good choice for my platform. At the end of the session they choose their top four prompts:

  1. To prevent high murder rates, body cameras are installed on every citizen. You can’t turn them off, and you can’t remove them. Write from the perspective of a surveillance officer as he watches a citizen run from the law.
  2. A couple loses their child in an accident. They take advantage of accessible cloning technology to make a new one. While the clone looks exactly like their child, it’s a different person. They dispose of the clone and try again. This goes on for decades, clones of the same person at different ages being tossed into the foster system, onto the street, into other homes–eventually, they meet.
  3. An alien sneaks on board a spaceship from Earth, which is supposed to be in space for one full year. Write from the perspective of the alien as the crewmembers slowly turn against each other. 
  4. A kid gets a copy of the new video game everyone’s been raving about. As he plays it, the game personalizes a little more. Eventually, NPC’s in the game start saying things they shouldn’t know about the kid’s life–things he’d never told anyone else. What does he do?


From here I choose my favorite of the four that I thought I might have had a chance of writing something for, prompt #1, and went with it. I also discovered that I really like Arcweave’s interface and at this point was pretty sure I would use it as my final platform.

Playtest 2:

This playtest became more of a discussion session with my playtester. I essentially described my prompt and the current ideas I had to expand on it, like the crime being that the woman stole baby formula. We had a nice back and forth, and it was here where I made a few more decisions about the story. Ultimately my “playtester” seemed to like the prompt and felt like the story had the potential to become a real test of morality. 


At this point I was still happy with my chosen prompt, and I was able to come up with that big final twist where the baby the woman stole the formula for, wasn’t actually her child but instead a child she kidnapped. 

In between playtest 2 and 3:

At some point between these two playtests, I made that big switch from the body camera prompt to the premise about hacking. After watching the YouTube video Storytelling Tools to Boost Your Indie Game’s Narrative and Gameplay that was suggested on the P2 canvas page, I decided to use the template Dr.Mata Haggis ended up with to create a story outline for my narrative. I really found this template useful as it broke a lot of parts into smaller easier to understand parts. For instance, character motivations and splitting it up into both external and internal motivations. So with that, I was able to pinpoint all the major moments in my story and finally have a clear view on how I would move further.

Outline template by Dr.Higgs (Click to enlarge)
My outline 1/5 (Click to enlarge)
My outline 2/5 (Click to enlarge)
My outline 3/5 (Click to enlarge)
My outline 4/5 (Click to enlarge)
My outline 5/5 (Click to enlarge)

Playtest 3:

Playtester for playtest 3

With this story outline in hand, I went into playtest 3 with a bit more confidence. While I didn’t have it all figured out word for word, nor had I converted it to a digital format yet, I was at least able to take my playtester from start to finish through the story while having them decide on the most major choices. With this story outline, I was also ready to finally begin the assessment portion of this project.

Assessment Questions:


Question: What do you know about the world of hacking or about the field of ethical hacking?

Answer: Knows very little about hacking at all.

Question: What are your thoughts on a group like Anonymous? (I also made sure to explain what they are known for.)

Answer: They felt like Anonymous sounded like they were sort of in between good and bad. They’re not a believer in “the ends justify the means” saying so they prefer that legal methods be used, but if that is not possible, then they can agree that something else must be done.


Question: Question: What do you now know about the world of hacking or about the field of ethical hacking?

Answer: Learned about the different types of hackers and what they do. Namely white, black, gray and red hat hackers.

Question: What are your thoughts on a group like Anonymous now?

Answer: While they still had the same mindset, they felt like they understood Anonymous more, whom they described as red hat hackers, and could empathize and resonate with their choices more.

General Feedback:

  • Control the amount of information given at once
  • Liked the betrayal at the end
  • Should include at least one more try/fail segment
  • Need more attachment to the side characters Skyler and Haran
    • Suggested that maybe the friend who ends up betraying Loki also saved them in some way, to make it hurt more


I was happy that my playtester seemed to genuinely like the overall story that was being told and took their feedback to heart. For starters, including one more try/fail segment. In my outline, the only try/fail segment I had was when the team would try to hack into their supervisor’s computer in person and ultimately learn that said supervisor didn’t have access to the Project X folder anyway. So I decided to add another try/fail segment before that where they would first try to get the credentials of that supervisor remotely before discovering it was impossible and they would need to hack his computer in person.

For the feedback on gaining a greater attachment to the side characters, both my playtester and I agreed that this was most likely due to the fact that this was only an outline taking you from moment to moment with no real dialogue in between and could be solve through the use of dialogue when I converted everything to a digital format and expanded the narrative. 

Finally, for the point of controlling the amount of information given at once, my playtester felt like the beginning was super long and filled with a lot of information and no break with a choice thrown in. To counter this, when designing the narrative and converting it to a digital format, I tried to stay conscious of giving players some dialogue choices, even if it was just a choice that helped them shape Loki’s personality, throughout the story.

Major choices made:

  • Sent Skyler to be a distraction
  • Choose to go through the final mission solo
  • Ultimately declined the offer to join Project X

In between playtest 3 and 4:

Twin board 1/2 (Click to enlarge)
Twine board 2/2 (Click to enlarge)

In between playtest 3 and 4 I ultimately decided to use Twine as my platform. The reason I made the switch from Twine to Arcweave was because I started to worry about the limitations that came with using the free version of Arcweave. For example, they only allow 100 elements on the board in total, and while I only ended up with about 80 total elements, at the time when deciding to use Twine, I was unsure how many I would actually end up needing. The other factor that led to my decision was the fact that Twine had better documentation and a greater community which meant more resources for help if something went wrong. Finally, at the time I thought I might want to potentially add sound effects on background music (never happened unfortunately) , and that is something that is not possible in Arcweave.

In between these two playtests I was also able to finish my narrative and have it ready in a digital format through Twine for the next playtest.

Playtest 4:

Playtester for playtest 4

Which leads us to playtest #4. The first real playtest of the completed game. This one was conducted outside of class, but my playtester was still a Stanford student.

Assessment Questions:


Question: What do you know about the world of hacking or about the field of ethical hacking?

Answer: Took some Cybersecurity classes here at Stanford, therefore knows about some different methods of hacking. They were aware that there are companies out there who employ hackers to find exploits in their systems and also Bounty Hunter sites that hackers can use to try to earn some cash.

Question: What are your thoughts on a group like Anonymous? (I also made sure to explain what they are known for.)

Answer: They like Anonymous and support most of what they do. They see them as a hacker group for the people.


Question: Question: What do you now know about the world of hacking or about the field of ethical hacking?

Answer: They learned that hackers are color coded. Learned about how red hat hackers are like the vigilantes of the hacking world and black hat hackers are the malicious ones.

Question: What are your thoughts on a group like Anonymous now?

Answer: If anything they support them more now and have a bigger distrust in the government because they could see something like Project X actually happening.

General Feedback:

  • Took a while to figure out how to move on to another screen
  • Felt like choices could have a wide variety of outcomes which made them more conscious of their decisions
  • Felt similar to Black Mirror: Bandersnatch 


I think the biggest takeaway for me with this playtest was the fact that it wasn’t obvious how to move forward to the next scene. This served as a good reminder on why it’s so important to get playtesters outside of class because it’s something I would have never picked up on. Because of this extremely helpful feedback, I made sure to add a tutorial segment at the beginning of the game that introduces players to the basic controls of how to navigate the game.

It was also encouraging to hear his comment that he felt more conscious in the decisions he made. It made me feel like I had some good choices thrown in there somewhere which was a win.

Major choices made:

  • Sent Skyler to be a distraction
  • Choose to go through the final mission as a team with his friends
  • Ultimately declined the offer to join Project X

Playtest 5:

Playtest for playtest 5

And finally my final playtest. This playtest was also really informative, mainly with the question “Who exactly would this game appeal to?” or “Who is the intended audience?”. Again this playtest was held with a Stanford student from outside of class.

Assessment Questions:


Question: What do you know about the world of hacking or about the field of ethical hacking?

Answer: Knows some basic techniques and is also aware of the differences between white and black hat hackers. (Implying he was already aware that there is some color coding in the community.)

Question: What are your thoughts on a group like Anonymous? (I also made sure to explain what they are known for.)

Answer: Not really caught up with what they’ve been up to recently, but do find them a little creepy.


Question: Question: What do you now know about the world of hacking or about the field of ethical hacking?

After: Learned about red hat hackers and what they do.

Question: What are your thoughts on a group like Anonymous now?

Answer: Generally positive thoughts towards them now.

General Feedback:

  • Wanted a little more information when it came to the final choice
    • Suggested the ability to ask a question or two before having to accept or decline the offer
  • Felt like the ending was a little sudden
  • Would be nice to have a screen afterwards that tells you how many players choose this choice over this one and so on
  • Thinks that people with little to no CS background would probably leave the game with a bigger impact learning about the different type of hackers and such


Again, the biggest takeaway from this playtest is that it gave me more clarity on who would benefit the most from this game, namely people with little to no CS background. Took his suggestion to ask a question before making your final decision in the hopes that it added a bit more context. I liked his suggestion of the screen to see other player’s decisions at the end and this is actually something that I really love to see after I finish playing a chapter or episode of an IF game like As Dusk Falls or Life is Strange, but unfortunately I thought it might be a bit beyond the capabilities of Twine, or at least the specific story format I choose (Harlowe). I also still agree with him on the sudden ending, but by the time I conducted this playtest, it was a little too late to change/add too much to the story.

Major choices made:

  • Sent Haran to be a distraction
  • Choose to go through the final mission solo
  • Ultimately declined the offer to join Project X
  • A reflection section at the end of the article in the form of “I did this, I learned this, next time I’d do it this way. “

After playtest 5:

An example of how I used the relationship system (Click to enlarge)

I decided I wanted to give more weight to a lot of the choices that were originally meant to just be fluff choices to shape how the player imagined Loki’s personality and so I decided to add a point system for both Skyler and Haran. I even took inspiration from games made by Telltale games with their iconic “So and so will remember that” after making certain decisions that immediately made you over analyze the decision you just made. The affects these decisions have on your relationship with Skyler and Haran is pretty obvious, but it does slightly change the ending if you go about the final mission as a team.


I think with this being my first time writing a fiction story, I took it too seriously in the beginning to the point where it feels like I wasted at least a week coming up with a concept alone. I don’t know? Maybe that’s all part of the process with fiction writing? But I really feel like I shut a lot of ideas down in the beginning at the first signs of trouble without ever giving them a chance. Next time I’ll at least try to make an outline for all of my early ideas using Dr.Haggis’ template and then decide whether they’re viable or not. 

I will say, in the beginning I wasn’t all that excited about learning and using a platform like Twine. But after playing some games made with it and seeing how creative people can get with it, I became more enthusiastic about learning how to properly use the platform and about its different story format choices. I learned how you could add images and audio, and even though I had neither of these in my final build because of time, it was still really cool to learn. Also after playtest 5, once I came up with the idea to give more weight to a majority of the decisions made throughout the game, I really got into managing my simple relationship system for both Skyler and Haran and keeping track of their points with variables. 

Ultimately, next time I think I would not only want to include images and audio to break the pattern, but I would have also liked to do more with that relationship system. Depending on major choices, the relationship you have with one becomes pretty insignificant in the end so I would have liked to include more endings involving that specific relationship. I also would have liked to have more choices that affect either Skyler or Haran’s relationship separately, I believe there’s only one choice like that, where the others are more those decisions affect both relationships equally. Something like this would have required one on one time with both side characters which is something I unfortunately did not have time to include.

Finally, more endings. I wish I could have had more endings, or at least more variations for the two endings. All three playtesters from playtest 3, 4, and 5 all mentioned how they wished they could have fake took the offer from their betrayer before taking the gun and flipping the switch. Or something along those lines. I think this would have been an amazing variation on the ending even if it ended with no one’s death still, just something different and it could have tied in with that relationship that sort of becomes useless in the end. 

In the end though I am happy with the IF I ended up with. This project not only showed me a lot of personal flaws in my development process, but also reminded me of essential things like the importance of diverse playtesters. I don’t know if I’ll be making an IF anytime soon, but I’m glad I made this one.

Thanks for playing and reading!

About the author


  1. It is a super engaging story where the player learns about ethical hacking and some of the moral dilemma one can face. It asks us to question the truth we are told and also in a way highlights the importance of friendship 🙂
    I have mixed feeling about the decision where you get a note “XX will remember this” since it distracted me from some of the very intense scenes, but I appreciated to be explicitly told that my choice matters there. However, there are not that many places that the player makes choices, maybe the notification is not that necessary?
    An unfortunate bug is that the ending’s if statement is not working and I can see both endings I get there (I think there is a variable type error there, unfortunately), but both endings are fascinating! I really enjoyed the story, and this actually reminds me of the TV show Person of Interest (which is one of my favorite shows). Bringing back the main character’s father makes the foreshadowing great!
    Overall it was a great experience playing Hacking 101 and I love the story.

  2. By allowing the player to choose what sort of hacker they want to become through their choices in the story, this game promotes a nuanced understanding of the different types of hacking and the ethical motivations behind each. The game takes a strong stance against Black Hat hacking and in favor of all types of ethical hacking, framing the protagonist who pursues the ethical hacking route as the hero and his Black Hat hacker father and ultimately unsupportive friend(s) as being in the wrong.
    The game was successful in improving my understanding of the categories of hacking out there, as I did not know about Red and Green Hat hacking before playing this game. It also explored some of the ethical arguments around Project X, providing the player some context on why Loki’s hacking may be justified in this situation. While the choices were consequential to the outcome of the story, I felt that they did not necessarily ask me to personally engage with the ethical arguments being made, at least not until the very last choice of whether or not to join the betrayer. There were many points at which Loki deliberated over a decision (such as whether to side with Haran or Skyler, or whether to move forward with a particular plan) in such a way that made me think I would get to choose his conclusion, only for the outcome to be linear. However, given the time constraints, I understand why branching at all of these points may have been unwieldy — so I think the choice of whether to join the betrayer at the very end is sufficient in giving the player agency.
    I really enjoyed the cinematic execution — it felt like watching an action movie in IF form! I also appreciated the effort to thoroughly establish Loki’s bond with Skyler and Haran before the betrayal. If I were to suggest improvements: the ending appears to be broken, with both endings appearing in sequence no matter which final choice the player makes. It also struck me as a bit strange to have Loki’s narration conspicuously skip over explaining Red and Green Hat hackers in the beginning, only for the story to conclude with him becoming one of those types of hackers; I think it would have read more smoothly to establish those types at the beginning so the ending feels like a payoff.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.