Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

1411430 Posts in 69363 Topics- by 58416 Members - Latest Member: JamesAGreen

April 19, 2024, 07:02:59 PM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsCommunityDevLogsCogmind (sci-fi robot-themed roguelike) - BETA RELEASED
Pages: 1 ... 57 58 [59] 60 61 ... 71
Print
Author Topic: Cogmind (sci-fi robot-themed roguelike) - BETA RELEASED  (Read 236533 times)
Kyzrati
Level 10
*****



View Profile WWW
« Reply #1160 on: June 30, 2018, 04:50:44 PM »

5 years full-time, wow! And still in EA? How do you manage to sustain it financially speaking?
The best way: By having players buy it Wink

Yeah the art is lots of work, but also testing whether each achievement actually triggers correctly.
True, this is where it really helps to have strong debugging dev tools that allow you to quickly create any scenario you need. I could test a single achievement in about 10-20 seconds, except in the occasional more complex case that might take a minute or two to set up.
Logged

tankorsmash
Level 1
*



View Profile
« Reply #1161 on: June 30, 2018, 07:43:15 PM »

What sort of debug tooling do you have? Being able to write up a scenario does go such a long way
Logged

Kyzrati
Level 10
*****



View Profile WWW
« Reply #1162 on: June 30, 2018, 08:08:58 PM »

I will probably do a blog post on it one day, but there's already a partial writeup from earlier this year on r/RoguelikeDev. Basically lots of debugging commands and a text entry box where necessary.
Logged

Kyzrati
Level 10
*****



View Profile WWW
« Reply #1163 on: July 06, 2018, 04:06:37 PM »

Say hello to kinetic knockback!



As you can see, like knockbacks from impact weapons this can smash them right into machines, though this way you're less likely to be in the blast radius :P

This was originally envisioned as a cannons-only mechanic, but for now I have it applied to all kinetic projectiles and it'll probably stay that way through at least the prerelease testing phase to play with the interesting tactical effects of allowing even enemies with just guns to push you around. (To testers: Good luck defending bottlenecks against swarmers!) It'll almost certainly be scaled back to its original scope for the official Beta 7 release, though.

A cannons-only approach will mean it mainly applies to Cogmind rather than everyone, unless of course you're hunting certain Behemoths ;)

Stay away from me, melee bots!



Knockback won't be of help against Brawlers, seeing as treads are immune to knockback, but Flak Cannons could be pretty useful for keeping non-treaded bots at bay since the effect is applied on a per-projectile basis.

As part of this update, knockbacks from both kinetic and impact damage will be capable of causing robots to hit another robot behind them, damaging and displacing the second robot.

Manual Upgrade

Manual hacking of robots is already a thing, but it's a pretty simple system that's always been used purely as a way to enter random codes you might collect as a result of certain encounters. There's not much of a need to type out any commands to begin with, considering there's a complete context menu that appears to recall all the codes, as seen here using the old hack list:



But with the number of hacks increasing significantly in Beta 7, some keyboard players might be more likely to prefer entering hacks by typing them out rather than finding them in the menu. Of course no one's going to bother if you have to type out an entire command, so like manual machine hacking we'll need to facilitate the process! For this I added both autocompletion and a command buffer. Demo (the parse_system effect at the end is just a placeholder for things to come):



It kinda sucked to have to switch the whole manual robot hacking system over from its original simple architecture (whicha already worked nicely) to one that could support these new features, and many hacks were involved, but hey everything once again works as expected so I won't complain! Blooper:



In adding that command buffer, technically the third, I passed by the debug buffer which showed all the commands I'd recently used while testing out the robot hacking features (specifically making sure all the proper hacks appeared while hacking different types of robots). It was kinda interesting to skim that :)



While at it I also added an advanced option to alter the default cost-wise method of sorting coupler-based hacks:



With all this peripheral work done, next week it's finally time to, oh I dunno, actually implement some hacks xD

Be The Hacker (Part 3)

Part 1 gave an intro to the robot hacking system, Part 2 covered more of its principles and basic functionality, so now we're here with the third part to take a closer look at one of the essential requirements for a serious bothacker: Relay Couplers.

Most hacks require a target-appropriate coupler to pull off, and as you've seen in previous screenshots all these hacks appear in their own box with a "Coupler" header.



The numbers off to the right aren't the percentages you might expect given the other/previous systems, but are instead static costs for executing each hack. That cost is directly deducted from the Relay Coupler value seen at the top and the hack takes effect, period. So Couplers are expendable, and each has its own "remaining value" before it is depleted. You can carry or attach as many Couplers as you want, and if you have more than one applicable Coupler for the current target robot their values are combined into a new total.

As you can see, the new system is easier to balance by forcing a trade of valuable slot/inventory space for guaranteed hacking effects, whether you want them to play a non-combat role, a supporting role, or a fully confrontational "I own you all" role.



As mentioned before, hack costs are static--there is currently no way to influence the cost via utility or other means, and allowing for the modification of costs would make it easy for robot hacking to creep into OP territory again. Better to have only one variable at play, the Coupler value, which can in some cases be higher than normal so that there's room to get more out of a single coupler!

I've generally avoided consumables in Cogmind's design, at least in the traditional sense, but Couplers don't really fit that sense anyway since they have multiple uses and are also quite flexible in what they can be used to accomplish.

Coupler value is a factor of two elements: its source, and the type of robot it applies to. An individual [Behemoth] Coupler won't let you do much, though you could combine more than one to do just about anything! A lone [Grunt] Coupler, on the other hand, will last for a lot more hacks, depending on what you want do accomplish. There are five ways to acquire Relay Couplers, two of which I'll leave for your to discover, but here are some of the main ones:



Straight to the source! Like previous and current versions of Cogmind in which Garrison Relays play a role in robot hacking (albeit through a different mechanism), so do they under the new system. Venture into a Garrison itself and blow up relays to collect the most valuable Couplers inside.



Destroying Garrison Access locations will net you some Couplers as well. They're partially used and thus not as valuable, but at least they're fairly easy to acquire!

If lucky you can also find special caches in a Garrison containing lots of high-value Couplers, but don't count on it :P

That wraps up the series on the new robot hacking system for now. I'll do a compilation on the blog at some point, and will of course continue sharing progress reports as the hacks themselve are fleshed out, among other features to come :D

Achievements Forever

If you're interested in how achievements are decided and implemented, and didn't see the series on my blog earlier, you can check out "Designing and Building a Robust, Comprehensive Achievement System" on Gamasutra. I put it there this week and it was pretty well received, even being featured on the front page for a time :D


   
256 is enough for now, but I'm sure we'll be seeing more later ;)
Logged

Kyzrati
Level 10
*****



View Profile WWW
« Reply #1164 on: July 12, 2018, 11:19:11 PM »

New mechanic, new items!



Kinecellerators are especially effective when combined with multikinetic volleys, although they could also be useful combined with certain cannons.

As with other weapon modification utilities, while active their effects are reflected in the info mode summary.



And of course there are better ones, too Wink

Hack the UI

Most of the week was spent on the robot hacking system, which is coming along nicely. As a further improvement on the earlier hacking interface samples I've been sharing, the header for any Relay Coupler hacks now highlights the remaining value to make that clearer.



I had noticed the potential issue while creating the original mockup, but didn't see any immediate fixes so decided to leave it like that for the time being. And of course as soon as I started sharing gifs there was already a comment about that value not being clear enough, so... yeah, I put some more time into finding a decent solution Smiley

Automatic removal of newly-depleted Relay Couplers also comes with its own animation in the parts list.



Hack the Bots

As for the hacks themselves, I was finally able to start implementing them this week, and have finished about one-third of the total. Here are a few samples of what's to come in Beta 7...

"generate_anomaly" attracts all nearby hostiles, in case you need some company (or have other nefarious purposes)



Like other enemy alert situations, in the easier difficulty modes this also highlights the position of any notified bots.



"generate_echo" is basically an instant one-off long range sensor.



Map walls? map_walls!



Overall, I'd say robot hacking allows for some fun stuff Tongue

Logged

JobLeonard
Level 10
*****



View Profile
« Reply #1165 on: July 12, 2018, 11:56:14 PM »

This game just keeps evolving in a way where most developers would consider it an improved sequel by now Tongue
Logged
Kyzrati
Level 10
*****



View Profile WWW
« Reply #1166 on: July 13, 2018, 12:03:10 AM »

Haha, yeah next we go for a three-in-one... the bad part being I don't really get much in the way of extra revenue for continuing like this xD. What can I say, I'm bad at stopping things!
Logged

vikepic
Level 0
***


Rendering dreams


View Profile WWW
« Reply #1167 on: July 13, 2018, 12:08:40 AM »

Looks awesome! Following!
Logged

Kyzrati
Level 10
*****



View Profile WWW
« Reply #1168 on: July 20, 2018, 03:31:19 PM »

Another week, another batch of robot hacks for the next release Smiley



Pretty much every bot has at least some function relevant to their job, as you can see above with the map_earth hack. Same thing below in tiles mode.



As one might expect, there are quite a few hacks that target Operators, given their access to so many systems...



Almost any combat bot can be hacked to find emergency access doors over a pretty wide range.



In general I haven't been working on combat bot hacks yet--I'm mainly going straight down my internal list, on which non-combat hacks come first, but based on some code I was working on it was more efficient to jump ahead and do a few search-based hacks like this one at the same time.

Back to non-combat hacks, how about forcing Haulers to both drop their inventory and safely identify all the contents for you?



And normally a Mechanic's special inventory of backup parts can't be accessed/retrieved, but there's also a hack to decompress those if you really want to Tongue



Lastly, a fun still shot from a very WIP animation that's a bit more involved.



More on that one next week.

A lot of these robot hacks also tie into AI behavior in some way, so I've been messing around in that bit of the code and making occasional related updates.

For example a group of Engineers repairing lots of walls in close proximity might end up getting stuck, and the cluster of Engineers can grow larger and larger as there are incomplete projects in the queue but they're all waiting for each other to get out of the way. I left it that way since it's not too common, not all that important, and kinda funny when it happens, but an easy fix popped into my head with the new behavior update that probably won't happen anymore.

Here you can see a group of very eager Engineers, unperturbed even by an eventual Scatter Rocket Array Tongue



I put a number of other updates only indirectly related to development in this week's SITREP.
Logged

Kyzrati
Level 10
*****



View Profile WWW
« Reply #1169 on: July 24, 2018, 10:37:02 PM »

There's a complete overview of the new robot hacking system available on my main blog now. Because I've shared a few images from this here already, in order to avoid repeats rather than mirror it in full I'll just share the collage to give you an idea and you can follow the link if you want to check out the details:

Logged

Kyzrati
Level 10
*****



View Profile WWW
« Reply #1170 on: July 27, 2018, 03:17:52 PM »

SITREP Saturday #32: New Age of Infowar

In recent updates I've demonstrated map_earth, map_walls, locate_traps, find_shortcuts, and more, but as far as information warfare hacking is concerned, these are small-time benefits compared to the potential of this week's selection!

Info for War (or not)

If you've got your RIF, datajack, and [NC] relay coupler handy, Watchers can be a gold mine of info when you map_route them. Rejoice as you steal all the scan data from their entire patrol route, including terrain layout, machines, items, and exits.



That's my favorite animation from the batch--I spent a while polishing it (okay, spent a while getting it to work xD). It'll trace the route starting from its nearest node to both ends, as you can see here going in two directions (followed by calling up labels for discovered items):



Here's another sample in Storage, where the route happens to come around in a loop:



And the same sample in tiles mode:



It's not often you'll find a Watcher inside a Garrison, but if you do it's an easy way to see a lot of corridor networks and other potentially hidden areas behind the walls.



I can imagine map_route will be one of the most commonly used robot hacks, although it's rather expensive. May your hacked Watchers have decently long patrol routes and not just a short little jaunt through a few rooms Wink

Foresight 20/20

This next hack is even more of a wildcard, because while it can be quite valuable it's not easy to find the right target and much of its information is time-sensitive: show_paths.



What that does is show the current paths of all patrol squad leaders across the entire map, but you have to specifically hack a patrol leader in order to get this info. Sometimes figuring out which is the leader is easy because they'll be a better variant, but other times you'll have to spot which one seems to be followed by the others (easier to figure out with sensors). At the same time, not all squads out there are patrol squads...

Normally the paths will glow intermittently, but when panning the map they stay visible (presumably you'll want to be able to more conveniently follow them).

Here's a sample from a different scenario in tiles mode:



Although the path data will become meaningless after a while since the patrol leaders select new routes when the current one is finished, on the good side any known paths are also permanently revealed as valid open spaces, including even pointing out hidden doors along the routes, so that can have some value in the long run.

I noticed it's kinda fun watching the ASCII<->tiles swap animation after a map_paths hack, as it traces the revealed spaces.



While working on all this stuff I also discovered A* lightning Tongue



Here's a path animation outtake, a little bug caused by me relying a bit too much on copy-pasted code: The paths should render directly to the console every frame, but instead I'd copied code from another blocking animation that creates stationary particles that fade with time:



Clairvoyance

What's better than one set of visual sensors? Two sets! See exactly what's up ahead, around the corner, or in that next room with a little help from link_fov.



You can merge their field of vision with your own, as if they were a drone. In some ways this is inferior to a drone because you can't control them, but better because they won't be attacked by 0b10 forces, and willing participants can be found all over the place Smiley

Why stop at two sets?



The blue circles appear for convenience so you know when the connection will be lost due to range--the link can only be maintained from up to 20 spaces away.

When you combine all these new indicators, robot hackers can have some pretty sweet map UI going :D



It's All About Context

All robot hacks also come with context help right in the UI via right-click or shift-letter.



This explains exactly what the hack does, which unlike machine hacking is pretty important to know immediately because robot hacking often has real consequences while facing off against enemies (I talked about this same principle before when covering robot hacking's switch from a percentage system to a finite counter system). Obviously it's also good for learning the mechanics, and having easy direct access to what hacks do so that infrequent players don't have to remember their effects.

The question is, should this same system be applied to machine hacking? From a general QoL perspective, probably--in addition to the above reasoning, it's one of the few systems in the game which doesn't already have in game help.

But there are a few drawbacks as well... Machines are encountered very early in the game, and I don't want to overwhelm newer players with stuff they don't really need to know, and infrequent players won't really be able to get much out of hacking anyway. Having context help at machines both removes a bit of the intrigue and exploration aspect of the experience while simultaneously giving players access to all kinds of detailed information that won't mean much when starting out. The details of machine hacking are not so useful compared to robot hacks. Machine hacking effects are also much easier to guess from their names, and the hacks don't generally take place under duress, so a bit of trial and error is fine there.

Here's a bonus hack: ignore_targets, Method #6 (or so?) for dealing with Crushers.

Logged

Kyzrati
Level 10
*****



View Profile WWW
« Reply #1171 on: August 03, 2018, 04:10:31 PM »

SITREP Saturday #33: parse_system
(a slimmed-down version of the full weekly progress update, more focused on just the dev stuff for TIGS)



And that's what happens when you combine the new overload_power hack with squads lured through some explosive machinery :D

Their power source won't go critical immediately, but it happens pretty quickly and as you can see there's a visible timer to help you plan your next few turns before the fireworks begin.

The explosive potential matches that of EM-caused chain reactions, thus it's greater for more powerful power sources. In the same way it also just destroys their power supply, which technically may not destroy the bot entirely, so it doesn't need to be a hugely expensive hack like outright destruction or assimilation. This makes it both a fun, useful and fairly frequently usable hack.

Aside from overload_power, this week's robot hacking progress can't compare with last week in terms of flashiness, but I did get close to the end of the list. So far 59 hacks have been implemented, with just a few more to go. After that there's still more related work to do in terms of lore, balancing datajacks, and more, but the entire robot hacking system will be completed next week. (No this doesn't mean Beta 7 will be ready next week xD)

Mind Probe

One of the bigger new hacks completed just yesterday is parse_system, the replacement for the old PARSE option.

Through Beta 6, parsing a robot is a regular old hack with a percent chance to succeed. Though easy to pull off, it's still not guaranteed.

The new parse_system for Beta 7 is not only guaranteed (as are all robot hacks), it's also practically free--no RIF, no couplers. (See the overview of the robot hacking system if you're not sure what that means.) Just like the manual hack 'z' entry, 'a' will always be parse_system for any bot you can jack, appearing as the first listed option. Here's a series of demonstrations parsing various common targets:



In the past it's also never been very useful--I added it mainly for fun. But now it also serves some purposes!

First of all you can see there that parse_system gives more info than it used to, including details about the AI and whatnot.

The most tangible advantage, however, is the fact that it both lists all parts attached to the bot, identifies them all even if unknown or prototypes, and even adds them to your gallery if not already there! This will be a new non-evil method to get records for some of those cool parts your friends and/or NPCs are using without, you know, murdering them Tongue

By extension, as part of this update, jacking a friendly will no longer be considered a hostile action.

Celebrating Roguelikes

The annual Roguelike Celebration is coming up! If you can make it to San Francisco in early October, get your tickets now for a discount (the price is just to cover the costs of running the event).



This is the third one. I missed the second due to that annoying concussion-that-still-won't-go-away, but was at the first the year before. It was so much fun, I wrote about it here. Got to meet a bunch of great people I only knew (or knew of) online, and then it was only a one-day event--this time we get two!



.

Oh yeah, I guess I've only implied it so far, but yeah I'm going again :D. (You might notice me on the speakers list there, I'm going to be doing a non-Cogmind-centric talk this time around.)
Logged

Josh Bossie
Level 3
***


Fly Safe, Pup


View Profile WWW
« Reply #1172 on: August 04, 2018, 12:27:27 AM »

god damn parse_system looks so insanely useful. Loving all the hacking changes you've posted. What an unreal addition to an already dense rougelike
Logged

Kyzrati
Level 10
*****



View Profile WWW
« Reply #1173 on: August 04, 2018, 12:35:21 AM »

Yeah now I need to, like, finally release all this stuff! This is the longest I've gone without an update... At least I won't be doing that again, since this is the last major system. (Unless I guess we hit the review threshold at which I promised to add a whole new faction and major systems and maps to support them--that'd be a massive update, too xD)
Logged

JobLeonard
Level 10
*****



View Profile
« Reply #1174 on: August 04, 2018, 04:09:53 AM »

At least I won't be doing that again
Big Laff

 Wink
Logged
Kyzrati
Level 10
*****



View Profile WWW
« Reply #1175 on: August 04, 2018, 04:12:51 AM »

HEY! I already added my own caveat, thank you Tongue

On a more serious note though, the next couple releases after this one will add more isolated features that'll be fun, but won't be like this entirely new robot hacking system that is 1) huge and 2) has its claws in everything WTF
Logged

Glyph
Level 10
*****


Relax! It's all a dream! It HAS to be!


View Profile
« Reply #1176 on: August 05, 2018, 01:54:18 AM »

Hey, I'm back to playing this again and having some fun. Just a few quick things I noticed specifically relating to the drone/ally system:
  • I think I found a bug with ordering allies. I had a drone offscreen that I tried to give a 'goto' command to, but the view didn't zoom to it upon entering the command and it seemed like I was in the waypoint selection state without a cursor to move around until I hit escape (I'm in keyboard mode. It seems possible but clunky due to no auto-focus on your drone in mouse mode).
  • Speaking of drones, it would be nice to be able to enter some mode where you are auto-prompted to order your drones to do something once they complete their movement, such that there's no lost time (this could even move the view to your drone and enter the order menu for it automatically). It's already very beneficial to micromanage so it might as well be easier to do in some way or another.
  • Is there a way to stop the camera lock on Cogmind? Sometimes I want to just watch my drones go while waiting for them to reach a point. If I could pass turns in mapshift mode somehow, maybe that would be enough. Actually, transitioning straight to giving orders from mapshift mode would be a nice touch too.

Keep it up!
Logged


Kyzrati
Level 10
*****



View Profile WWW
« Reply #1177 on: August 05, 2018, 03:07:38 AM »

Hi Glyph! Thanks for the feedback.

I think I found a bug with ordering allies. I had a drone offscreen that I tried to give a 'goto' command to, but the view didn't zoom to it upon entering the command and it seemed like I was in the waypoint selection state without a cursor to move around until I hit escape (I'm in keyboard mode. It seems possible but clunky due to no auto-focus on your drone in mouse mode).
Yeah this is normal right now with drones, and something I was planning to add new features for at some point. There's currently no autocentering behavior with drones. But also...

Speaking of drones, it would be nice to be able to enter some mode where you are auto-prompted to order your drones to do something once they complete their movement, such that there's no lost time (this could even move the view to your drone and enter the order menu for it automatically). It's already very beneficial to micromanage so it might as well be easier to do in some way or another.
This is actually big drawback to the entire drone system at the moment, actually, the fact that micromanaging them is optimal, even though it's not convenient or very fun. One of my thoughts there is to actually remove control once they're out of a certain range so that the player can't micromanage them from a distance. This is kinda far out on the TODO list right now, there's just so much stuff!

Is there a way to stop the camera lock on Cogmind? Sometimes I want to just watch my drones go while waiting for them to reach a point. If I could pass turns in mapshift mode somehow, maybe that would be enough.
Mapshift mode can't allow other actions, although a related feature for the next release is that exiting that mode won't recenter by default, so you'll be able to exit and pass turns while viewing the same area around the drones. I don't use mapshift mode myself so I hadn't encountered this issue before, but someone brought it up a couple weeks ago. There are like half a dozen ways to pan the map, and I use the Alt-Numpad method which allows waiting. Mapshift mode is the only one which is modal, required behavior as it's intended for vi-key users (is that you? Tongue), so I'm glad the negative side of the autocentering issue has been pointed out.
Logged

Kyzrati
Level 10
*****



View Profile WWW
« Reply #1178 on: August 15, 2018, 05:56:12 PM »

65 Robot Hacks
[Cross-posted from the devblog here--follow link for better formatting and light-on-dark style.]

We've already covered the design behind the all-new robot hacking system, and now for the main course: the hacks themselves! The entire initial set is complete and ready for Beta 7, all 65 of them :D

I'll be talking about most hacks in this post, and you'll notice their names follow a certain pattern throughout--all composed of two words, a verb followed by a noun, separated by an underscore in between. Essentially "verb_noun." This style was chosen to clearly distinguish them from machine hacks. By default Cogmind uses a small-caps typeface so this choice may not be apparent right away from the screenshots I use here, nor does it really matter in game, but it matters for discussion outside the game. Using a consistent format will make robot hacks immediately identifiable in conversation, even if someone has never heard of a given hack before.

There are several possible requirements for robot hacks, as described in the previous post. The vast majority of hacks require having both installed a Relay Interface Framework and attached the Relay Coupler applicable for the target class, in addition to of course carrying a Datajack to initiate the hack in the first place.


Robot hack distribution by requirements.

Wherever possible I tried to add some hacks with lower requirements, though again the main point of the system is to give it fairly significant powers, and the only way to justify that is by setting sufficient requirements.

In terms of combat vs. non-combat hacks, the latter are much more plentiful:


Hacks targeting combat bots vs. those targeting non-combat bots (the total does not equal 65 because there is some overlap).

This makes sense simply because there are a larger number of unique non-combat robot classes, and even more so because there's only so much you can do with combat in particular, at least within the Cogmind framework. Let's start there...

Combat Hacks
"Combat hacks" refers to those targeting combat bots, even though not all of them are actually aimed at fighting. For design purposes I divided these hacks into groups, helping ensure each hack fit a role and was different enough from others. There are five categories in all:


Distribution of hacks targeting combat robots, by effect category.

I'll talk about the hacks by category.

Mod
The largest category revolves around simply modifying the target in some way, usually affecting behavior or hit chances (the text here is taken directly from the context help available in game):
  • focus_fire: Force system to prioritize attacking Cogmind wherever possible.
  • reboot_propulsion: Render propulsion unusable for 15 turns while the control subsystem reboots.
  • tweak_propulsion: Rewrite sections of the propulsion control subsystem to permanently halve movement speed.
  • scatter_targeting: Offset targeting algorithms to approximately halve their chance of achieving optimal aim.
  • mark_system: Mark this bot to make it the most attractive target to all allies, as well as improve accuracy against it by 10%.
  • link_complan: Tap into system's combat decision-making processes in real time, increasing your accuracy and damage against this bot by 25% while also impairing its accuracy against you by 25%.
  • broadcast_data: Openly share the local combat network's defensive coordination values, giving yourself and all allies 25% better accuracy against this and all 0b10 combat bots within a range of 3.
  • disrupt_area: Actively interfere with the local combat network's offensive coordination calculations, reducing the accuracy of this bot by 25%, and that of all 0b10 combat bots within a range of 3.
This category is almost too large, as some of the hacks overlap a bit, though they still have distinct enough roles that I felt it was worth adding them all anyway to see which ones might get more use. Most of these hacks won't make sense against weaker enemies, but that's a standard side effect of Cogmind's environment--most bots don't pose much of a threat individually, the threat lies in the composite danger presented by multiple hostiles, even more so if they have different complementary capabilities. Against a stronger enemy, however, it could be worth taking the time to weaken them first, or apply a modification with some other ulterior motive.

Groups of weaker enemies are also why some of these hacks come with area effects, to work at addressing the fact that combat hacks against an individual bot may not be worth it compared to simply pulverizing them with a cannon.


Intel
Information gathering accounts for nearly half of all hacks, combat bots or not. Although there are fewer intel options available from combat bots, they still make up a relatively large category and can be quite useful in the right situations:
  • find_shortcuts: Reveal and label all hidden doors within a range of 50. (There are a lot of ways to detect emergency access doors, but none with reach like this. Could come in handy in the long run.)

find_shortcuts demo
  • find_garrison: Locate the nearest Garrison Access.
  • show_paths: Highlight all current patrol squad routes. Only effective when targeting a patrol squad leader. (It will take a observation to identify which squads are considered to be patrolling, much less find a leader, and the route data is only valid while they're still patrolling it, so I'm not sure how useful this will be in practice, but it looks cool and can also reveal lots of valid pathways in unknown areas of the map so it might catch on. parse_system will help find/teach about patrol squads and leaders.)

show_paths demo (paths glow intermittently, and are always visible while panning the map for easy reference; lines are color coded by squad type, and these records disappear after a while since they only matter for so long)
  • link_fov: Tap into system's visual feed for 100 turns. Must remain within a range of 20 to maintain the link.
  • parse_system: (more on this later)


Damage
"Methods to deal outright damage" is a tiny category because merely doing damage doesn't generally make much sense for a hacker--you either want to take down the target or achieve some other special effect. So even these hacks don't deal direct damage, but are instead alternatives with their own niche.
  • spike_heat: Destabilize power systems to induce a massive surge of heat. (This is essentially a way to instantly get the target ready for meltown, which anyone who knows about thermal transfer from TH weaponry understands that it could start causing all manner of nasty side effects that can even start to compound. Overall it's a very cheap way to possibly take down a target, if not very reliable because you're at the mercy of random side effects with this one.)
  • overload_power: Cause power source to explode. Process takes 4-6 turns to reach critical point. (The effect is equivalent to EM spectrum chain reactions, and being able to trigger it at will offers a lot of tactical possibilities... Plus it's just fun. And you've gotta time it right :). It's the readily available AOE time bomb you've all been waiting for!)

overload_power demo (also a demonstration of the effectiveness of doing this next to an array of power conduits :P)


Disable
This category's hacks are akin to mods, but completely disabling systems is often an even stronger effect, though still without doing any actual damage.
  • wipe_record: Remove any record of Cogmind from memory, and block new Cogmind records from being created for 10 turns. (This effectively makes you invisible to that robot for a little while, which is pretty cool and unique.)
  • disable_weapons: Disable all weapon systems for 20 turns. (There you go, you finally have a way to do this, heh. This has been brought up a few times before by the community with regard to targeting specific systems, though until the new robot hacking there hasn't been a reasonable way to make it a potentially frequent tactic.)
  • reboot_system: Force a complete reboot. The entire sequence requires anywhere from 15 to 25 turns to complete. (The previous system's good old REBOOT hack is back in its new form, which does... the exactly the same thing :P)
  • go_dormant: Wipe memory and force immediate dormant state. (This is a relatively cheap way to permanently remove a target from action, as long a you can get out of view quickly and no one else is around to wake them up. In that way it can be even better than a reboot--it's a "reboot with a catch." If you recall, dormant combat bots only have a chance to wake when enemies are in view, or if they're alerted by another robot.)


Assimilate
Assimilation has always been the highest goal of robot hacking, and while it'll definitely still be useful, I'm sure it won't be as desirable as before, or as good as other cheaper hacks that might require more creativity :)
  • overwrite_iff: Trick system into believing it is allied with Cogmind. After 10 turns the network will perform an automated quickboot to restore it to normal, a process which takes anywhere from 5 to 10 turns. (Temporary assimilation combined with a bit of a reboot is probably even better than outright assimilation in many cases--I can see this being popular.)
  • streamctrl_high: Hijack the control node to force system to act as an ally. Must remain within a range of 5 to maintain the connection. This bot will follow while in this mode. (An alternative situational assimilation, cheaper than completely assimilating a target, but of course it comes with a bit of a caveat.)
  • formatsys_high: Rewrite all system data, permanently converting it into a fully controllable ally. Requires 6 turns to complete the process. (As you can see, the old full-on ASSIMILATE hack is still here, although it's fairly expensive so you [probably] won't be raising large armies with it!)
The latter two hacks were originally named stream_control and format_system, and applied to both combat and non-combat bots, but I later decided it was important (and made sense) for the coupler cost to be cheaper when used against the latter group. It would've been possible to simply show and apply a different cost for these hacks depending on the target, but I wanted to remain consistent--one hack, one cost, so I gave them somewhat different names instead. As you'd expect, the other versions end with _low :). Technically there are 67 different robot hacks, but these pairs are equivalent in effect so I didn't count the duplicates.

(continued in next post...)
Logged

Kyzrati
Level 10
*****



View Profile WWW
« Reply #1179 on: August 15, 2018, 05:56:38 PM »

(...continued from previous post)

Non-Combat Hacks
Most hacks target non-combat bots, which is more in line with a hacker's non-confrontational style, using other bots to make exploration or combat easier, or helping avoid the latter altogether. However, the wide variety of hacks also means that just about any kind of player can benefit from at least some of the system, allowing for all sorts of hybrids.

Like the combat hacks, here I've broken down non-combat hacks into categories, though note that I only did it for fun/demonstration purposes--it wasn't part of the design process like it was above.


Distribution of hacks targeting non-combat robots, by effect category.

Understandably intel is by far the largest category, considering there are so many different classes with their own responsibilities and knowledge to "share," while most other hacks deal with controlling the target and/or their surroundings in some way.

Although normally non-combat bots see Datajack hits as a threat, in cases where a hack is some kind of order they'll override that reaction and instead do what they're told.

Even where bots do consider it an attack, or are affected by a hack, there are currently no effects on alert level. This is cool and logical in a hacker sense, though we'll have to see how abusable it is. That said, by extension hacks don't score points, either--they're just recorded in stats as usual. In any case, robot hacking is meant to be pretty good within its niche, since 1) sacrifices need to be made in terms of plot and build, and 2) it only applies to 0b10 bots.

One major area of differentiation between combat and non-combat hacks: the former requires numerous couplers, one for each target type, whereas all non-combat hacks are processed through a single Relay Coupler [NC]. That's going to be a popular one... (it's also the most common). If combat hacks were similarly accessible it would trivialize combat and robot hacking strategies, and the system would be less interesting overall.

Just look at all these [NC] robots that can be hacked...


Distribution of robot hacks by non-combat robot class.


Any
Some basic hacks can be used on any non-combat robot, so this category is general purpose stuff which'll be available almost everywhere.
  • no_distress: Prevent this system from generating distress signals.
  • generate_anomaly: Induce an energy anomaly resembling a long-range distress signal that will attract nearby patrols and sentries to investigate. Anomaly detectable up to a range of 15.

generate_anomaly demo


Under easier difficulty modes this hack also indicates the positions of robots that will respond to the anomaly.
  • generate_echo: Destabilize power systems to generate a wave of energy which can be analyzed to temporarily pinpoint robots at a distance. Beyond a range of 20 the echo becomes too weak to be useful.

generate_echo demo
  • start_evac: Instruct system to follow local evacuation protocols by heading to another 0b10-controlled level.
  • link_fov, overload_power, streamctrl_low, and formatsys_low are equivalent to the combat hacks.

link_fov demo (blue circles indicate the range outside of which the connection is lost)
  • parse_system: (more on this later)


Operator
As the most connected 0b10 class central to operations, Operators make juicy hacking targets. For similar reasons some players like to have one of these following them around as an ally, though the benefits are not identical (in a general sense, robot hacks have more potential because the bot still has greater access to 0b10 systems at the time, unlike once it's been assimilated).
  • check_alert: Query system for current alert level.
  • purge_threat: Lower the alert level. (A useful hack, but it's also the most expensive by far.)
  • find_terminal: Locate the nearest Terminal.
  • locate_traps: Reveal and mark all traps within a range of 30.
  • disarm_traps: Disarm the nearest trap array within a range of 30.

locate_traps/disarm_traps demo
  • reprogram_traps: Reveal and reprogram the nearest trap array within a range of 30.
  • block_reporting: Block ability to report hostiles at a Terminal.
  • summon_haulers: Force system's call for reinforcements to instead redirect any Haulers within a range of 50.
  • recall_investigation: Recall the most recently dispatched investigation squad.
  • clear_repairs: Clear the sector-wide repair queue and any pending Builder orders.
  • clear_recycling: Clear the sector-wide part collection queue and any pending Recycler orders.


Researcher
Researchers have a lot of options because they know stuff. Stuff you might want to know, too.
  • find_scanalyzer: Locate the nearest Scanalyzer.
  • disable_scanner: Permanently disable an active stasis system to prevent scanning and analysis.
  • locate_prototypes: Mark all prototypes and alien tech across the map, also providing their IDs.
  • report_prototypes: Force system to reveal 10 new prototype IDs.
  • report_schematics: Force system to reveal 10 new part schematics.
  • report_analyses: Force system to reveal 3 new robot analyses.


Worker
K-01 Serfs are all over the place, so it's nice to have some things to do with these little guys. Hacking them can even be extremely useful...
  • find_chute: Reveal and mark the chute this Worker might use if immediately tasked with disposal.
  • deconstruct_machine: Dismantle the nearest non-interactive machine.

deconstruct_machine demo (you can also try what happens when they start taking apart an explosive machine ;))
  • hold_bot: Latch onto the nearest visible non-prototype 0b10 bot to hold it in place. This task is automatically cancelled after 25 turns.
  • start_disposal: Dispose of currently held bot via a chute, if possible. Huge bots are too large to push.


Hauler
For just being defenseless bots that ferry parts, Haulers have some decent hacking options!
  • find_fabricator: Locate the nearest Fabricator.
  • drop_inventory: Force a complete inventory dump, fully identifying contents in the process.

drop_inventory demo (sure you could just blow them up, but that's unreliable and won't give you the advantage of knowing whether any of the contents are faulty/dangerous!)
  • recall_reinforcements: Recall reinforcement squad requested by this Hauler.
  • locate_stockpiles: Mark all common part stockpiles.


Mechanic
Mechanics aren't all that common, but aside from those operating from a Repair Station, assault squads do sometimes have one in tow, which may be a bad idea for them if you're a hacker :P
  • find_station: Locate the nearest Repair Station.
  • release_backups: Force the system to release all backup parts from compressed internal storage.

release_backups demo
  • deconstruct_bot: Disassemble the nearest allied visible non-huge non-prototype 0b10 bot into its constituent parts.


Watcher
Hacker's paradise when it comes to intel. I mean, that's their job, right?
  • map_route: Show scan information from along this Watcher's patrol route. (While it's possible to get unlucky and find a Watcher with a really short route, this hack can also be a gold mine of info.)

map_route demo (finds an exit)


map_route demo (here hacking from the middle of its route, and labeling discovered items)


map_route demo (tiles)
  • mark_security: Mark all active security positions within a range of 40.
  • relay_feed: Permanently hook into the sensor feed system, receiving scan data transmissions from up to a range of 20 from Watcher's position. (Basically you get a remote Sensor Array, pretty good if you don't have one of your own, and even better if it's a high-level watcher.)

relay_feed demo


Protector
Protectors are generally only found supporting assaults, and all they really have to their name are shields, so...
  • disable_shields: Permanently disable an active shield or force field system.
  • redirect_shields: Permanently reprogram defensive system to protect yourself and allies from attacks, instead of Protector's allies. (This one's more expensive, but if you and/or allies are close enough to take advantage of it, it's a pretty nice buff for you plus debuff for enemies. Remote force fields are really annoying to fight through, so you want them on your side.)


Engineer
No you're still not allowed to build new walls, sorry ;)
  • ignore_repairs: Block system messages regarding the repair queue.
  • map_walls: Reveal all walls and emergency access points within a range of 25.

map_walls demo


Tunneler
T-07 Excavators generally hang out at lower depths where you won't be doing much robot hacking anyway, but just in case...
  • randomize_corridors: Permanently add new paths to the local complex layout. (This is one of the few hacks I don't think will be very useful, but added it anyway just to give them something extra related to their regular tasks.)
  • map_earth: Reveal all earth within a range of 25.

map_earth demo


Recycler
Cogmind's #1 annoying bot can now also be dealt with by hacking it directly, though there are already other pretty effective methods of handling them (like just shooting :P).
  • find_recycling: Locate the nearest Recycling Unit.
  • ignore_parts: Block system messages regarding the part collection queue.


Compactor
Hackers ain't afraid of no Crushers! A single [NC] coupler is enough to pacify an entire Waste sector's worth of these menaces (and you normally don't need to confront nearly that many on your way out).
  • ignore_targets: Block system messages regarding waste processing targets.

ignore_targets demo

And with that we've covered all 65 hacks, except for that one...


Universal Hack
The combat and non-combat lists above both refer to "parse_system," a special hack that works on any bot, even non-0b10 bots. All it takes is a Datajack to access it, and it'll always appear when hacking bots, just like the Manual command.

PARSE was available under the old system, although never really used. I had originally added it mainly for fun, thinking it might eventually become something, and now it has! For one it gives more details than it used to, including info about the AI, squads, and more.


parse_system demo (multiple)

But the most tangible advantage is the fact that it both lists all parts attached to the bot, identifies them all even if unknown or prototypes, and even adds them to your gallery if not already there! This will be a new non-evil method to get records for some of those cool parts your friends and/or NPCs are using without, you know, murdering them :P

By extension, using a Datajack on a friendly will no longer be considered a hostile action, allowing you to parse them, too.

In the past completing the full item gallery required either straight up killing your friends (preferably with weapons that increase salvage rates), or getting really lucky and not only meeting valuable allies but having them be killed and drop their special gear for you. Some people understandably disliked the former for roleplay reasons, and the latter isn't really a feasible long-term approach given how many rare allies and parts there are.


Balance
Last time I talked about one of the first important elements of balance: access to Relay Couplers. The other main one would be the cost of the hacks themselves.

I only made a few references to cost above, though obviously these values will factor highly in terms of each hack's relative strategic applications. Hacks can range anywhere from free to consuming an entire Coupler in one go, so for reference I'm posting my design spreadsheet used to set the costs in the first place.


Combat hacking Coupler costs. You can see how they're divided into the categories described earlier.

I start with the number of hacks I think is reasonable for a single coupler, and it calculates the rest automatically so that things are quick and easy to adjust. Costs have changed a bit as I worked through the implementation process, and will likely see some more adjustments in the future, but this is a good starting point.

Here's the cost info for all non-combat hacks:


Non-combat hacking Coupler costs.

For fun you can compare to the design spreadsheet for the old pre-Beta 7 robot hacking system, which was much more complex, and because it's based on a percentage system isn't very reliable--players would only bother with it if they could reach near or at 100% on their desired hack!


Pre-Beta 7 robot hacking system design spreadsheet.

We went from 5 hacks straight to 65 :P. And this is just the first batch--more could be added, or some might be tweaked or even removed down the line depending on what hacks players use and how. We'll have to see how Beta 7 turns out first!
Logged

Pages: 1 ... 57 58 [59] 60 61 ... 71
Print
Jump to:  

Theme orange-lt created by panic