Thursday, January 5, 2012

Message types in roguelike games

Today I'd like to address an issue that has been bothering me since ADOM types and that also is not yet handled correctly in JADE: There are different types of messages in the game and some of them - obviously for better legibility - might need different coloring. Additionally it might be worthwhile to add message filters to get rid of less interesting messages. That's where I need your help.

Which kinds of messages do you think are useful in a roguelike game and which colors should be used (specifically in ADOM II) to highlight them?

Let me know your suggestions, let me know about how other games handle this and let the suggestions come!

12 comments:

  1. Best is to make it configurable, but some good defaults to suggest:

    Red for any permanent loss, such as an item getting destroyed or attribute decrease. Yellow for less permanent but still nasty situations, such as getting a status effect like confusion or paralysation, receiving a critical hit, and becoming hungry. Light blue for permanent positive effects, such as status increases, gaining a level etc.

    ReplyDelete
  2. Laukku's suggestions sound quite reasonable. Maybe just getting hit (not necessarily critical) and hitting an enemy should also get its own colour, so you're able to notice pretty fast what's going on during smaller (quicker) battles? I'm not sure about that though...

    Btw: JADE II? Will that be the engine for ADOM III? :D

    ReplyDelete
  3. From bad to good:

    - Dark red: *Very* bad things for your character, such as permanent losses of stats, doomed etc.

    - Red: Bad things for your character. HP loss, stepped on a trap, etc.

    - Gray: Most normal things, such as informational messages, dialogues etc

    - (Light) green: Good things for your character. HP restored, attributes restored, curses lifted etc.

    - (Light) blue: Very good things (and permament as well) for your character, such as level up, gaining "fate smiles" and such intrinsics as well as attributes, blessings etc.

    I think a very fine level of configurability would not be necessary, just a "toggle monochrome/color" choice.

    ReplyDelete
  4. I'de say don't add color for hitting and getting hit and just use color for stuff that seems more important to stand out. Laukku seems like he has the colors right, I'de add purple for corruption. adom sage has a good color scheme (I don't know if you condone Sage though) with red for item destruction and stat drain, green for attribute gain, and blue for skill increase, this got brought up on the forum as well so their is some good suggestions on their.

    ReplyDelete
  5. @nachtfischer: Fixed the text - it was meant to be ADOM II :-)

    ReplyDelete
  6. Generally I ignore all the "you hit for..." "...hit you" messages, and usually only want to know if something more dramatic has happened. I like Laukku's suggestion for colour codes, I think stronger colours like red etc should be reserved for rare and serious events, if only to avoid hideous rainbow messages!

    ReplyDelete
  7. One big thing to consider learning from fellow commercial Roguelike Dungeons of Dredmor: Have a color setting that can be toggled to allow for colorblind players to enjoy the game and still be able to pick up on visual color cues.

    ReplyDelete
  8. The most generic would probably be to make the message categories configurable, i.e. let players set the colors of various groups themselves in case they don't like the standard scheme. This would also give them a choice of which types of messages they want to have highlighted.

    And the message system could be even toyed with. Any hits from invisible creatures could display as drab, colorless messages that don't attract attention -- if you won't notice them, your problem. Elemental attacks could be written in the color associated with them. The karmic luck drain could be ni rainbow letters and hits from greater chaos creatures could have random cApItAlIzAtIoN.

    And in case letters would be tiles and not normal characters, like someone suggested before, so you wouldn't be restricted by the traditional colors, there are additional possibilities, like the letters showing your hunger status gradually fading into different color before the status changes, or the "Blessed" letters slowly fading away.

    ReplyDelete
  9. I think it would be useful to separate general combat from special message or special combat events. IE,

    A small section would display dmg:

    G 16 -> @
    @ -> 32+ G
    d -> 5 @
    g -> petrify @

    etc, so all the important dmg details can be seen at a glance. '+' would denote crit.

    Thus messages can be split into two columns, one for detailed messages, then to the right of this would be the compressed combat info. Health after the attacks could also be shown ie:

    d -> 5 @[15]

    P.S. I hate scrolling through pages of X hits Y... :D

    ReplyDelete
  10. the important thing is that you can filter out (uninteresting) damage messages late in the game. in adom, in the end game, every time you attack the user is flooded with a huge number of messages

    ReplyDelete
  11. Concerning (normal) combat messages like "You've been hit", "You hit..." etc.: I quite like the way the recently released Angbandlike Sil does it (others might have done it before?), where the suffered damage shortly pops up on the monster/player. It's quite a good way to see what's going on without having to rely on the message line.
    Alternatively (if you don't like numbers popping up on the screen) the hit creatures could blink red each time it gets hit (maybe grey if the attack of the opponent missed).

    ReplyDelete
  12. I think it would be a good idea somehow separating how low the current situation has brought your health. I.e. a visual health gauge or at least a color-coded number representing low health/very low health. I wonder if that's already in ADOM? Also everything that threatens your life (also starvation) should be *screaming* out of the message cluster. Having separate display boxes for different sorts of info (and letting the player decide whether to display said info in the main message box or a separate box) sounds like an idea to consider.

    ReplyDelete