Official development blog

Map Intel: Information Warfare, Revisited

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

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

8 Comments

  1. Richard
    Posted February 19, 2015 at 1:45 pm | Permalink

    Reminds me of when we added the same to the 2D UI overlay in a space game I used to work on, looks a little better when the 2D overlay is over a 3D view, but a roguelike can’t do much about that. Have you tried differentiating the icons when they’re floating? Inverting the colours, or some such thing?

    • Kyzrati
      Posted February 19, 2015 at 2:08 pm | Permalink

      Yeah, the more different labels and “extra-map” information appear from the rest of the gameplay area the better, though as you say, roguelikes… ;)

      Color inversion was the plan at first, but it wasn’t as readable and and tended to meld into the map too well (also being easier to confuse with interactive machines, which also use color inversion). In practice the indicator glow really helps a lot, because no other map information is animated at all (aside from prototypes, which have a similar glow but only use the foreground).

      Or by floating you are perhaps referring specifically to those markers at the edges of the map? I don’t think differentiating those would be worth the potential visual confusion of introducing a separate style, since they’re already at the map edges anyway and the visible map area is quite large. I imagine the player will often have these turned off, anyway, more so if they are bothersome for any reason. We’ll see what the feedback is like during real playtesting. I’m always open to suggestions that unquestionably improve the player experience!

      As for looking for alternative styles that stand out from the map even more, another option would be to use the smaller half-width font that other labels use, though that would likely require more than two spaces to look good, and would start to cause clutter and inaccuracy with their positioning. Later I’ll almost certainly have to make some adjustments to the system once the tilesets are added. Some of the markers could/will be replaced by tiles in that case.

  2. fan
    Posted February 21, 2015 at 5:14 am | Permalink

    demo/early access when

    i’m thirst for some cogmind

    always interesting to see how you are handling the development

    • Kyzrati
      Posted February 21, 2015 at 8:23 am | Permalink

      Hello fan :D

      Glad you’re enjoying following along. The blog has proven to be a useful reference for myself as well when discussing the game and roguelike development with others.

      Unless I find something else to write about before the next time to post, I’ll likely publish the announcement of the release schedule. Early access (alpha) is most likely coming in April. It is unlikely there will be a freely available demo version until 1.0.

  3. Reiver
    Posted March 10, 2015 at 8:01 am | Permalink

    To confirm: Simply seeing a machine or stockpile is enough to add it to your intel, right? That could be excellent for providing a sense of ones bearings whilst navigating a map, or for hurredly finding a new gun. ;)

    • Kyzrati
      Posted March 10, 2015 at 10:14 am | Permalink

      Yes, I believe I failed to state that directly. Interactive machines are automatically added to your intel when you spot them (since they’re static anyway), making it easier to find them later. They’re pretty obvious on the map because even outside your FOV they’re highlighted, but this saves you from having to scroll the map looking for them if you’ve forgotten their general location.

      Stockpiles aren’t added to intel once seen because every individual item is instead remembered on the map. Thus you have even more detailed information than what the intel provides. However, finding a particular item gets unwieldy in situations where you’ve seen literally hundreds of items spread across a map, so one of the only unimplemented UI features I’ve planned is an option to temporarily replace the entire right-side HUD with a scrollable list of every item you’ve seen, sortable and with filters, which you can click on to see where each item is located. For now we have the item label system, which will be good enough until I get around to implementing the list (after release).

      • Reiver
        Posted March 10, 2015 at 11:37 am | Permalink

        Does that mean that you’ll lose the intel markers from the map, but not be able to paint new ones of your own?

        • Kyzrati
          Posted March 10, 2015 at 11:44 am | Permalink

          Intel markers are always controlled automatically by the game so you don’t have to mess with the details. So yes, they’ll disappear (except for machine intel), because by the time you see them they’re no longer very useful.

          But adding the ability to create markers of your own sounds like a really neat feature, too. I’m not yet sure how useful that might be (as it is in some other roguelikes), since while levels are large you won’t so often be covering old ground, and can’t revisit previous maps, anyway. We’ll have to see how it plays out, and adjust the system if there’s a need for it.

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>