Official development blog

Robot Hacking

(Update 180712: Robot hacking has been completely replaced by a much bigger system--you can find a summary here.)

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.

 

NOTE: Apparently Windows hates PNG wallpapers, so when the previous post was first published, the PNGs I provided looked great when viewed alone or in the browser, but were vastly reduced in quality when used as an actual wallpaper (kinda defeats the purpose). All wallpapers have now been converted to JPG to properly retain all that awesome (switching from a lossless to lossy format to improve quality is SO counterintuitive, but this is Windows…) Get the new ones here.

This entry was posted in Mechanics and tagged , , , , , , , . Bookmark the permalink. Trackbacks are closed, but you can post a comment.

4 Comments

  1. kripto
    Posted January 8, 2015 at 11:45 pm | Permalink

    Ah, the opposing mages ( or mage equivalents ) of Roguelikes. Your orc priests, your liches, your jerkbag demons. No game makes you hate and fear a foe as much as Roguelikes can, because if the bastard gets lucky he could potentially just kill your run then and there.

    I don’t recall you mentioning, but how will floor-to-floor transitions go? Would one be able to build up a rogue robot army that follows them down through floors? Maybe even get some serious hacking strength going and convert boss-types to their side?

    • Kyzrati
      Posted January 9, 2015 at 8:33 am | Permalink

      Yep, they’re mages you could say :).

      Programmers are a lot more common than the text might imply, and they’re not necessarily that deadly alone, but they will definitely ruin your day if you have a group of friends and aren’t prepared. Fortunately, like most other common enemies they are very unlikely to ruin a run alone.

      One thing about Cogmind vs. other roguelikes is it takes longer to outright die. It’s by no means a low/mid-HP game where a few hits can kill you--you can take a lot of damage. Even if you’re shot to hell, all you have to do is successfully find the next floor and you’ll at least be restored to full health (with even more HP =p). This has the advantage of allowing the player a chance to make comebacks, though that kind of comeback gets harder and harder the further you travel, since being underpowered when entering a new area already puts you at a disadvantage--you’re forced to sneak around looking for parts, gradually working your way back to effectiveness. The game tries to at least make comebacks a possibility by never having enemies waiting for you on the other side of stairs (unless you’ve been very confrontational, in which case they could very well have a force waiting to ambush you!).

      There are even deadlier enemies, though those don’t do any hacking (yet--that’s something I might want to add eventually). Some of those could ruin a run if you mess with them. No specifics to avoid spoilers, except to say Behemoths from the 7DRL are every bit as scary as they were before. You almost have to get lucky to kill them without taking a dangerous beating, so they’re best avoided. Luckily they’re so big now that you can escape them by retreating down a narrow corridor ;).

      About floor transitions, you’re right, I haven’t mentioned that anywhere yet, and that’s really important, too! Currently all allies within 5 spaces of you automatically travel with you to the next area, so yeah, you can continue to amass a following. You’ll be losing allies pretty often though, too, since most robots don’t last long in a fight. (Now that I think of it, this transition radius isn’t presented clearly in game--I should add a new glowing circle indicator when you’re standing on stairs. Thanks for bringing it up!)

      It’s going to be tough to balance, because right now I think that in theory you may be able to build a nearly unstoppable army by focusing purely on hacking. I hope that enemy programmers and the general enemy response can contain that situation within reason, but I haven’t tested the strategy yet so we’ll see. (I probably won’t test this, anyway--you guys can test it =p.)

      The handful of boss/NPC-types are not convertible, though a majority of other robots are fair game. There could, however, be some very powerful unique allies to find out there…

      There are a couple common robots immune to assimilation, mostly for mechanics reasons. Builders, for one, can no longer serve you. All the code is there for instructing them to build temporary walls that the enemy will shoot their way through, etc., but it’s too overpowered and opens the way to many other questionable strategies.

      • Angelo
        Posted January 9, 2015 at 7:31 pm | Permalink

        You mentioned about enemies too large to follow us in narrow corridors. Will the size be apparent on screen or every entity will be represented by a single ascii character?

        • Kyzrati
          Posted January 9, 2015 at 7:55 pm | Permalink

          I have just the link for you. Over a year ago I wrote a dedicated post on that topic shortly after starting this blog.

          As of now I’m a lot clearer on what robots are in the game, and while I wasn’t able to add as many huge robots as originally planned due to the unique mechanics problems they present, you will see some (whether you want to or not =p).

Post a Comment

Your email is never published nor shared. Only the anti-spam entry is required. See here for the privacy policy.

You may use these HTML tags and attributes <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>