Hacking Rework

I don’t like the current implementation of hacking, to be honest. It certainly serves its purpose. However, it’s rather simple too simplistic for my taste, acting as a sort of one-time minigame, which carries no risk and has extremely minimal complexity if one has the appropriate tools.
I envision a couple potential major overhauls.

The first would involve interacting with wires more along the lines of what the Integrated Electronics module accomplishes (I do realize that my obsession with the IE module is now bordering on creepy). One would open the hacking menu as usual, and contained within would be unlabeled components, connected with wires of various colors. Hacking would instead be accomplished by rewiring one component to another, or cutting a connection between components. One can discern the function of a component by what other components it is connected two (number of wires leading in and out). Each machine/device/whatever type would have a different component layout, with particular wire colors that would shift from round to round. One would maintain Assembly module integration by allowing one to insert a signaller into the “assembly” that is the machine, and wiring it to components. This approach is entirely similar to what we already have, but would require more interaction with the system to achieve the desired result, instead of a single click with a tool in hand.

The second would involve shifting the required “minigame” to more closely resemble a software approach, rather than a hardware one. A tool would be created, and when it is used on an open machine, a menu would appear. The menu would be an abstraction of the logic of the machine, laid out in terms of “instructions”. By clicking and dragging, one could introduce new “instructions” into the machine’s logic, or change the order of existing “instructions”. One could potentially save a desired “instruction set” to some kind of disk. Available “instructions” would be generated based on the particular machine type (or, if modularity were a goal as well, based on the components which compose a machine). This would resolve hacking in a similar time frame as it currently stands, after the desired “instruction set” is generated. However, it would require a higher initial time investment, and higher degree of technical expertise.

Is this is even an issue to begin with? Any other thoughts on how hacking could be improved, if it even needs to be? Particular thoughts on the above notions?

2 Likes

it doesn’t need to be improved because it gives me all access

11 Likes

Mmm. Yes, the principle question of the first proposed system is one of time. Should hacking remain a quick, simple affair - or does it deserve the complexity that other game systems enjoy? I think it does. The overarching question of this thread is: “How could we increase the depth of hacking mechanics?”

1 Like

if I can get gamer gear it’s fine in its current state

3 Likes

The thing is: integrated electronics are an extremely niche mechanic and making them a part of something as mundane as hacking would make for not only lots of coding, but it would also scare people off big time. It does sound cool but its a lot better to just accept the old simple system for now, since people are fine with it.
Edit: if someone WANTS to code this they absolutely can and should, but i think this system should only be in place for high risk places, like sm chamber, command and sec. The rest of the station should stay babyproof

1 Like

Oh, I wasn’t saying to just make hacking entirely IE - as fun as that would be. It’d probably be way too server intensive. I was suggesting something like it, in that one would wire and unwire various components. There would be no adding or removing components. That particular suggested rework would increase depth, while endeavoring to maintain simplicity. The essential difference is a few additional clicks.

no, thats my all acces

1 Like

You’ll still have your all access. It’ll just take a few extra seconds to hack things, and make the whole affair less smooth-brained. Instead of learning what pulsed wires do what thing, and display what output - you’d need to learn how many wires each component has, relative to the number of wires that components it is connected to has. Deductive thinking, like. It takes some of the RNG guesswork out of the system, while fostering expertise and maintaining similar difficulty.
I kinda ran away with the second suggested system. As soon as I finished typing, I was intrigued by how it could be expanded to reintroduce the Scripting module in such a way that it couldn’t be abused. Really, really would like feedback there as well. I suppose we’ll use this thread to discuss the first suggested change to the system, since that second one is a horse of a different color.
Any serious thoughts about hacking, though?

EDIT:
Example of how that first suggestion would work.

  • I open the machine with a screwdriver, and tap it with whatever tool to open the hacking menu
  • The menu displays a list of internal components. They are labelled randomly, but that label sticks to all machines of the same type for the round. After each component, there is a list of wires which connect it to other components
  • I look at each component, and see that component X has three wires leading out of it. I know that only the “Safety” component has three wires leading out of it.
  • I unwire the “Safety” component from all other components, removing all “Safety” features. This would take three clicks (or, potentially one - if an “unwire all” GUI option was implemented).
  • Utilizing the same logic as how I found the “Safety” component, I identify other components. If the machine is particularly complex, a small amount of experimentation might be required.
  • When components have been identified, I can more selectively choose what features are enabled and disabled.
1 Like

No, we dont need more complexity in specs game

Yes, that’s the primary question, I suppose. I don’t know though, don’t we? Botany, Reagents, Surgery, Xenobiology - the list goes on and on. Every single one of those has incredible depth. Note that I did a poor job of distinguishing depth and complexity. The idea is to maintain a similar level of complexity, while increasing depth.
Mechanically, this suggestion removes a degree of RNG, and is almost identical to what currently exists for hacking. The only difference is that one would need to learn the number of wires for components, instead of what output is displayed when a wire is pulsed. Also, a couple more clicks to do what you need to do.
In terms of increasing depth, this system would leave a lot more room for coders to implement different features, in deciding what happens when certain components are wired/unwired.

EDIT: tl;dr - the general thrust is to replace RNG with expertise.

1 Like

I don’t want to enjoy hacking doors ngl

2 Likes

Another contributing factor to this suggestion is adding another system for Engineers to interact with. As it stands, they set up the engine (sometimes), and stick their thumbs up their ass until a meteor hits or something explodes.

I don’t like to have fun

u wot m8

EDIT: Yes, I am getting the general impression from people that it’d be a poor idea, though the only reasoning I’ve heard is because it’s a little more complex. If that’s the case - why not just remove/simplify hacking even further?
Replace it with a menu that has a number of options, where you can select what behavior you want to change. RNG chance to actually change the option, but only for the first time you try to change that particular option. Just spam clicks until it works. If you didn’t catch it, that’s exactly how hacking currently works.

Hacking doors is a tool of illegal access, not a mechanic to enjoy. The “fun” is the gamble you take when you try to figure out the wires due to the simple fact that shocking yourself or being sighted hacking by sec is a huge pain in the ass. Your reward is access to places you shouldnt have. The current system is definetly fine and this issue is not to take priority.
HOWEVER i do like the idea of this minigame being turned into an actually engaging experience, its just that untill we can find the TOTALLY awesome cool based and redpilled solution it is not worth bothering with. Unless you consider current hacking too easy and giving too much leeway to antags, which might be true. Id like for more traitors to gamble emp the doors and then try to crowbar it instead of smoothbrain it open. Would make the emag take up valuable credits from unskilled traitors. All positives, and yet: you gotta code it and design it doe.
Edit: yeah now that i think about it hacking is a tad bit too easy. We need to make it more complex in order to make the other options viable. Even the emag is useless if you are quick with tools currently, so only emagging vendors and consoles is needed.

Hacking doors is a tool of illegal access, not a mechanic to enjoy. The “fun” is the gamble you take when you try to figure out the wires due to the simple fact that shocking yourself or being sighted hacking by sec is a huge pain in the ass. Your reward is access to places you shouldnt have

This is a fairly valid point, actually. Interesting. Hm. Well, if that’s the general intention - surely there are much better ways that could be emphasized? Any thoughts?

HOWEVER i do like the idea of this minigame being turned into an actually engaging experience, its just that untill we can find the TOTALLY awesome cool based and redpilled solution it is not worth bothering with

Implying my proposition isn’t based and redpilled >:^(
Seriously though - I had thought my first suggestion to be a rather elegant way to maintain a similar system, while encouraging expertise, and removing a level of RNG. Thoughts on that?

Unless you consider current hacking too easy and giving too much leeway to antags, which might be true.

I do. I also hate RNG mechanics. Expertise is vastly preferable.

Id like for more traitors to gamble emp the doors and then try to crowbar it instead of smoothbrain it open. Would make the emag take up valuable credits from unskilled traitors

As above, so below. Not a fan of RNG. Yes, I’m attempting to add depth to the system. It’s odd to me that something so central and widely used as hacking doesn’t enjoy the depth that many other game systems do.

All positives, and yet: you gotta code it and design it doe.

Yes, yes. When you code it, etc etc. That’s the inherent assumption with all suggestions.

1 Like

My real reason as to why i dont consider your solution based is i cannot envision how is your new proposition is in any way better than what we have. So you have modules right? And they are connected to other modules, with wires. Their names are random, but some things are not, like the wire quantity. How is that better? It certainly removes some rng alright, but the only thing that actually happened is you just made it easier to identify some specific module, whilst all of the “samy” modules still enjoy the fate of random clicking.
Until you, or anyone else for that matter, can nicely compile their idea with some visuals and summary of gameplay points (where is risk, difficulties, constant and rng elements, rewards, effects on object) its not going to go past a forum discussion. I might just start brainstorming this myself though.
Edit: tldr; make a tutorial to your theoretical hacking system and it will be based.

My real reason as to why i dont consider your solution based is i cannot envision how is your new proposition is in any way better than what we have. So you have modules right? And they are connected to other modules, with wires. Their names are random, but some things are not, like the wire quantity.

I will admit the idea is a little unrefined - which is why I made a forum topic instead of a github feature suggestion. It needs work. Generally that’s how it works, yes. The depth comes from learning wire counts, and deducing what does what based on both the wire count of one component, and the wire count of what it connects to.

It certainly removes some rng alright, but the only thing that actually happened is you just made it easier to identify some specific module, whilst all of the “samy” modules still enjoy the fate of random clicking.

Very true. Hm. Thanks for pointing out a flaw in the idea! I’ll think on it a minute.

Until you, or anyone else for that matter, can nicely compile their idea with some visuals and summary of gameplay points (where is risk, difficulties, constant and rng elements, rewards, effects on object) its not going to go past a forum discussion.

Again - as above, so below. Forum topic to hash out details, and to improve the concept - if someone has an idea that’s totally different from what I posted, I’d encourage them to post it up. The general idea of the thread is to discuss how hacking can be improved. It’s such a light, shallow system right now.

I might just start brainstorming this myself though.

Do it! Please!

tldr; make a tutorial to your theoretical hacking system and it will be based.

I did post an example of how it would work above. Did you see that? Thoughts?

But - continuing on with the line of reasoning you presented:

The “fun” is the gamble you take when you try to figure out the wires due to the simple fact that shocking yourself or being sighted hacking by sec is a huge pain in the ass. Your reward is access to places you shouldnt have.

This certainly requires some examination. I would posit that there is the same shock chance for changing up wires in my proposed system, scaled back in proportion to the number of additional clicks required. This preserves the sense of “danger” - while rewarding expertise with a lower shock chance if one knows what one is doing. In short - the less clicks you need to do, the lower the chance of being shocked. Additionally, the more you know, and the less you need to experiment - the faster you’ll be able to hack.

EDIT: To increase the difficulty of this system, perhaps there could be “dead wires” that are randomly added (or not) to every different instance of components inside of a machine. This would potentially throw off accurate wire counts, and require some kind of “probing” to determine which wires are “dead”. The number/chance of “dead wires” that crop up could be dialed in, to determine a precise level of additional difficulty. My initial inclination is that it’d be a rather small chance. Note that I specify an instance of a machine, instead of a type of a machine - so every different machine might or might not have “dead wires”.

randomize all door wires

1 Like

Less RNG, not more, please.

Honestly? I think that one big issue with hacking is that its highly universal. Even if we took the current system and made the wires unique per each department, it would already fix some of the issues we brought up.

  • hacking is now more risky and complex, requiring more memorisation, recon, and experimentation.
  • other alternatives are now very much viable in a pinch.
  • the traitor item emag which costs valuable tc is now usable as a door opener in a good way
    Edit: как же тяжело перед вами англичанами по нормальному болтать, кошмар вообще.
    Edit: that does add rng in a sense though

at least add the ‘chew’ option from goon so you can bite through wires, at massive damage to yourself

3 Likes