• Register
Post news Report RSS Map Intel: Information Warfare, Revisited

Hacking for access to map intel, and an introduction to the UI for interacting with that information. Also mapping, alerts, recalls, and sabotage!

Posted by on

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.)

cogmind_intel_marker_shifting
Various types of intel markers repositioned as the map shifts.There are a number of different intel marker categories.

Machine Locations

If you're looking for a particular type of interactive machine, you can hack for a list of their coordinates.

cogmind_hacking_targets_machine_indexes
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:

cogmind_intel_markers_machines
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.

Tasked Squads

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.

cogmind_intel_markers_squads
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:

cogmind_hacking_result_enumerate_patrols
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.

Stockpile Inventories

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.

cogmind_hacking_result_stockpiles
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!

Intel Filters

So what happens if you really like hacking and turn your map edges into a completely unreadable mess of letters and symbols?

cogmind_intel_markers_excessive
This.

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.

cogmind_multiconsole_position
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.

cogmind_intel_filters
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.

cogmind_intel_filters_keyboard
"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.

Style Considerations

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).

Trivia

For the past year or so the concept for the final multi-console mode was actually called "signals," and looked like this:

cogmind_multiconsole_signals_concept
"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:

cogmind_hacking_hidden_doors
While testing the new hacking system via a test terminal, I happen to discover a hidden door right next to me ;).

Alert Level

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.

cogmind_hacking_result_alert_check
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.

Squad Recalls

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).

Sabotage

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.

cogmind_hacking_result_sabotage
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

Post comment Comments
Cristiano.b.
Cristiano.b. - - 107 comments

Omg this game looks amazing and i love ASCII games(tiles are also cool btw).
Also this should be way more popular than it is.

Reply Good karma Bad karma+4 votes
Kyzrati Author
Kyzrati - - 210 comments

Cogmind is pretty popular in the other places I post; I only added it to IndieDB a few months ago so it hasn't had as much time to gain traction as it has in other places where I've been showing it for more than a year.

It's regularly voted to the top of /r/gamedev's Screenshot Saturday when I do a monthly update, as well as in other subreddits where I occasionally post, though for now I'm intentionally avoiding giving it exposure in larger more mainstream gaming communities since the tiles version is still WIP. In a couple months it will be ready for that kind of exposure :)

Glad you like ASCII! Though it's too bad I'll probably have to market it mostly with the tiles version simply because more people will be able to enjoy it :/. Anyway, the ASCII's always there, waiting to be activated at the touch of a button ;)

Reply Good karma+3 votes
RedShootLeo
RedShootLeo - - 1 comments

Man, I cannot express how much I'm looking forward to live this experience that I am sure your game will be. I expect many great things for this project, including it being regarded has one of those revolutionary games that will totally change the way people perceive a certain kind of genre.
Stay strong, and GREAT work.

Reply Good karma Bad karma+4 votes
Kyzrati Author
Kyzrati - - 210 comments

Thank you for the kind words :D. I think it could be on track to achieve what you describe, and actually wish that "experience" could be 100% complete on release, but I will end up releasing as early access because it's difficult to continue at this pace continue without financial support.

As of the past couple weeks, my artist is the first to actually play the game and he says he can't stop, so that's a good sign that it's fun already ;). Still a lot of content to add! I've been adding some interesting new things recently, but I can't directly talk much about content since that would spoil the fun...

I'll do my best to live up to everyone's expectations :D (my own expectations no doubt being among the highest =p)

Reply Good karma+3 votes
Post a comment

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