Search Unity

H.A.C.K. - A hacking simulation game where information is power

Discussion in 'Works In Progress - Archive' started by jfarias, Oct 4, 2014.

  1. jfarias

    jfarias

    Joined:
    Apr 8, 2014
    Posts:
    53
    Hi everyone!

    I recently started development on H.A.C.K. and I want to share my progress with you, so I'll be posting small updates as features get implemented and bigger updates at least every weekend.

    I'm taking advantage of the new GUI and, after getting the grasp of it, it's becoming increasingly easy to do what I want in a small amount of time. Kudos to Unity's development team!

    Set in a futuristic world, the player finds himself drawn into the hacking scene. He'll learn how to find and exploit vulnerabilities in computer systems, how to create virus, worms and backdoors, and, ultimately, how to control the world.

    Some screenshots:





    Every sunday I get into more details on my journal. If you're interested in knowing more about this, check it out. I'll leave here quick links to those bigger updates for easy access:

    H.A.C.K. - Week 1
    H.A.C.K. - Week 2
    H.A.C.K. - Week 3 (video)
    H.A.C.K. - Week 4

    For quick updates as things happen you can follow me on twitter @HACK_theGame
    You can also follow me (the developer) @j_farias

    Feel free to ask some questions and leave some feedback. If you'd like to know how I did something in Unity, I'll be happy to tell you.
     
    Last edited: Oct 26, 2014
    CubeXYZ, Ocid and Eric2241 like this.
  2. AgentParsec

    AgentParsec

    Joined:
    May 5, 2012
    Posts:
    403
    Someone hacked your images. :eek:
     
  3. jfarias

    jfarias

    Joined:
    Apr 8, 2014
    Posts:
    53
    Oh no!! Those bastards!! :D

    Sorry about that. They should be back online now. :)
     
  4. randomperson42

    randomperson42

    Joined:
    Jun 29, 2013
    Posts:
    974
    Interesting concept, I'm curious about more details.
     
  5. jfarias

    jfarias

    Joined:
    Apr 8, 2014
    Posts:
    53
    Thanks. :)

    In case you missed it, I've posted about the features I implemented this week on my journal with some details on how they are going to work.
     
  6. Sykoo

    Sykoo

    Joined:
    Jul 25, 2014
    Posts:
    1,394
    This looks to be super-fun! It was an idea I had before to make a game about this, but I begun on something else instead. I'll follow this closely as it looks pretty awesome! :)

    Just a quick question.
    Do you display your text's and GUI in general with script(s) or do you just use the gameobject adder? :)
     
  7. jfarias

    jfarias

    Joined:
    Apr 8, 2014
    Posts:
    53
    Thanks. :)

    I'm not sure I understand what you mean by "gameobject adder", but I'll try to answer it.

    All the static content is made in the editor and is disabled at the start of the game, except for the two main panels. For the dynamic objects, i. e., the icons on the file system or the list of servers, I have prefabs that I instatiate from the scripts.

    I also use scripts to alternate between panels. The method I use to do that depends on whether they need to stay active (their scripts need to continue running) even when not visible, e. g., the password breaker needs to keep running even if you decide to look at something else while it does its work. So, if they need to stay active I use a CanvasGroup and set its "Block raycasts" parameter to false and its alpha to 0. I do the opposite to turn them back on. I also use the CanvasGroup if I need to make them non interactable but still visible. For the panels that don't need to stay active, I simply use their SetActive method.

    I'm not sure I answered your question. Is this what you wanted to know?
     
  8. Sykoo

    Sykoo

    Joined:
    Jul 25, 2014
    Posts:
    1,394
    That is exactly what I meant, I am sorry for my poor english ^^
    Very nice game, as I told before too. Good luck on it!
     
  9. jfarias

    jfarias

    Joined:
    Apr 8, 2014
    Posts:
    53
    Glad I could answer. Thank you again!
     
    Sykoo likes this.
  10. JamesLeeNZ

    JamesLeeNZ

    Joined:
    Nov 15, 2011
    Posts:
    5,616
    looks like it would be good to use in movies when they show some 'hacking'
     
  11. jfarias

    jfarias

    Joined:
    Apr 8, 2014
    Posts:
    53
    And although it's hugely oversimplified, it will probably be more accurate than any movie I've seen. :D
     
    randomperson42 likes this.
  12. MetalSutton

    MetalSutton

    Joined:
    Sep 22, 2014
    Posts:
    26
    Hey there. I was just browsing the forums and i noticed your development on your game H.A.C.K.

    I am sort of new to unity and making something similar where my game doesn't have a central game character or levels, but it does heavily rely on a user interface with lists, buttons, windowID's etc. all sorts.

    So i was wondering if you have a chance to chat to me about some of the stuff you implemented and how you did it. Was there a base asset you started work with? Im eagerly interested to know as I my utility may become quite complex and i want to make sure i am using the right methods first.

    Cheers.
     
  13. N1warhead

    N1warhead

    Joined:
    Mar 12, 2014
    Posts:
    3,884
    I've always loved Hacker Games!

    Check out Uplink, they may give you some ideas on stuff to put in your game.
    Uplink is by-far my favorite hacker game so far.
     
  14. jfarias

    jfarias

    Joined:
    Apr 8, 2014
    Posts:
    53
    Hi MetalSutton! I don't have any extra assets. I'm just using the new GUI from 4.6 and as of yet, I had no need for anything else. If I'm using the right methods, I'll probably never know. I just make sure they're good enough. ;)
    Feel free to send me a pm with your skype or something like that. I'll be happy to chat with you.

    Uplink is what inspired me to do this game! :)
     
  15. N1warhead

    N1warhead

    Joined:
    Mar 12, 2014
    Posts:
    3,884

    bwa haha, yeah, best game like EVER for any hacker kind of game, breaking into bank accounts, changing social security numbers, changing Education records, etc.

    Hahaha I remember back when I was in Highschool, I'd run it on my Laptop and people really thought I was doing stuff hahaah.
     
  16. jfarias

    jfarias

    Joined:
    Apr 8, 2014
    Posts:
    53
    You'll be able to do that and much more in H.A.C.K. but, hopefully, it won't be so easy. I want to make it a bit more challenging.

    And, when you get to play it, please let me know if you fooled anyone into thinking you're hacking banks and stuff! :D
     
  17. N1warhead

    N1warhead

    Joined:
    Mar 12, 2014
    Posts:
    3,884
    Sweet, can't wait!
    Haha, if I start school at SCAD next semester I'll see what I can do lol.

    Was gonna go to San Francisco Academy of Arts University this semester, but changed my mind, rather go to SCAD as it is right down the street and more prestigious than San Fran.

    So if I start there, best believe I will! lol.
     
    jfarias likes this.
  18. jfarias

    jfarias

    Joined:
    Apr 8, 2014
    Posts:
    53
    Small Update

    I just finished the implementation of the first vulnerability, the Path Traversal. You can exploit this flaw to open or download files from the system. There's only one drawback, you are technically blind.
    You need the exact path and name of the file to be able to retrieve it. This is still very useful to get default system files that may contain important data. For example: if you're tracing a connection you only want to take a look at the logs file. You can just do as in the screenshot, get the information you need and leave. Apart from connecting and disconnecting, no other actions will be logged.



    Vulnerabilities are constantly being found and fixed so you'll have to adapt your attack depending on what vulnerabilities are available to exploit. This will hopefully make for a more diversified gameplay.

    What do you think about this new feature?
     
  19. N1warhead

    N1warhead

    Joined:
    Mar 12, 2014
    Posts:
    3,884
    I like that, looks really good bro..

    Haha do I see some Uplink looking Icons on here? And you got the speed settings as well on the bottom right, I'm liking this more and more :)

    Keep at it bro, it seems as if this game will be done in no time sense you have apparently figured out how to piece things together :)
     
  20. N1warhead

    N1warhead

    Joined:
    Mar 12, 2014
    Posts:
    3,884

    As well, hope you have an OST like Uplink.
     
  21. jfarias

    jfarias

    Joined:
    Apr 8, 2014
    Posts:
    53
    Thanks! :)

    I also implemented another vulnerability late last night (you can check it on my twitter) and the firewall this morning. I'll be posting a new small update later today or tomorrow morning.
    I implemented the time like that because it was great on Uplink but I'm starting to doubt if I want to keep it that way in H.A.C.K. I'm thinking about making it go faster when not connected to any computer and automatically turn real-time when you connect. I'll see how it fits in when I have more components of the game working.

    About the OST, I know how important it is for a game like this and I'll definitely be asking for help on that subject when the time comes.
     
  22. N1warhead

    N1warhead

    Joined:
    Mar 12, 2014
    Posts:
    3,884
    I'm getting better at making music, I went and purchased a 500 dollar Keyboard out of the blue because I got tired of using my Keyboard on PC LOL.

    I'm in no way whatsoever an expert, but I'm getting better at creating Ambient like music. (Music that makes you feel like ur really somewhere) or like if someone died, a sad melody, that kind of stuff.

    But maybe when i get better at making music I MIGHT can help you, can't promise anything though.

    Do I have to have a twitter to check it out? Because I am not a fan of twitter, never seen a point of it lol.
     
  23. N1warhead

    N1warhead

    Joined:
    Mar 12, 2014
    Posts:
    3,884
    One thing you could do, not sure if you know much about hacking in real life. (Not gonna get into details on here)

    But you could actually make it seem real as well,
    such as pinging for connecting signals
    or overloading a ping connecting with massive bytes and fry computer lol.
    E.G. - ping xxx.xxx.xxx.xxx -n 1200 -l 2000
    That would bring more realisim to the game as well, something Uplink did lack was the basics of this kind of stuff.
    x - represents I.P. address.


    (mods I'm not talking about real hacking in here) I'm only saying this to help with his game.
     
  24. jfarias

    jfarias

    Joined:
    Apr 8, 2014
    Posts:
    53
    This is something I've put a lot of thought into and have decided to avoid for a couple of reasons:

    1 - This game doesn't target only tech savvy people. I want anyone to be able to play it without the need of a background on how a computer works. I understand that for people that know how it works it can be a little frustating that you only need to press a button to do something that would require days of work to do (just an example), but for everyone else it becomes amazing to be able to do all those things. And it's much easier for someone to abstract themselves than to learn a whole new subject in order to have some fun.

    2 - Most real-life techniques used by hackers couldn't possibly be made into a game, one that is fun that is. I'm not talking about script-kids - that's what they call people that use pre-made tools, I'm talking about people that spend days reading trough code to find bugs and then spend even more time trying to find a way to exploit them. And that wouldn't be fun at all. So, I decided that I would rather have consistency than having some stuff that looks real and some other stuff that doesn't even resemble hacking. I will try to have some amount of fidelity though.

    Regarding the ping stuff, I may add a port scanner in the future but I still haven't decided if I want to. :p There's already a way to fry a computer that I'll talk about later. But it surely won't be the only one.

    Thanks for all your feedback and ideas N1warhead, I really appreciate it.

    PS: AFAIK, you can see public tweets without having an account.
     
    randomperson42 likes this.
  25. LucasMars

    LucasMars

    Joined:
    May 30, 2013
    Posts:
    13
    This looks awesome! Has an Uplink type vibe to the game (that is a good thing). Love the clean style graphics!

    Quite impressed with everything in this game!

    Are you going to release this game on consoles/PCs? If so, how much would it cost and what consoles. This is definitely a game I will look out for, and buy it on day of release!

    Amazing work! I wish you the best of luck with this game!
     
  26. N1warhead

    N1warhead

    Joined:
    Mar 12, 2014
    Posts:
    3,884

    Yeah I completely understand bro lol..
    Maybe it can be an expansion pack if the game really picks up :)

    or an Expert mode, that way you can arouse all crowds :).
     
  27. jfarias

    jfarias

    Joined:
    Apr 8, 2014
    Posts:
    53
    Thanks LucasMars! :)

    This game will be released on Windows, Linux and Mac OS. It's waaaay too early to even think about prices, though.

    That's not actually a bad idea. Certainly post-launch though. But I'm afraid I would have to change so much that it would be like making a new game from scratch.
     
    LucasMars likes this.
  28. N1warhead

    N1warhead

    Joined:
    Mar 12, 2014
    Posts:
    3,884
    I didn't say you had to do it lol.... But if you think about it, actual realistic like hacking in a game hasn't even been done whatsoevver. I mean yeah keep it fake so it's still fun. Something that would take months to do make it take 2 minutes, but just having the concept of actually breaking into stuff and hiding keyloggers in pictures, etc.

    It would just get a group of real hackers to want to try the game, and that's a niche that hasn't been tapped yet.
    I enjoyed Uplink, every bit of it, I still love it to this day. It is fun for what it was, but to be honest, it was a short game lol.
    I beat it on a 5 hour road trip lol.
     
  29. jfarias

    jfarias

    Joined:
    Apr 8, 2014
    Posts:
    53
    Small Update



    This is the Buffer Overflow vulnerability. This is a bug in the code that allows data to be put outside of the program's memory and will usually lead to a crash. For now it's a simple method of a short time DoS attack, where the server will crash, go offline for a period of time (depending on how important is the server) and come back online. However, the most experienced hackers will be able to take advantage of this vulnerability to input code in the server's memory and be able to run it, leading to a much more powerful attack.

    I also implemented a firewall system but I'm not happy with it so I won't be showing it to you just yet. I need to rethink how I'm going to address it, so it'll be on second plan for a while.

    Yesterday I tried to port the game to the beta 20 but it is too unstable for me (even on new empty projects), so I went back to the beta 19 and I'll be waiting for the next beta to see if it's better or if it's really something to do with my project or configurations. The beta 20 had some fixes that I wanted but I can do without them for a while.

    I'm now working on another vulnerability that I'm very excited about and I hope I can bring it to you soon.
     
  30. LightSource

    LightSource

    Joined:
    Sep 29, 2012
    Posts:
    249
    I like where this is going.
     
    jfarias and randomperson42 like this.
  31. garza

    garza

    Joined:
    Dec 18, 2013
    Posts:
    30
  32. jfarias

    jfarias

    Joined:
    Apr 8, 2014
    Posts:
    53
  33. Zybox-Gaming

    Zybox-Gaming

    Joined:
    Oct 1, 2012
    Posts:
    111
    I really like the design of it, I have never explored the hacking world but this looks epic.
     
  34. jfarias

    jfarias

    Joined:
    Apr 8, 2014
    Posts:
    53
    Thanks! :)
    And welcome to the hacking world! :D


    Small Update

    Very very small update. I'll just leave here two screenshots from recent developments. This first one is the code injection vulnerability which I'm very excited about. It let's you run custom code on the server. I'll talk about it in depth on sunday's big update.


    And this one is the interface to edit logs. You can see some of the possibilities in the drop down. There are already 13 different logs implemented and many more are still to come.


    Hope you liked it!
     
  35. Micha-Stettler

    Micha-Stettler

    Joined:
    Jun 11, 2009
    Posts:
    167
    Looks very cool! I like the simple UI.
     
  36. jfarias

    jfarias

    Joined:
    Apr 8, 2014
    Posts:
    53
    Thanks! :)
     
  37. garza

    garza

    Joined:
    Dec 18, 2013
    Posts:
    30
    No Problem i just saw the word hack, and i thought i should mention it.
    --by the way...you can change the font and still have the animation. :)
     
    jfarias likes this.
  38. jfarias

    jfarias

    Joined:
    Apr 8, 2014
    Posts:
    53
    Big Update

    I just posted a new update on my journal. I created a video to showcase the first 3 weeks of development that I'll leave here but be sure to check out this post for a description of the new features and how they work.



    What do you think? Am I on the right track?
     
  39. LightSource

    LightSource

    Joined:
    Sep 29, 2012
    Posts:
    249
    Yes.
     
    randomperson42 and jfarias like this.
  40. randomperson42

    randomperson42

    Joined:
    Jun 29, 2013
    Posts:
    974
    I'm curious if there will be more to the gameplay than hacking. What is the player's ultimate goal?

    What will this look like? Will there be a story?
     
  41. jfarias

    jfarias

    Joined:
    Apr 8, 2014
    Posts:
    53
    The goal of the player is to control the world and become its most feared hacker. How he does that is actually a very good question.
    I still haven't checked all the boxes on that matter, so it's still very much open for changes. This is why I haven't talked much about it but I can give some thoughts on how I'm envisioning it.

    The weakest part of any computer system is the user. Humans can be bribed, fooled and controlled by fear. You'll be able to find confidential and personal files with which to threaten their owners, or you can find that someone has children and you can order social security to take them away. There'll be plenty of ways to control anyone and by having people with professions in the most varied areas, such as policemen, bankers and politicians, you'll be able to control who's arrested and who's not, what taxes to impose on loaners and what laws to approve on governments, for example.

    These are only some possibilities of a system that could get too complex too fast. That's why I want to thread lightly. I believe it can be amazing if done right, but it can also be a game breaker if it's rushed.

    What do you think?
     
    randomperson42 likes this.
  42. randomperson42

    randomperson42

    Joined:
    Jun 29, 2013
    Posts:
    974
    Sounds good. My thinking is that a game could get pretty boring if you're only looking at the same "computer" kind of UI all the time. Maybe you could add some kind of visuals that give you a big picture of what's going on.

    Also, what about AI personalities? In other words, different people are more or less difficult to bribe/blackmail based on their personality/ethics/background.
     
  43. Savvon

    Savvon

    Joined:
    Mar 29, 2014
    Posts:
    18
    Looking great so far.

    What would be cool is if you could contact people via email and extort money from them after you hacked whatever information (pictures, love letters). If you had a news reader (RSS feed) at the top/bottom of the interface to read updates that would include who got arrested, leads to potential targets, things of this nature, would add a realistic element to the game.

    Maybe you can 'run across' a hackers bulletin board where people 'in the know' go to hire hackers? This would give you goals.

    Games like these are fun. I would play it on my ipad. ;)
     
    randomperson42 likes this.
  44. jfarias

    jfarias

    Joined:
    Apr 8, 2014
    Posts:
    53
    How do you imagine those visuals would be?

    Yes, that is a must. Otherwise they would just feel like robots.


    Thanks! :)

    Yes, you can definetely extort people and companies.
    As an example, you can extort a company threatening of sending critical information to their rivals and simultaneously sell that information to their rivals.
    I want to give you the freedom to do whatever you want with the information you gathered.

    You can notice on the screenshots that there is some unused space at the top. That's where news will be rolling.
    I hadn't think of configuring what news you want to see in there, like an RSS feed. That's a great idea. Thanks!

    There will be something like that, yes. That's basically how it's done in Uplink but there will be some changes.
    For one, you're the service provider, so people will come to you to get something done. It's you that decide the price and your client will then decide if he still wants it done or not. Of course, you can't just ask for "bazzillions" of dollars and expect them to pay. There will be a negotiation process.

    I recently tried it on a tablet and it works really nicely with the touch input so I may add that to the list of platforms for release.
     
    Savvon likes this.
  45. randomperson42

    randomperson42

    Joined:
    Jun 29, 2013
    Posts:
    974
    I don't know, maybe you could show maps of what areas/people/organizations you control...?
     
  46. jfarias

    jfarias

    Joined:
    Apr 8, 2014
    Posts:
    53
    I think that that would still feel like it's part of the computer UI.
    But I'll think about it. Whatever makes it a less monotonous experience is a good thing.
     
    randomperson42 likes this.
  47. jfarias

    jfarias

    Joined:
    Apr 8, 2014
    Posts:
    53
    Small Update

    It's been a while since my last update. Last week I barely had time to look at the game so I didn't even post the usual sunday's big update.

    I don't have screenshots today because all the work I've done was on code.
    Yesterday I started working on having people and companies in-game. This requires a solid structure behind it so that everything fits perfectly. I won't have a predefined database for each game. Everything will be generated when you start a new game so I have to make sure that I can easily create believable and fully working entities.

    Today the new beta (21) came out and I decided I should update the project since I had already skipped the beta 20. It went much better than with the b20 but it still broke some features that were working before. Among others, the event system is, for some crazy reason, trying to update game objects that I've destroyed, crashing with a MissingReferenceException. Still, I'll stick with this version since it'll probably be much easier to update to future versions if I don't have a big gap between them.

    That's all for today. I expect to come back with a few screenshots in the next couple days.

    Thanks for reading. :)
     
  48. jfarias

    jfarias

    Joined:
    Apr 8, 2014
    Posts:
    53
    Weekly Update

    I just posted a new weekly update on my journal. You can find it here.
    Again, most of the development was on code so there's not much to see. I'll leave here the only screenshot I have for you but keep in mind that these panels are not functional and are only a prototype. They might - and probably will - change.



    I still have a couple of days of coding in front of me before getting back to the interface. I'll be back with more screenshots as soon as I have them.