Official development blog

Map Comments and Log Notes

Back in August I was watching the first Tone-MTF combo stream, and listening to them repeatedly strategize aloud so they could collaborate brought more than the usual planning talk to the forefront of the conversation, through which I noticed the occasional potential for manual map comments to be helpful.

Very few roguelikes support freely adding annotations to specific locations on the map, perhaps because most roguelikes don’t have very large maps anyway, or rely on other features like map memory to serve enough of that purpose (some roguelikes will even store old enemy position data in addition to items and other objects/environment features), or don’t allocate quite as many dev resources to non-essential UI features.

tggw_map_memory_creatures

The Ground Gives Way remembering that a particular creature was left outside your FOV when you moved away, a simple way to let you know you avoided or fled from something in that area earlier. See the two ‘c’s to the south of the player (@), where ‘c’ represents a canine type creature. (Wild dogs are fast but can’t open doors so I used a rod of slowing on them then retreated to close the door.)

For a while on Patreon I had suggested map notes were a possibility for Cogmind, and although there was a fair bit of support for them among the player base, it wasn’t high compared to the desire for various other features. Some potential roguelike criteria to consider as far as the usefulness of map comments:

  • If backtracking to earlier maps is possible, players may need to remember some important local detail(s) long after they may have forgotten them due to having since interacted with many other subsequent maps and encounters.
  • If maps are large or complex enough, players may have a harder time remembering details about an area they might revisit later, or after saving and loading their game for another session.

There’s no backtracking to previous maps in Cogmind, so my personal preference is to avoid ending a session partway through a map if possible, to reduce the chance I’ll forget some important piece of information without having to make notes on everything. On that note, however, back in Beta 10 I did add “log notes” which can help with just such a situation. Compared to an interface feature like map comments, simply adding notes to the log is much easier to build :P

cogmind_player_log_note_demo

Adding a custom note to the log. Implementing this feature is as simple as calling up a dialogue box to accept a line of text and copying it to the log once confirmed.

In terms of temporarily preserving info as a reminder for later, log notes are similar to map notes but without the positional data, though as is these will of course also scroll away as the log progresses since they don’t have a separate dedicated display.

Log notes could also be used to add more explanation to the message log for those players who will export it in full at the end of their run, for example to describe in greater detail what was going on at the time (in fact this was the original reason one player requested it a long while back).

cogmind_streamer_break_log_note

Interestingly, since the log notes functionality allows players to type a line of arbitrary text in the middle of the screen, some streamers have taken to using it as an in-theme way to write a message letting viewers know they’re away for a short break.

Back to the idea of map notes, although I one day finally decided to just add them on a whim for fun (I do rather enjoy taking dev detours to implement little interface QoL bits), I quickly discovered this was a complicated endeavor filled with potential for bugs and coming with plenty of UI challenges! You’ve got your typical data storage considerations, the need to write but also edit or delete existing comments associated with a particular location, a new modal interface to handle all this separately from the rest of the main UI, and visualization work involving showing the comments normally, or just reminders of the comment locations when not shown in full, or relative directions to comments to help pinpoint them across a larger map… All told, this feature ended up taking a week to complete.

Fortunately for the visual parts I eventually managed to get the comments piggybacking on the exit label system (including support for displaying relative direction of off-screen comments) rather than having to write a separate system, which would’ve taken even longer.

I will say that at first I didn’t really feel this system would be worth the amount of time invested in building it, but in the time since I’ve been discovering more uses (including automated ones) that have made it seem more worthwhile.

Map comments are added by entering “Comment Mode,” currently activated via Shift-Alt-c (but later also coming to the “special commands menu” in Beta 11 for easier access).

cogmind_map_comment_adding

Adding a comment to the map.

Even when not in the mode, the map view reminds players about comments made earlier by intermittently highlighting those cells (the interval is adjustable in the advanced options, or can even can be turned off entirely if it’s distracting). Hovering the mouse or keyboard cursor over a single comment position also shows that one comment in its entirety, but on entering the mode they all appear at once and remain visible as long as the mode is active. Right-clicking on an existing comment (or the ‘r’ key) removes it.

cogmind_map_comment_highlighting_showall_deleting

Highlighting individual comments, as well as showing them all and demonstrating individual removal.

As with other on-map labels, of course we need support for showing indicators of those not currently within the map view area. This was where it came in extremely handy to already have lots of architecture in place for displaying directional labels.

cogmind_map_comment_offscreen

Demonstrating off-screen map comment markers.

Comment Mode also supports cycling through existing comments via Tab/Shift-Tab for added convenience.

cogmind_map_comment_cycling_editing

Tabbing through map comments, and also editing one of them.

Overall there’s a fair amount of overlap between map comments and other existing features (including the aforementioned log notes but also other new Beta 11 features like item searching) so their usefulness will likely vary greatly from player to player depending on preferences, but it’s always nice to enable extra optional possibilities.

Map comments are indeed the only way to add custom spacial info where it matters, though in my understanding player-side uses are probably pretty niche and I’ll be keeping an eye out for what people end up actually doing with this feature.

Either way, I am starting to like the potential for automated uses, making map comments a potential new tool I can apply to have the game serve up reminders of certain location-based knowledge that doesn’t already have or justify adding its own unique method of display. I already have some ideas of my own, but this is also one area where it could help to see what players are doing, since repeated manual behaviors in certain situations are always good candidates for automation.

One potential issue I’ll be on the lookout for here is whether map comments actually add tedium to the game, mainly in terms of optimal play. Like marking known Sentry/Heavy defense points? Behemoths? It’s true people can theoretically use screenshots as a recording tool for this sort of optimal play, but that requires enough work that it’s not something players do in practice--we just rely on our brain instead :P. Once you give players a tool that reduces the cost of some form of optimal play, one that was previously safely beyond the threshold of reasonability, there’s always the danger that this new tool will invite tedium.

Again though, if some form of map comment is useful enough, it may become automated if possible. That said, doing this in a way that’s both useful and accurate could end up being a lot more complex than it seems at first!

Map comments have been in prerelease test builds for a little while so far and I have yet to hear about them getting a lot of usage, so I guess we’ll need more time to tell!

// TODO: Add list of automated map comment features here ;)

…and here we go, since publishing this I’ve started posting some other examples of automated comments, so the list begins:

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

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>