We've covered information warfare on the blog before, in terms of the wide array of components and UI options available to Cogmind. Those features are centered around information about robots and other objects visible, seen before, or detected via sensors.
There is a separate category of useful information, and its source and presentation were the final front-end mechanics to be implemented before Cogmind's first release. This category has been dubbed "Map Intel," referring to information about the environment obtained through hacking.
Some of these features were added a while back along with terminal hacking, though before now there was no system for translating them into useful map information. Now that system is fully operational, and useful it is.
Hacking for Intel Markers
In short, you can now hack terminals to obtain position data for different kinds of objects. After a successful hack of a given type, the associated "intel" is displayed directly on the map as ASCII glyph markers at those positions.
Off-screen intel markers are shown at the edge of the map view in the direction towards that object, dynamically repositioning themselves as you shift the view. (This system works like the labels for off-screen exits demonstrated earlier.)
Various types of intel markers repositioned as the map shifts.There are a number of different intel marker categories.
If you're looking for a particular type of interactive machine, you can hack for a list of their coordinates.
The full list of hacking commands for retrieving machine coordinates. (The generic "machines" command simultaneously hacks the locations of all machines--difficulties are not set/balanced yet, and here I have some hackware equipped which modifies the chances.)
As marked on your map, these are represented by capital letters with a background that glows in the color associated with that machine:
Intel markers for two Terminals, two Recycling Units, and a Repair Station, all to the north.
The machine intel system works slightly different from the others. Intel marker data is usually deleted once that marker enters your FOV (i.e. once you've explored that area , or otherwise seen it again since last hacking for that intel). This is because most intel is aimed at moving objects, so the information becomes outdated and useless before long, anyway. Re-hacking for the same type of intel will also replace and update all old intel of that type.
As static inanimate objects, however, machines are not removed from your intel on seeing them. Even after leaving sight of a machine, the intel remains. Moreover, those machines you simply see (not hack) to discover are also added to your intel database. Thus all previously seen machines can be conveniently indicated along the map edge. Sure, even without this option you can always still shift the view and see them in previously revealed map areas, but having directional markers is a useful reminder of which direction to look.
Groups of robots with a permanent task or one-off mission are marked with lower case letters, placed at their most recent reported location. The marker background color indicates how much you should worry about a given squad: green or yellow for non/low-danger, orange for common threats, and red for major threats.
Registered robots passing through a previously explored area--one surveillance unit (v), two patrols (p), and three maintenance bots (m).
Here is an example of the hacking shell's output on obtaining the latest coordinates of all patrols on the map:
Results of a successful patrol status hack.
While the fact that almost all squads are mobile reduces the usefulness of revealing positions of distant squads (except for those likely coming to track you down), it does at least show the overall types and composition of potential enemies out there and where their strengths and weaknesses are generally concentrated at a given point in time. More useful is the ability to discover what squads are nearby, and in this way squad intel is an alternative to the usual sensor combos, providing temporary information but at a much greater range.
There are currently nine different types of squad, but I'll leave the details for you to discover in game. I will mention that hacking positions for security squads is one of the most difficult, as those squads are stationary and knowing their positions across the entire map is incredibly valuable. That's the kind of information generally only available to dedicated hackers.
Component stockpiles are marked with their usual punctuation glyph based on item type, also coloring their background based on that type. (Stockpiles containing prototypes are further differentiated by their glowing foreground.)
However, know that stockpiles often contain more than one type of item, as well as multiples of each. To keep it simple (both for the UI, you, and I =p) the system records stockpiles based on their most abundant component, or if there are any prototypes those will become the primary stockpile identifier. So while you can't know the precise full contents of a stockpile, you can know what it's mostly comprised of.
A list of common (non-prototype) stockpiles stored on the map, followed by a failed attempt to retrieve the same for prototypes.
This intel can be very useful for determining whether you simply want to leave a map, or stick around to get that stockpile you just learned about in some nearby room. Especially if you see a stash of unguarded prototypes for the taking!
So what happens if you really like hacking and turn your map edges into a completely unreadable mess of letters and symbols?
I don't imagine you'll want to keep a large amount of intel visible at once, instead activating only those that are relevant and current.
For that the intel system has a new filter manager, implemented as the last multi-console mode. If you recall, the top-center portion of the UI is dedicated to the so-called "multi-console," which has multiple modes for optional features you may activate depending on what you need at the time. There are four modes: extended log space, combat calculations, the ally status and order system, and now intel management.
The multi-console area.
This scrollable console lists all the types of intel you possess for the current map (it always contains a listing for machine intel, since that can be obtained without hacking). Each type of intel can be toggled individually, or all at once via the "ALL" button.
Toggling intel data types for display on the map.
As with the ally management interface (and every other part of the interface), these filters are accessible via keyboard: Just press 'z' to enter intel mode, then the number corresponding to the type of intel to toggle.
"Intel mode" for keyboard input.
As an added convenience, newly hacked intel for a given type of object is automatically activated so you don't have to worry about remembering what intel you acquired after a hacking session.
For intel markers we obviously need a compact and distinct style easy to distinguish from other map objects since they'll be persistent (while active) and placed directly on the map.
Fitting each marker into a single cell is naturally the best method of indicating something at that position, so the choice is simplified to one of which ASCII and how to color it. The initial concept was to go with a black character on a colored background, which if you've noticed is how the interactive piece of machines is normally represented on the map. So further differentiation is achieved via slow oscillation in background brightness. This helps them stand out from the rest of the (static) map more than anything.
Due to a variable typo in the initial test, the black characters appeared white the first time I saw them. After testing both methods it turns out the white look is better =p. White results in easier to read glyphs, being consistent with the light-on-dark look of the rest of the map, while having no negative impact on the markers' differentiation from other cells (since we have the glow-highlight effect).
For the past year or so the concept for the final multi-console mode was actually called "signals," and looked like this:
"Signals" multi-console concept (mockup).
The idea is the console is normally filled with junk data representing encoded transmissions Cogmind is picking up from the environment, and you could attach components capable of deciphering what other robots in your vicinity are thinking/planning, as well as whatever other information can be intercepted, including the number of enemies currently tracking you.
While fun, intel filter management offers a much broader range of possibilities, and serves as a bridge between the terminal hacking system and map overlays (which could even be further expanded in the future). The signals idea could technically still be added, though it might end up being too complicated a mechanic (?).
For now we'll relegate it to the list of many (though fewer than there probably should be) cut features.
More Terminal Hacks
Along with the intel update we've also got a new batch of useful terminal hacks.
Local Map Layout
Like hacking for squad positions, this option is an alternative to relying on sensor data (in this case terrain sensors and interpreters). When successful, this hack reveals the map layout for the zone in which the terminal is located.
I also coded a hacking command that reveals the entire map layout rather than a single zone, but it's far too powerful and will only be available under special circumstances (once I decide what those circumstances are...).
Hacking the map layout does not, however, reveal secret tunnels and doors. As protected information those are available only via another specific hack.
Exits and hidden doors are not part of the intel management system, since they have their own labeling system described earlier. But as part of the intel hacking update, newly discovered exits and hidden doors are auto-labeled as soon as you close the hacking interface:
While testing the new hacking system via a test terminal, I happen to discover a hidden door right next to me ;).
I still haven't covered this game mechanic yet because it ties into the world as a whole, but for now know that the global alert level affects how the enemy reacts to you.
You won't generally know this alert level, but 1) you can guess when it's on the rise because the enemy will start taking you more seriously and 2) at a terminal you can also hack to learn the current level.
Retrieving the current alert level, which can range from "low security" to 1 to 5.
On the more useful side, if you're a good hacker you can proactively lower the system's alert level by falsely reporting that a threat has been dealt with, reducing the likelihood of more combat-enabled robots arriving in the map on various threat-related missions.
Beyond simply retrieving squad dispatch records and hacking for their latest position data, you can attempt to issue a recall order to any combat squad only temporarily in the map for a given mission. Call off investigations, strike teams, and even larger assault forces if you're good enough (and reach a terminal in time).
You can't recall squads which are permanently stationed on the current floor, but there is a new alternative for influencing them: Sabotage. With this hack you search the machine control network for vulnerable explosive machines, and overload them remotely. The former machine's location is marked on your map via the intel system, and the enemy will redirect a permanent patrol or security force to that location.
Detonating a nuclear reactor remotely (top), then later surveying the intel marker's position (bottom). There was obviously more than one reactor housed in this area--the massive explosion cleared out several rooms worth of space. Would have been fun if it were in the room next door (okay, maybe two doors down...) so I could hear them go off :D. It obviously took out some combat robot, as there's still a weapon lying on the ground nearby.
This is a fairly easy hack because you cannot completely control the effects--the vulnerable machine is chosen randomly from among those which may explode, the system itself decides what squad to relocate, and the overload may even fail to destroy the machine despite successfully hacking its system. To improve the strategic value of this hack I later went back and gave the system a much higher chance to relocate the squad nearest your terminal, so theoretically it becomes an effective option for clearing out dangerous areas without any fighting. In any case, sabotage is certainly a fun option--blowing up a reactor somewhere else on the map and later happening across the debris and a crater in the floor (if it hasn't already been cleaned up by then). Chain reactions are common and the resulting explosions can easily catch enemy robots passing by ;)
Warning: Going on an unchecked sabotage spree will most certainly raise the alert level and summon a whole lot of new friends to play with... or maybe that's what you want? :D