Jump to content
  • Advertisement
Sign in to follow this  
-JetSirus-

Hacking Game Concept: Comments appreciated.

This topic is 4413 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hack.TW

Conceptual Design Sketch 0.12 inspired by Uplink: Hacker Elite
BIG NOTE: The game now actually has a skeleton crew development team. It's still in the VERY early design stages (not a single line of code) so this document will see a lot of updates in the following weeks. That basically means that now is a good time to push for any ideas you might want stirred into the mix.

Game Summary

The game itself is very much in the spirit of Uplink: Hacker Elite. As such it will be more of a learning experience for me as apposed to a full retail production. The goal is to simulate the experience of hacking (or cracking if you prefer) for the player. The challenge will be to make it a fun experience as apposed to a full simulation, while keeping the illusion that most of the concepts themselves could be employed in a real life situation. As such the game itself will emulate real life situations and interfaces (GUIs). In doing so, it will also become necessary to shield the player from real hacking/cracking techniques so that the game does not become a liability. Interface This has been an issue with me since I decided to undertake this project. The base problem is easily summed up in two questions:
  1. Do I try to emulate Uplink's more standard full screen interface or...
  2. Do I actually attempt to fool the player by using an interface that loads seamlessly into base Windows.
That may seem like a small problem but it actually has far reaching differences. Let me first lay out a summary of each type and then I will elaborate from there. Full Screen Custom GUI: Employs an interface similar to a Windows or Mac. A bar at the top of the screen graphically simulates the players processor for his/her in-game computer. On the left of the screen an expandable scrollable bar will list all of the files that are stored on the players in-game computer. Other information will be displayed in windows on the main area of the screen. This interface will be very similar to that of Uplink. In Windows GUI: This interface will actually load within Windows itself. The interface that will most commonly be used will be a central stylized window that will allow the player to buy programs, accept mission, execute programs and upgrade his/her computer. These programs and upgrades will of course only apply to an imagined version of his computer. The programs themselves will launch into other windows as if a real program had been run. The Pros & Cons: Using a full screen GUI that is similar to Uplink will make it feel more like a game. It will provide me with more options to make it less like a simulation and more like a fun movie style hacking experience. I will have a lot more control over what the player does with the game and the scope of it. I can also make it more action packed and twitch based. This will also allow me to make the game as stylized as I wish. The other option will be to load the programs interface into Windows itself. The implementation will still be essentially the same, with just a few differences. For one it will be presented in a way that will make it feel less fake. The player will feel more like they are actually hacking something real, since they will be using a GUI that they are familiar with. This will also allow me to base the in-game computer off their real computer. So when the player starts the programs from the game they will run slower or faster depending on how good their real computer is. When the player buys an upgrade for his/her in-game computer they will feel like they are actually upgrading their real life computer. All of it could be handled in a seemingly real but very fantasy manner. For example, using the Full Screen Custom GUI when the player buys an upgrade for his/her in-game computer it would factually appear to be a upgrade when they looked at the stats on their computer. On the other hand using the In Windows GUI I wouldn't want to actually let the player buy a new processor for their in-game computer because their in-game computer would be based on their real world computer. It would remove the immersion to have such a logical flaw. They know that they didn't actually have a technician come to their house and install a new processor for them. I would instead let the user buy a in-game program that for example over-clocks their computers processor. Instead of getting more RAM they would buy a in-game program that compresses their current RAM. Following me so far? This would help to suspend disbelief and make it seem more real to the user. Just in case you aren't following me, because even I am having a great amount of difficulty describing it, let me provide the information another way. Using Full Screen Custom GUI: Scenario 1: The player has come to the realization that his/her in-game computer processor doesn't have the horsepower needed. The solution is:
  1. Load the in-game browser and navigate to Hardware Central.
  2. Find a processor in his/her price range.
  3. Purchase.
  4. Pay a technician to install it or...
  5. Do it themselves.
Scenario 2: The player needs more bandwidth for their ever increasing hacking charades. The solution is:
  1. Load the in-game browser and navigate to Underground Telecom.
  2. Locate an upgraded plan in his/her price range.
  3. Purchase.
  4. Wait for the service to be activated.
Using In Windows GUI: Scenario 1: The player has come to the realization that his in-game computer processor doesn't have the horsepower needed. The solution is:
  1. Using the main window of the game, navigate to the hardware tweaking section.
  2. Locate the section on processor over-clocking. There will be several programs listed that do this. Some will do it better than others. The ones that do it the best will obviously cost the most.
  3. Find the program that is in his/her price range.
  4. Purchase.
  5. Execute the program. It will load in a small window on the screen and display its effects.
Scenario 2: The player needs more bandwidth for their ever increasing hacking charades. The solution is:
  1. Using the main window of the game, navigate to the bandwidth section.
  2. Choose style of solution: Guide on Stealing Bandwidth, TCP Compression Software.
  3. Purchase something in his/her price range.
In the real world we know that you are not going to be able to do much with over-clocking software or TCP Compression, but in the game we can use these tools to help suspend disbelief. This way instead of knowing that they didn't actually get a part installed on their computer, they can be led to believe that they have found some secret little bit of software cooked up by some computer genius that does near magical things. Of course they will know they are playing a game, but at least the slap in the face wouldn't be as painful. For the rest of the document I will lay things out as if I had chose to go with the Full Screen Custom GUI. Gameplay Features Points of each feature have been enumerated to help with later description/discussion.
  • Scripted Missions: Acquired in many forms, fitting the situation.
  1. Hacking missions designed to advance the general game plot.
There will be a goal or main quest to the game. The idea is to make it fluid and seamless. It will be presented in three opposed directions based on the players previous actions. If the player performs many good actions, the missions will revolve around stopping the bad guy. On the other hand if the player performs many bad actions the missions will be something equally bad in nature and involve a good hacker going against them. If the player straddles the line, the game will complete when he reaches a certain fame level, ranking level, monetary level or is caught, basically a free-form win.
  • Random Missions: Acquired in the form of emails.
  1. Change personal records ranging from school grades, to citizenship.
  2. Bring big businesses to their knees by crashing their servers using many different techniques.
  3. Plant evidence.
  4. Destroy important information.
  5. Steal documents, programs, and more.
  6. Develop hacking/cracking software for others.
  7. Track down other hackers who have been naughty.
These missions will be randomized as best as possible, in the hopes that they don't become to repetitive. There will be two distinct categories since I have decided to include a in-game scripting language. The first category will be for standard missions that can be accomplished using only programs provided within the base game. The other category will include missions that require skill with the in-game scripting language. I feel such a system will be needed because not every player will want to learn the scripting language. The player will be able to access the scripting category only by first developing and selling 'programs' on the open market. The higher value the programs have the harder missions he/she will be able to accept. The missions will all be assigned based on how well the player has performed in the past. If for example the player has shown great skill, he/she will be presented with more difficult missions, for example the most difficult standard missions would be crashing servers and the most difficult mission altogether would be ones that require any kind of scripting. The missions will offer monetary rewards equaling their difficulty.
  • Freelance Missions: Undertaken on the players own initiative.
  1. Take control of other computers for your own use.
  2. Free computers who have been taken control of by other hackers.
  3. Develop hacking/cracking/tweaking software and sell it on the open market.
  4. Identity theft/restoration.
  5. Track down other hackers who you don't like.
  6. Steal from banks and other large corporations.
These aren't really missions. The player simply decides that he/she wants to do them and the goes about the task using the tools and skills at their disposal. For example, say the player wanted to take control of another computer, they would simply locate a target and the proceed to take control of them. They could then load software onto the newly controlled computer, steal important information from it, keep it under control for use in other situations and etcetera. Some will of course be more dangerous than others.
  • Upgradeable computer
  1. Processor
  2. RAM
  3. Hard Drive
  4. Internet Connection
  5. Purchase software to facilitate hacking/cracking.
Using money acquired doing missions the player will be able to upgrade their computer. This will help them execute programs more quickly, run more programs at once, control more computers, compile code they have made themselves faster and etcetera. This will be the main reward system in the game. It will give the player something to strive for.
  • Complex Hacking Simulations:
  1. Use a feature rich yet simple scripting system to design in-game software for a number of uses.
  2. Employ programs/tools such as proxies, encryption, tracers, IP spoofers, password crackers, deciphers, decrypters, voice print simulators, war dialers, etcetera.
  3. Multistage hacking problems that require many different tools and techniques to accomplish the job.
  4. Hack-through situations in which one uses a series of other computers to hack a tougher multistage target.
  5. Time sensitive situations in which you are actively being traced and must be quick or be caught.
The idea is to provide real world ideas with fantasy implementations. The reason being that most real world hacking is tedious, boring and difficult. Another reason is that I don't want to take the responsibility for training anyone how to hack, as under the best of situations it is considered dodgy and under the worst of situations its flat out illegal. With that in mind, I plan to incorporate as many hacking concepts as possible as long as they are both fun and not overly arcane. The holy grail of difficulty for the game will be for the player to learn how to properly use the scripting system but is by no means a required skill, just the most difficult.
  • Possible In-Game Chat: Either utilizing IRC or some other time tested chat interface to connect players and give them an outlet to chat while they play.
  • For Good or Evil: Play how you want, be the one who swoops in to save others or the one who makes others tremble.
  • Compete: There are many other hackers actively vying for power or position on the global rank.
  • Rich Character Advancement System:
    1. Experience system that allows the player to customize his/her ingame personality.
    2. As the player tackles individual systems experience is awarded based on the difficult of the system.
    3. The players in game persona will consist of several 'stats' and many skills.
    4. These 'stats' and skills will be improvable by adding experience points into them. There will be no visible levels to the player.
    5. Note: This is a rough draft of the player advancement system.
Extreme Difficulty Hacking Puzzles Concept by JBourrie These situations and puzzles are so difficult that the player may need to employ real world techniques on the game itself to uncover them. An example could go as follows.
  1. Player edits game .ini file to enable console output while program is loading.
  2. Player notices that every time the program loads a message in the console out points to a restricted area of memory.
  3. Once the game loads the player uses a memory scanning tool to reveal the information listed in the memory address.
  4. Contents include a number value of 1337.
  5. Looking through the database files the player notices that one is enumerated and indeed goes to 1337.
  6. That line points to a text file stored in hex that has a IP, username and password.
These types of things could be simply a easter egg or lead to some piece of in-game software that give the player an edge. In-Game Programming Concept This idea has always appealed to me. The idea that a player could make programs to run within a game seems like very interesting one. The issues I have with it are numerous though.
  1. The audiance for such a concept is niche at best and near nill at worst.
  2. For it to be fun, you need a base game for the players to base their programs from.
  3. The language itself needs to be simple enough as not to require a degree.
These are all troubling points for me. The fact that no one would play it doesn't bother me as bad as the other two points. It would take a tremendous ammount of work to make a usable, efficiant, elegant and simple scripting language. How does one go about picking the right setting for such a feature? It may not be new territory, but definatly rugged territory. Also, if you make a game so specific and niche that only a handfull play it, how do you draw a audience to it? Were I adventurous enough I could make the scripting system take into account simple elements of CPP and then advertise it as a slightly fun learning tool. We all know everyone loves edutainment software. That's it for the third pass. I will expand, change or flat out remove things as questions, comments, concerns and flat out flames are added into the mix. *smile* BIG NOTE: The game now acutally has a skeleton crew dev team. It's still in the VERY early design stages (IE: Not one line of code.) so this document will see a lot of updates in the following weeks. [Edited by - -JetSirus- on September 25, 2006 7:45:39 PM]

Share this post


Link to post
Share on other sites
Advertisement
I've always been skeptical about these games, because I spent a great deal of time on security forums and hacking forums when I was younger. These games really just don't do justice to hacking, what so ever.

However, on that note, I think you are onto something with that whole "scripting" language thing. Forget making it realistic -- go for something different. Say there is a new version of the web that has been just released. Fake the technology. Then, look at something like Core War, and have the people write 'viruses' and 'worms' to attack other people. Have firewalls and security programs be "defensive" worms, and that sort of thing. Then make the player write "attacking" programs to try to either sneak around or attack. Then show it in an arena kind of thing. I would love it.

The fact of the matter is, the more "realistic" you make it, the less realistic it will be. Unless you have done any serious hacking, you will probably butcher it. I would recommend instead of trying to get people to "suspend disbelief" on a realistic topic, you just invent a world of your own for them to get lost in.

Much luck,
Corey

Share this post


Link to post
Share on other sites
In-Game Programming Concept
This idea has always appealed to me. The idea that a player could make programs to run within a game seems like very interesting one. The issues I have with it are numerous though.
  1. The audiance for such a concept is niche at best and near nill at worst.
  2. For it to be fun, you need a base game for the players to base their programs from.
  3. The language itself needs to be simple enough as not to require a degree.
These are all troubling points for me. The fact that no one would play it doesn't bother me as bad as the other two points. It would take a tremendous ammount of work to make a usable, efficiant, elegant and simple scripting language. How does one go about picking the right setting for such a feature? It may not be new territory, but definatly rugged territory. Also, if you make a game so specific and niche that only a handfull play it, how do you draw a audience to it? Were I adventurous enough I could make the scripting system take into account simple elements of CPP and then advertise it as a slightly fun learning tool. We all know everyone loves edutainment software.

[Edited by - -JetSirus- on July 6, 2006 5:00:40 PM]

Share this post


Link to post
Share on other sites
I didn't take the time to read it, but in skimming I got the gist of what you are looking to do. I would think that a full-screen custom GUI is a better way to go, because you can do two things with it:
- Customize it for your own hacking interfaces
- Give it a theme that fits the style of your game

I also want to point out that a hacking game can be fun, or retardedly frustrating, depending on the quality of its UI. My first game at DigiPen was a hacking game Link if interested, and while it wasn't all that good, part of the goal was to create an interface where a regular Joe could feel like they were part of a larger conspiracy (it was fairly story-based).

I did this through the use of fake emails and message boards, something that people are used to, and then simplified mini-game versions of the more complex stuff (such as cracking databases or hacking security systems).

This doesn't mean the whole game has to be dumbed down, though. Who says there has to be a single linear goal? The ultimate players should be able to discover secrets hidden so well that they have to be a hacker to get it. One way is by hacking the game .exe itself they can get codes that will let them access secrets in the game. Add one of these and it will be an easter egg. Add 5 and the fans will share the knowledge in a day. Add 20 ultimate puzzles of varying difficulties? Even after they've all been found, the players will still hunt thinking that there is more. You see the same effect with the music of The Beatles, a few hidden meanings got blown into full thesis-sized essays of the hidden intricacies of their music...

Ok, done with craziness, back to workiness.

Share this post


Link to post
Share on other sites
I would go with the full screen thing. Having complete control over the players environment and ease of implimentation will probably be bigger pros than the slight boost to immersion the player gets from playing the game from his desktop.
They already know they're playing a game, after all.

An idea from the Greg Egan novel Permutation City: You brought up some problems you were having with upgrading the player's pc when it was obvious that they weren't physically upgrading it. Instead of upgrading their own pc, they could purchase computing power from remote cpu's, offloading the processing to other computers. Or, hack into other peoples computers and steal their computing power, like how modern hackers use other peoples pcs as hubs to send spam from.

For the game to be fun, you will have to have fun missions. Looking at your randomly generated missions, you've got a nice range of ideas there, but they're all pretty generic. None of them will make the player excited to carry them out.
Look at GTA's missions. It would have been easy for them to have just find, kill, and collect type missions. Instead they made things interesting with a wide variety of missions: Blow up a building with a remote control chopper, take secret photos of the mayor with a pornstar, sell drugs from an icecream van, etc.
Think of all the FUN things a hacker could do, all the mischief they could cause.

A few ideas off the top of my head: Turn off the presidents autocue during an important speech and watch him flounder, assasinate someone by turing off a hospitals electricity during their operation, direct a plane full of fugitives to land at a military base, etc.
Having said that, I'm only basing my comments on the missionas you put forward for your random missions. I'm sure you have some exciting storyline missions up your sleeve.

[Edited by - CIJolly on July 6, 2006 7:05:05 PM]

Share this post


Link to post
Share on other sites
I'd go with complete realism. Having the Windows GUI would certainly add to realism. How about looking at the Vista Beta and make a GUI similar to that? That would also be original. Perhaps you should use a sort of "forum" for recieving new projects etc. and an eBay/NewEgg site clone for purchasing items?

Good luck with your project, sounds quite interesting!

Regards,

Share this post


Link to post
Share on other sites
Quote:
Original post by JBourrie
This doesn't mean the whole game has to be dumbed down, though. Who says there has to be a single linear goal? The ultimate players should be able to discover secrets hidden so well that they have to be a hacker to get it. One way is by hacking the game .exe itself they can get codes that will let them access secrets in the game. Add one of these and it will be an easter egg. Add 5 and the fans will share the knowledge in a day. Add 20 ultimate puzzles of varying difficulties? Even after they've all been found, the players will still hunt thinking that there is more. You see the same effect with the music of The Beatles, a few hidden meanings got blown into full thesis-sized essays of the hidden intricacies of their music...

That puts a smile on my face. It's a really good idea, and one I defiantly plan to add if time permits.

Extreme Difficulty Hacking Puzzles
Concept by JBourrie
These situations and puzzles are so difficult that the player may need to employ real world techniques on the game itself to uncover them. An example could go as follows.
  1. Player edits game .ini file to enable console output while program is loading.
  2. Player notices that every time the program loads a message in the console out points to a restricted area of memory.
  3. Once the game loads the player uses a memory scanning tool to reveal the information listed in the memory address.
  4. Contents include a number value of 1337.
  5. Looking through the database files the player notices that one is enumerated and indeed goes to 1337.
  6. That line points to a text file stored in hex that has a IP, username and password.
These types of things could be simply a easter egg or lead to some piece of in-game software that give the player an edge.

The section above will be added to the main sketch when I feel I have compiled enough new information to warrant a redraw.
Quote:
Original post by CIJolly
I would go with the full screen thing. Having complete control over the players environment and ease of implimentation will probably be bigger pros than the slight boost to immersion the player gets from playing the game from his desktop.

That is my thoughts as well. While using the other system has benifits it will harder to implement elegantly.
Quote:
Original post by CIJolly
A few ideas off the top of my head: Turn off the presidents autocue during an important speech and watch him flounder, assasinate someone by turing off a hospitals electricity during their operation, direct a plane full of fugitives to land at a military base, etc.
Having said that, I'm only basing my comments on the missionas you put forward for your random missions. I'm sure you have some exciting storyline missions up your sleeve.

This almost made me spit coffee on the work computer. The thought of turning off the autocue is a great idea. I will add some of these to the random missions.
Quote:
Original post by D Shankar
I'd go with complete realism. Having the Windows GUI would certainly add to realism. How about looking at the Vista Beta and make a GUI similar to that? That would also be original. Perhaps you should use a sort of "forum" for recieving new projects etc. and an eBay/NewEgg site clone for purchasing items?

Good luck with your project, sounds quite interesting!

Regards,

This is an excellent point as well. I would be able to employ real websites and other various things that come together to form a whole game. It would also give it a sense of multiplayer.

Share this post


Link to post
Share on other sites
I just want to add another web hacking game that you might want to check out: www.slavehack.com

It's a simplier hacking game than uplink (I haven't played uplink, but the forum keeps mentioning it).

It's basically a massive multiplayer player-vs-player game. You go hack an NPC to get software (firewalls, anti-firewalls, virus scanners, viruses, warez, warez sharer, DDOS software, etc) and in that server, you can get a riddle (basically a puzzle) which points to the next NPC's IP address.

But connecting to a computer opens you up to an attack, because your IP address is logged into the computer. So you have to open the computer's log file and remove yourself from it.

If you happen to get another player's IP, you can upload viruses, warez sharer or a DDOS software to that player (called slave, in-game).

You earn money by installing viruses and warez sharer (or hacking bank accounts) which you use to buy hardware.

The main complaint against slavehack are the griefers which delete software on slaves. Most newbies stop playing when they lose all their software. Those who understand that its part of the game, continues and downloads all their software again.

Edit: added a description.

Share this post


Link to post
Share on other sites
I don't know much about hacking, but I know a lot about cryptography. If for instance you wanted to steal somebodies details from a bank website, you'd need to decrypt the information. Doing this in a realistic manner would be quite frankly boring; as it can take months. Furthermore a player would only be as good as his PC allows. So basically realism does not equal fun. Then again, do you really want your game like the movies: "Click here to decrypt", *clicks* "Decryption complete! Account details are...".

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!