Design:Hunt
From RecodedWiki
This page is a branch from Hunt

Design Document for: Hunt
Hacking Simulation
"[ToDo: Catchy one-liner"
All work Copyright ©2008-2010 Recoded.net
Written by Brandon Milner
Version # 1.02
Last revised: Tuesday, March 9th, 2010
Game Overview
Philosophy
Philosophical point #1
- This game aims to accomplish two tasks that have not yet been properly done in a hacking game.
- It will be the first hacking game that truly requires a player that either knows or is willing and capable of learning real hacking skills.
- It will also be the first hacking game to use cinematics complete with voice-overs to help tell the story.
Philosophical point #2
- We plan to have both Windows and Linux versions of the game.
Philosophical point #3
- The game contains a storyline that can be followed, though not required, nor will it be the end of the game when the storyline is completed. The story itself will also have at least two branches (Good path, bad path?), though undecided at this point.
Common Questions
What is the game?
- This game is a hacking simulation that will require real hacking skills, unlike others in the genre, giving it a higher level of difficulty and longer play time while maintaining a captivating story line and multiple ways to have fun even in quick gaming sessions.
Why create this game?
- This game will not only be for entertainment, but also for education. Players will be able to learn real hacking, programming and cryptography skills in a safe environment.
- Other 'hacking simulation' games tend to use fake programs which the player simply runs and it does it's job accordingly, without any knowledge of the actual process taking place (the encryption/decryption, virus, etc). A real hacker will study something and find a way to get past it, and this is what I think a hacking simulation should contain.
Where does the game take place?
- The game takes place during the present day, mainly in the characters home on his personal server. Following the story can also give the player the option to use computers in other places, e.g. FBI Cyber Crimes Division, which may contain variations of the OS.
What do I control?
- The player controls the actions of the main character on a computer.
How many characters do I control?
- You will only be in control of Hunt, the main character.
What is the main focus?
- The main focus is to find out what an elite group of hackers is trying to do and put a stop to it by tracking down their leader and having him arrested.
What’s different?
- Few other hacking simulations are on the market. This game will focus more on real hacking skills and even bring 3D Cinematics into this genre of games for the first time.
Feature Set
General Features
- A wide assortment of computers which the player can connect to which can contain storyline based information, hidden secrets, general help or just fun random mini-games that are otherwise completely irrelevant to the story.
- The game engine itself will actually run programs that were compiled in the game. This allows for a much more realistic hacking simulator in which players can disassemble, crack and program using various compilers included inside of the game.
- Simulated up close computer screen with custom GUI and Operating System designed exclusively for the game to give a fresh modern day look that both Windows and Linux users should be able to enjoy and easily use.
- Options for 16 or 32-bit color for graphical elements.
- Interactive tutorials located on a special server in the game.
- Complete documentation on the programming languages that can be used in the game.
Special Features
- (Undecided) Custom API to allow developers to create their own plugins for the game.
- This document, development journals and full source code to anyone who purchases the full game (On CD).
Multiplayer Features
- Undecided.
- This will be an especially difficult option to provide due to the type of crowd this game would attract. Public servers would attract a lot of players to one central game, in which a single malicious player can ruin the experience for many legit players.
- If I add multiplayer support, I would make it such that players can create their own servers. Allowing them to allow only certain players into the game, which will let them have a more enjoyable experience without worrying about 'hackers' (which are really cheaters that think they can hack -.-).
Editor
- A Server editor was originally planned for to allow users to create their own servers in the game. I have since decided that it would be pointless, as they can simply take control of any server in the game or just use Hunts computer to store anything they want to put there.
- Creating custom programs in the game is half the fun and I may decide to make them easy to export to share with friends and the community.
Gameplay
- [ToDo: Add list of elements that are key to gameplay experience]
The Game World
Overview
- The story takes place in the United States (Should pick a more specific location with a local FBI Cyber Crimes Division), present day!
The actual gameplay takes place within Cyberspace.
The Physical World
Overview
- The following describes the key components of the Physical World
Key Locations
- Hunts house
- FBI Cyber Crimes Division offices
- Internet café (Unconfirmed)
- Library (Unconfirmed)
- Police Dept. (Unconfirmed)
- (Abandoned?) Military base. (End game scene)
- Hunts house
Travel
- Hunt drives a [what would be cool? Truck? Muscle car? not a ricer -.-]
Scale
- Everything in the cut scenes shall be to scale.
Objects
- House
- Vehicle
- Computers (Lots of them, many kinds. VERY IMPORTANT)
- City streets in driving scenes (Unconfirmed)
- Various story related buildings such as library, police department, military base, etc.
- House
Weather
- I’m too lazy to add weather effects in the renderings, so just plain sunny days or cool nights most likely.
Day and Night
- Not sure which yet. Hunt naturally is a late night person who sleeps in through most of the morning if he can. However, other characters are more inclined to interact with him earlier in the day. Perhaps afternoons and nights are the two most likely.
Time
- Cut scenes that focus on telling the story quickly would be displayed with lapsed timeframes, like that in movies, so as to not bore the players.
The Cyber World
Overview
- The following describes the key components of the Cyber world.
Key Locations
- Just about any computer the user wants to connect to in the cyber world.
Travel
- Sockets of course, TCP/IP mainly! ;p
Scale
- The virtual display of the monitor in the game will be full screen to match that of the users screen size. Resolution options should be added for user preference.
Objects
- A GUI will be used to display things on the screen the user sees as would be expected from any OS with a GUI. The GUI should be easy enough for anyone with experience using GUI’s (Windows, KDE, OS X ,etc.) to do what they need to, but not be a look alike to any of them. (See User Interface)
Weather
- Weather in cyber space? Does IRC drama count?
Day and Night
- Doesn’t matter, it’s a 24/7 world.
Time
- It is undecided as of yet. Some ideas are:
- Real time, matching the users system time. The user has all the time they need for most things (considering they may need it for programming and such). Tracing can be timed during a connection with display. Passive traces can take around 24 hours. Events are triggered by user’s actions.
- A faster time system, like in Uplink or popular strategy/simulation games in which events are triggered by a timeline. The user is more pressed to complete his/her tasks.
Rendering System
Overview
- Both 2D and 3D rendering will be used during the development of the game.
2D Rendering
- The games GUI will be rendered in 2D in order to keep system requirements down so the user can focus more on the gameplay than graphics detail.
3D Rendering
- 3D rendering will be used to create the cut scenes, but will be rendered into video files to be played, rather than at runtime.
- All modeling, animation and initial animated renders will be created using Blender, then converted to another video format if needed, depending on the video library I use for the game.
Game Engine
Overview
- The first attempt at making Hunt (version 0.1 alpha) was done in VB. I since decided that VB was properly suited for the task and decided to switch to C++ instead. I planned on using the Irrlicht Engine as I was going to just animate the 3D scenes at runtime. However I have since decided I will render the scenes to video so that I can use a more appropriate engine for the 2D based gameplay. SDL is the most likely choice at this time.
Game Engine Detail
- The Game Engine for Hunt will be a version of my Virtual Operating System (VirOS).
- VirOS will be coded in C and a decent 2D graphical library such as SDL.
The World Layout
Overview
- Here we will describe the layout of the operating system and views of the networks in cyberspace that can be connected to.
World Layout Detail #1
- Blah blah blah…
World Layout Detail #2
- Blah blah blah…
Game Characters
Overview
- This section will describe the characters that are in the game. Physical descriptions are only needed for those that are included in the main story.
Main Characters
- John Hunt - Hunt
- Katrina Milner - CyberKat
- Calvin Derrick - Joker
- Darius McDowell - Drak
- John Hunt - Hunt
Bonus Characters
- Fieryarts
- Noble
- Dyne
- Keefe
- Reth
Enemy Characters (Members of the hacker group)
- Ivan Knox
- Donald Donahoe
- Jake Hendrickson
- Kieth Weston
- Tyrell Pittman
Character Growth
- As you play the game, your actions can determine whether Hunt will continue to fight against the hacker group, or decide to join them. So be careful with the servers you choose to hack and the reasons for it.
User Interface
Overview
- The user interface within the game will be graphical and similar in ways to the familiar desktops of current Operating Systems, with enhancements in the design to make the task of hacking easier.
- Everything should be well organized and easy to get to.
- We could create a way to install themes as well, so the users can have a more custom look.
Elements of the desktop
- The standard desktop within the game will contain the usual components found on your average PC desktop. A clock to show the time, a graphical background (with user selectable images for a custom look) and a way to quickly access the most important files, folders and applications as well as a way to access all the others that are not on the quick select list.
The look of the GUI
- When apps are run, they will often contain many GUI elements. These include the main application window, buttons, etc. We don’t need anything too fancy or complicated here; it is just a game after all. That does not mean we will use a bunch of lame colored rectangles and circles for everything however. Something along the lines of the AmigaOS (v.3.5) or better would be nice.
Applications (In-Game)
Overview
- This section will detail the applications that will be available in the game. All applications will be compiled to the game engines native code so they can be debugged and enhanced by users if they so choose.
App Details
- Password crackers: Brute Force and Dictionary
- Simple Email Client
- Telnet
- SSH
- FTP
- IRC (Connecting to real life servers)
- Instant Messaging Clients (In-game only. Communicate with fictional game characters or other players when in multiplayer)
Musical Scores and Sound Effects
Overview
- Description of the Music and sounds within the game, their format, composer, what will be used to play them in the game, etc..
Soundtrack
- The soundtrack will contain original compositions.
Audio Format
- MP3, OGG, WAV and/or MOD
In-Game Audio
- The in-game audio can be either music from the original soundtrack, or user selected audio files (.mp3, .ogg, .wav) placed in the Playlist directory.
Sound Design
- [ToDo: Description of sound effects and how they are going to be made]
Sound API's
- Most likely FMOD or BASS will be used to handle the sounds as these libraries are cross-platform.
Single-Player Game
Overview
- How the single player gameplay will work.
General Gameplay
- The player will at all times have control over a computer (usually the main one in Hunts house) in which the player may do a good number of different things.
- The player is given a task set by the current portion of the story line. Clues as to what the player must do are given in cut scenes, emails, IM's, files and possibly others.
- When a player completes a certain task, it triggers the next event to take the story further along.
- Mini-games are available on various servers that may also be played. Mini-games consist of playing simple programs such as trivia, hang-man, tic-tac-toe, pong, doing submissions as a freelancer or trying for personal gain such as hacking a bank.
Protection
- The player could get full admin/root privileges on practically any in-game computer, that player is capable of accidently (or intentionally) deleting important files needed to progress in the game.
- We need to include a method of either preventing this (which reduces realism) or creating a realistic means of having these special files 'restored' when they are needed for progression during the current portion of the story line.
- I propose that one possible way is to give an indicator on the desktop alerting the player to the mistake they made, and give them the option to undo it. However, this reduces realism, and could be a dead giveaway to a solution if they thought the answer was to delete the file.
- Another idea, which I think I like best so far would be to have the game warn them of the problem when they try to save, so that it doesn't become permanent. (They shouldn't have to worry too much in this situation, as the game is auto-saved after all major events.
- A general rule I want to stress to players is to create backups of files on Hunts computer before deleting them, but there should still be some kind of safe gaurd in the event that they didn't make a backup.
- Any ideas?
Story
- Blah blah blah…
Hours of Gameplay
- Hundreds, hopefully! :)
- On the easy difficulty, the game should be possible to go through the entire story line within 6 hours. Less for hacked/modded versions where many programs and files are already located on Hunts computer. The gameplay should take a considerable longer time however, as it's meant to teach and challenge a players real life hacking skills.
- Because the game doesn't end when the story is over, and because of the multitude of mini-games and other possibilities, players can keep playing for as long as they want to.
Victory Conditions
- There are two victory conditions. At the end of the game when Hunt finds out who the leader of the hacker group is (see plot twist), he will either stop him, or join him, depending on users actions throughout the game. The user will not be able to decide themselves at this point, rather it will be determined by how ethical they are during the rest of the gameplay.
Multiplayer Game
Overview
- Not official but place ideas anyway.
Max Players
- A large number isn't needed as if I were to incorporate multiplayer I would probably go with user created server setups.
- For personal (user created) servers we shouldn't need more than maybe 20 players.
Servers
- Similar to the Quake based games, user created servers with perhaps a public server only for listing them.
- User created servers would be better than public servers for enjoyment reasons to players. Large public servers tend to bring in a lot of people and it only takes one to ruin the fun for them.
- Local servers make it so players can password their server to control who is allowed to play.
Customization
- Blah blah blah…
Internet
- Blah blah blah…
Gaming Sites
- Blah blah blah…
Persistence
- Blah blah blah…
Saving and Loading
- Blah blah blah…
Cut scene Rendering
Overview
- This describes the rendering used for characters and scenes in the cinematic videos.
Character Rendering
- I hope to be able to model all characters myself using Blender.
- If I am not able to model my own (where they can pass for decent models) I will consider using MakeHuman for the characters.
- Animation and Rendering will still be done in Blender.
Scene Rendering
- The scene will be completely modeled and rendered in Blender.
Extra Miscellaneous Stuff
Overview
- Basically, any extra unimplemented, undecided features, ideas and bonus/hidden stuff will be placed here.
Junk we are working on…
- This document
- 3D Models and animation
- VirOS (The game engine)
- Everything else
Quick Ideas
- Darius leads Hunt to track down himself, leading the agency to think Hunt is the leader of the group.
“Programming Appendix”
- Information on the programming languages used IN-GAME.
- [Name of language] (Newbie difficulty)
- A high level language similar to BASIC. [Description of language]
- [Name of language] (Hacker difficulty)
- An intermediate level language similar to C. [Description of language]
- [Name of language] (Elite difficulty)
- A Low level language similar to Assembly. [Description of language]
“User Interface Appendix”
- A modern looking graphical desktop will be used on Hunts home computer. Similar in style to popular graphical desktops of today, but not so close as to be a copy-cat. This is mainly just to give some simpler control to the player when they want to do things outside of a 'shell', such as viewing files in a graphical way.
- Most of the real game play will take place in a terminal window that provides the player with a shell to another computer. This is all text based, but is displayed either full screen or in a window on top of the graphical desktop.
- [Additional information on the GUI]
“Networking Appendix”
- Information on how we (might) implement multiplayer support.
- Information on how we will implement IRC support.
- Information on how we (might) implement automatic upgrading.
“Character Rendering and Animation Appendix”
- Modeling will be done in Blender. Possibly MakeHuman for the characters.
- Animation and final rendering will be done in Blender.
“Story Appendix”
- The full story. Character Information and both endings.
“Full Story”
- [ToDo]
“Endings”
- Hunt eventually finds out that Darius is Drak, the leader of the hacker group. When confronted, Darius tries to get Hunt to join in his efforts to rid the world of war.
- Good Guy Scenario
- Hunt refuses the offer and says he will be sure that Darius spends a long time in prison. Darius loses it and the two of them have a battle of wits as he decides to enable the launch of missiles aimed at large cities leaving Hunt to try deactivating them and finding Darius.
- Bad Guy Scenario
- Hunt accepts the offer and helps Darius break into the system of their final target, the Pentagon. While they are working their way through the near impossible security measures used, they are interrupted by military and NSA agents that had been tracking down the group as well.
“Character Appendix”
The bad guy!
- Real Name: Darius McDowell
- Alias: Drak
- Description:
- 33 year old FBI Cyber Crimes Division Lead Supervisor. [ToDo: Add physical description]
- Story
- Darius wants to destroy military weapons information in every major nation of the world. He is convinced that such weaponry being developed around the world will lead to wars that will lead to the end of civilization and send us all back into the stone age.
- In an effort to destroy all of this information that is stored on systems with some of the most advanced network intrusion systems available, he requests the help of many elite hackers from around the world. Together they call themselves the [ToDo: Name of group]. Darius himself is also a very skilled hacker, having been hacking since his teenage years.
- Within his agency was Calvin Derrick who is a friend of John Hunt. Hunt had requested a little help from Calvin in getting some information on the group of hackers he was trying to track. When Darius caught wind of this, he knew Hunt might turn out to be a problem. Darius decides he'll need to keep Hunt from finding out too much information on the group. Darius tells Calvin to start a case investigating this hacker group and to bring Hunt in to help with the case.
- After a few weeks of notable progress, Darius figures it is now time to start his plan and lead Hunt in the wrong direction. To get Hunts attention, he breaks into the network of the very Cyber Crimes Division where he works, and erase all data on the group as well as leaving an encrypted message just for Hunt that says:
- "Agents,
- Now that I have gotten your attention, let it be known that if you continue your search for us, we will use the missiles we have control of to destroy countless innocent people in cities and villages across the world. Do not tempt us agents, we know more about you than you know about us. This is your only warning; Stop your search! -Drak"
- Darius fakes the log of the connection to a library network in Houston with hopes of leading Hunt to a dead end.
The Hero!
- Real Name: John Hunt
- Alias: Hunt
- Description:
- 25 year old owner of an online security company. [ToDo: Physical description]
- Story
- John Hunt, a geek of all trades. He loves doing everything he can with a computer. John loved spy stories when he was 10 years old, which led him to develop an interest in cryptography for sending secret messages to his friends. At age 13, he was given his own computer which he learned how to program on. With access to the internet, John soon found himself swamped in hacking sites to learn from. He was interested in everything they could offer, but still loved cryptography more than everything.
- John eventually went into college where he shared a dorm with Calvin Derrick. Calvin loved hacking as well and so the two of them became great friends. Though John was excellent with cryptography, Calvin was better at just about everything else which made John push himself harder to try and be better than Calvin some day.
- After college, John worked as an IT for various security firms. Using his cryptography and reverse engineering skills, he would study the code of virii, trojans and the like in order to help the companies create better anti-virus software. John decided at one point to start his own security company online where he would help companies who have been hacked or infected to restore and secure their systems.
- John remained friends with Calvin even though Calvin had become really busy after joining the FBI. The two of them would communicate through email where they encrypted their messages with encryptions they created themselves so the other would have to crack the encryption in order to know what the email said.
- One late afternoon, John was working for a client in restoring lost data. John noticed that the data was deleted and that whoever deleted it, did so from a remote connection. John didn't even know what this company did until he was hired for them, and seeing that their work has to do with military systems, he became quite curious of who would have done it. Was it a hacker or a frustrated employee? Hunt was always lead by his curiosity, and this time it might get him in trouble. Hunt jots down the remote IP in his note pad for later and finishes restoring the data.
- John begins tracing the connection and notices it was made through a series of proxies. “Definitely a hacker!”, he says to himself. He traces the connection back to an IP that spends a lot of time communicating on IRC. Hunt tries to get in, but all attempts fail. One port is open, requesting a password for “The Trilateral Commission”, but hunts attempts at brute forcing it don't work either.. He decides to back trace the use of some of the proxies to see what else this hacker has gotten into. As he does, he starts to catch on to a pattern. Every system this hacker broke into had military information. Some were weapons based, others were satellite communications based. These systems were not just in the United States either, but all of the world. Hunt feared this could be bad and decided he'll need to get help.
- John contacts his old friend Calvin at the FBI Cyber Crimes Division and asks him if he can get any additional information on “The Trilateral Commission”. Calvin digs up what he can and sends it to John. Calvin begins a case tracking this hacker group and invites Hunt to join. John is more than willing and comes by Calvin's office to get started.
- While at the FBI offices, John is introduced to two others who work with Calvin. The first is Katrina Milner, Calvin's beautiful partner. The other is Darius McDowell, the lead supervisor who decided to start the case and have Hunt help them with it. The team begin their work on trying to track down every member of this hacker group.
- After only a few short weeks into the case, Calvin calls up John early in the morning asking him to come to the offices immediately. When John gets there, Calvin explains to him that all of the case files on the hacker group have been deleted and that one file was created with what he believes to be encrypted text. John agrees and begins to decrypt it, which proves to be fairly easy. The message reads:
- "Agents,
- Now that I have gotten your attention, let it be known that if you continue your search for us, we will use the missiles we have control of to destroy countless innocent people in cities and villages across the world. Do not tempt us agents, we know more about you than you know about us. This is your only warning; Stop your search! -Drak"
- Calvin then shows that the logs had not been cleared and traces the connection to a library in Houston. John begins to get a little suspicious of Calvin. That encryption was simple enough for Calvin to have decrypted himself and the logs are not something that someone with the know how to break into the FBI network would likely forget to clear. John decides to go along with it though and not say anything, John checks if the library was used as a proxy but can't find anything, so they decide to find out who all used the computers around that time.
The Love Interest!
- Real Name: Katrina Milner
- Alias: CyberKat
- Description:
- 26 year old FBI Cyber Crimes Division agent. [ToDo: Physical description. Asian? >.>]
- Story
- [ToDo]
The Buddy!
- Real Name: Calvin Derrick
- Alias: Joker
- Description:
- 24 year old FBI Cyber Crimes Division agent. [ToDo: Physical Description]
- Story
- Calvin went to college with Hunt sharing the same dorm room. Both of them would hack and challenge each other while they weren't studying. Becoming quite skilled in many aspects of hacking often frustrating Hunt because he significantly better.
- After college, Calvin decided to join the FBI and get into the Cyber Crimes Division to do computer forensics. Although Hunt took a different path, both of them remained very close friends. Often exchanging emails with custom encryptions that the other one would have to crack.
- Hunt contacts Calvin asking if he can give him any information on a group of hackers that he started to track. Calvin starts doing some digging and gives Hunt all the information he can up with. Darius, the lead supervisor, notices and tells Calvin to make it an official case and to bring Hunt in to help since he already has information as well. Calvin does so and him, Hunt and Katrina begin working on the case together.
- After a few weeks into the case, Calvin starts his day at work as usual, but notices that the case files have all gone missing. Only a single file remains in the case folder that Calvin quickly recognizes as encrypted text. He calls Hunt in to help him crack it, which turns out to be quite easy. Once decrypted, the message reads:
- "Agents,
- Now that I have gotten your attention, let it be known that if you continue your search for us, we will use the missiles we have control of to destroy countless innocent people in cities and villages across the world. Do not tempt us agents, we know more about you than you know about us. This is your only warning; Stop your search! -Drak"
- Calvin notices that the connection logs were not cleared and traces the last connection that was made to the system. He traces it to a library in Houston. They'll have to get a list of used the computers at the library during the time that the connection was made.
“Cinematic Script”
[Scene 1]
- Camera: Sunset over the mountains; pan to bedroom window. Hunt is sitting at his desk sipping a cup of coffee and going through his email.
- Hunt: “Junk, Garbage, Spam, Pron, More Pron, Scam.. hmm, CyberNetic Systems huh?”
- [ToDo: Finish this!]
