• Register
Post news Report RSS Robot Hacking

Introduction to the mechanics and interface for hacking robots, with additional information on cyberwarfare with programmers.

Posted by on

Many earlier posts have already covered hacking as it applies to various interactive machines, a feature that was implemented a year ago. Only now have we finally reached the tangentially related robot hacking mechanic.

Robot hacking was planned from the beginning, but it took this long to reach this point because it ideally should be handled after AI development (now mostly completed), which had to come after most robot designs were finished, which had to come after X, Y, Z, etc. So as it turns out robot hacking is one of the last major mechanics to be implemented.

"Major" in a development sense, though content-wise not necessarily so depending on how you play--keep in mind that if this part of the gameplay doesn't appeal to you, you can pretty much ignore it. Hacking other robots is intended as an optional method of dealing with threats, augmenting stealthy hacker builds by giving them an alternative to trading volleys in regular direct combat. Something-moved-blow-it-up tank-type robots are less likely to be carrying around the utilities that make hacking a viable strategy. On the other hand, hackers already using their utilities to manipulate machines can also rely on those same parts to help dispatch enemies.

Access

Initiating a hack is fairly straightforward, though more involved than just walking up to a robot and pressing a button.

First of all, you need to access the target's system, which is achieved via a new type of item called a "datajack." Datajacks are implemented as special weapons (require a weapon slot) which attempt to punch through the target's armor and connect to its local system.

cogmind_datajack
An example of a melee datajack.

Technically this doesn't have to be done point blank, because datajacks also come in remote varieties that can be fired at a target from range.

cogmind_datajack_remote
Info for one type of remote datajack.

Remote datajacks do have some drawbacks, though, being further from the target and therefore less likely to both hit and successfully penetrate. Using them also requires matter, which is a semi-finite resource.

Even if initial attempts to hack a target fail, successfully connecting with multiple datajacks will confer a bonus to subsequent hacks on that same target. This means if you have the resources and are really determined to hack something, you could also simultaneously fire a volley of datajacks that stick the target full, and then hack it ;)

Calculations

Once connected, while all you see as a player is the final chance to succeed at each type of hack, there are several factors contributing to that percentage.

First and most important is the difficulty of hacking a given class of robot. Enemies are classified as either easy, medium, or hard to hack--hacking a Recycler bot is quite easy, while not just anyone can hack a Programmer. In addition, more powerful hacks have yet a lower base chance of success.

As with machine hacking, the more you hack a certain system (in this case, differentiated by robot class) the more familiar you become with how it works, conferring an increasingly large bonus to future hacks. But the biggest contribution to hacking success comes from attack-oriented hacking utilities. Sticking a target with multiple datajacks increases your chances further.

UI and Effects

The main robot hacking interface borrows the same style as machine hacking, color-coding options based on their chance of success.

cogmind_hack_menu_comparison
A sample terminal hacking menu (top) vs. the common robot hacking menu (bottom).

In the lower image you can see the current list of possible options when hacking a robot. It's not nearly as extensive as machine hacking, which includes dozens of different targets, but this is a good starting point (I may add more while tweaking gameplay in the future):

  • PARSE: Scans the robot's system for useful internal details, including its current level of system corruption and a breakdown of hacking calculations and success rates. Experienced players probably won't use this feature much, but it is a good way to learn more about the game's mechanics.
  • LINK: Embeds a program that broadcasts data to Cogmind and all allies via the datajack, helping predict what the robot will do next. This confers bonuses to both hit% and damage.
  • REBOOT: Completely disables the robot for a certain duration (around 15~25 turns), long enough to either destroy it if there's nothing else to worry about, or run away to avoid the negative effects of combat. Rebooting a robot erases its short-term memory, so if you're out of sight when it starts up again it won't know where you went, or even that you were ever there.
  • OVERLOAD: Outright destroys the robot by overloading its core. Naturally this is more difficult than a simple reboot.
  • ASSIMILATE: The most difficult type of hack, which reprograms the robot to serve you. You'll be able to issue it general commands, as covered in an earlier post about ally orders.
  • MANUAL: Opens a separate console for text entry. More on that below.

Secondary Effects

Even if you fail a hack, for the more difficult ones there is still a chance of "partial success" in the form of secondary effects. These effects are not meant to be reliable, mostly existing for fluff purposes, or as a little reward for at least trying to hack something =p.

A failed REBOOT could still cost the target some turns as it quickly restarts some systems, or possibly somewhat corrupt its core. Failed OVERLOADs may reboot, damage, or corrupt the robot. Failed ASSIMILATIONs may overload and destroy the robot, or corrupt it. (In case you've forgotten what "corruption" refers to here, it's essentially an alternative way to kill a robot without necessarily doing much physical damage--it will be destroyed if system corruption reaches 100%. The drawback being you never quite know for sure how corrupted a particular robot is unless you PARSE it.)

Manual Hacking

The final hacking option opens a separate console in which you can type anything you want. It was originally introduced as a flexible way to enable specific plot-related elements (e.g. find X and hack it by typing Y for a unique result), though naturally it could and will be used as a part of interesting but less important encounters, and it's certainly an excellent opportunity for secrets ;D. In fact, as I see it most manual hacking will be of the secret variety--usage will be pretty infrequent and special. (While the mechanics have been added, there are currently no implemented effects, as those will come later during world design, so for now I can only speak to what I intend to do with the system.)

cogmind_robot_hack_manual
Really, anything.

Manual hacks don't have an associated percentage because they always succeed (assuming the text you enter is applicable), though you do have to make the connection first.

Now that we have this nice little console class available, I could use it for entering debugging commands, or even cheat codes! (or not)

cogmind_robot_hack_cheat
In case you're running low.

Programmers

You're not the only one hacking. Programmer class robots now live up to their name, sometimes attempting to shut down your friends, or reprogram their former allies. This makes them even more formidable than they already were, but I like the idea of enemies that are truly feared. Remember this is a roguelike at heart, not some mainstream RPG where you can generally expect to be able to confront and kill anything without any serious consequences.

Programmers also serve in a defensive capacity. If a visible ally within their protective range is the victim of a hacking attack, they will attempt to stop it.

The cool thing is, if you can manage to get some Programmers on your side, they're capable of carrying out both offensive and defensive hacks for you. They'll sometimes choose to reprogram robots to join you, or at least attempt to temporarily shut down hostile robots, while also shielding your other allies from enemy hacks.

Cogmind can also protect allies from hacks by attaching the same defensive hackware utilities used for machine hacking.

Post comment Comments
Orac|
Orac|

UI looking gorgeous as always. Systems sounding well thought out as always. I really really like the look of the datajacks.

What's the intended price point on Cogmind, and how will it be distributed? is there anywhere where I donate money or skills?

Reply Good karma Bad karma+5 votes
Kyzrati Author
Kyzrati

Thanks :D

My *next* game will be much more of a community effort, but for Cogmind it's mostly just me. The biggest way everyone can help now (and even more in the future when the game is available) is to spread the word in other communities you're active in! It'll be easier to do this once we have a killer trailer.

The retail base price will likely be $15, available first through the website, then later on Steam (and possibly other outlets).

In a few months on the website I'll be running a small-scale crowdfunding campaign for immediate early access (with other backer-only benefits), which will be a flat price somewhat higher than that (with one additional tier for T-shirts by adding only the cost of the shirt+shipping).

Reply Good karma+2 votes
Uogienė
Uogienė

Is it possible to Reboot a robot and while it is "sleeping" Overload it again and again until it is finished and can be salvaged for parts?

Reply Good karma Bad karma+1 vote
Uogienė
Uogienė

Is it possible to steal a robot's part while it is "sleeping"? ^^

Reply Good karma Bad karma+1 vote
Kyzrati Author
Kyzrati

While they're disabled you can shoot them as usual, but there is currently no special method by which you can remove parts for free when they're in that state. Of course, if you have a sword you can attempt to chop off all their parts while they're defenseless ;). So technically it is possible to take advantage of that situation to "steal" parts, if you've got the right equipment (there are other part-stealing components, but they're more specialized).

Reply Good karma+1 vote
Kyzrati Author
Kyzrati

Excellent question, so excellent I'd forgotten whether I actually took that into consideration ;).

On checking the source, I seem to have forgotten that case, so thanks for bringing it up! You shouldn't be able to connect to an offline system, so no. I can imagine changing that in the future for some interesting possibilities, though.

Reply Good karma+1 vote
Post a comment

Your comment will be anonymous unless you join the community. Or sign in with your social account: