[Peacenet] SSH hacking minigame idea. Is it good? How hard would it be to code?

Hey guys! Last night, we came up with a simple minigame for hacking an SSH service in our game. (Of course, it’s simulated.) I want the game to be more adventure/exploration and story-centric, so the focus isn’t on making hacking ultra-realistic like most hacking games. So…this is what we ended up coming up with.

Basically, when you try to hack an NPC (or player)'s SSH service to get remote access to their in-game system, you’ll have to send a network packet through a data tunnel. This packet has a payload on it that, when arriving at its destination, gets itself executed as code which opens up a reverse shell from the target NPC to you (effectively bypassing login/authentication).

Now…here’s the catch…transmission of your payload through the data tunnel is slow. Furthermore, there are security programs on the target sending packets that home in on yours, trying to bottleneck it and destroy it before it can reach the end.

There are also booster packets that you can collect on the way which will speed up your overall transmisssion speed and restore your packet’s strength.

If the target system has an antivirus program installed, or a firewall enabled, they may also try to block your payload from getting through. The firewall would place a literal wall in the way of the packet and only let it through if you can solve a puzzle in a specified amount of time. An antivirus will send packets that will try to get into yours and destroy it from the inside out…sorta like how a (biological, not computer) virus in real life infects a cell from the inside out and then turns it into a virus production cell.

My questions are…

  1. Would anyone…play that as a minigame?
  2. How hard would it be to code? Making it a 2D sidescroller would be easy, but, I’d like to make it a 3D minigame.

Honestly, I don’t know. I suggest the following:

  1. Draw up a pen and paper prototype. Cut out little pieces from cardboard… or use pennies and your imagination brush. The bottom line is, get something to put in front of people and get them to try it. I don’t know what your team is like, but if you guys are co-located, try it out yourselves. See how it feels. If it feels good, pester your friends/family to try it, see what they think. Obviously consider your game’s target audience :smiley: Typically spend no more than a day or two on creating this… a couple of hours is probably better but hey, I’ve been known to get carried away with my pen and paper prototypes!

  2. If you’re vibing on the above, and especially if other people are vibing on it, hack together a demo to see how it plays in reality. If 3D is hard to achieve, go with 2D to start… just put something together as a proof of concept. Coding standards need not apply! Again, try this yourselves, pester your friends, but now you can also post the demo in places like here. Give them a bit of context but get any and all feedback you can. Then, if you feel the concept is working out, now you have an answer to question 1 above :smiley: Generally spend no more than a week creating this… though a day or two is probably more practical. Whatever you can accomplish in a short amount of time to demonstrate the concept. But for the love of all that is holy, throw this prototype away when you’re done. Your future, maintenance self will thank you.

The nice thing about this approach is that you can get that feedback early and bail at any time. Nothing sucks more than implementing something and having people not like it, or having to make a change that you could have caught much earlier on that is now kinda difficult to achieve.

For the second question… again, prototype. I don’t quite get your concept but I’m not really in with the lingo. Spend some time messing around to make a 3D demo. That’ll tell you roughly how challenging it’s going to be, but also whether or not you like how it plays out as 3D.

Anyway, good luck!

Haha, based on another post you made, which I read immediately after I posted this, I suspect you knew all these things. But hey, it’s nice to have validation…? :smiley:

It also occurs to me that this sounds similar (ish?) to a minigame in Deus Ex: Human Revolution. Here’s the first video I found when I googled it: https://www.youtube.com/watch?v=WP_l7kNrDtA

If it helps, this was moderately engaging to play as a minigame, though I didn’t spend much time on the game as a whole since I decided it wasn’t my cup of tea. Not because of the minigame… but because my playstyle for the game made it a super tedious grind that wasn’t interesting. And I didn’t wanna change…

Heh. Would probably end up skipping the pen-and-paper part simply because…blindness. Programming is the thing I do in life BECAUSE I can’t do that other stuff. Maybe I’ll MacGyver up an actual playable demo though. :stuck_out_tongue:

1 Like