Return of junk

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • fizzix
    Prophet
    • Aug 2009
    • 3025

    Return of junk

    This was on d_m's list of desired changes in generate, and it's been banging around in the back of my head for a while as well.

    Here's the idea: certain monsters will generate specific junk around them that will give indications of what monsters are lurking around. This leads to a more interesting dungeon and a more organic method of determining danger instead of the current detection/ESP combo.

    Method ideas:
    The idea I had was to create a large amount of junk items. Every junk item will have a JUNK flag along with more specific indications of what can drop it. For example broken arrows might have:
    F: JUNK | JUNK_AMMO

    a corresponding junk flag would appear on monsters that could drop this item, e.g. kobold archers, uruks, novice rangers etc.

    When the game attempts to place a monster with the junk flag, it will generate something like 3d4 junk items (or 1 if the monster has the friends tag) scattered within some reasonable range of the monster. This will not occur for spawned monsters, summoned monsters, pits, nests or vaults.

    At first guess I'm thinking of keeping the junk flags specific for the items and general for monsters. For example an uruk might have the flags.

    F:JUNK | JUNK_AMMO | JUNK_ARMOR | JUNK_EDGED

    How will it help?
    I would like junk to help with recognizing threats up to about nexus hound depth. If it works, we can see about extending it out to the next group of threats, Gravity hounds, time hounds, time vortexes, ethereal dragons etc.

    Of course the difficult will be getting the right amount of junk. Enough that you have a good chance of coming across the junk (w/o detection) before coming across the monster. However, there can't be too much so that you get fed up and squelch everything immediately. This will take some trial to get right (if it's possible at all!)

    ideas for junk by flag
    JUNK_ARMOR
    includes: broken helmets, broken shields, filthy rags
    dropped by: most humans, orcs, trolls, kobolds

    JUNK_AMMO
    includes: broken arrows
    dropped by: anything that fires missiles

    JUNK_EDGED
    includes: broken daggers, broken swords
    dropped by: some humans, kobolds, orcs

    JUNK_BLUNT
    includes: broken clubs, broken maces
    dropped by: priests, orcs, yeeks?

    JUNK_MAGIC
    includes: broken wands, broken staves, broken rods
    dropped by: shamans, magical humans

    JUNK_FLASK
    includes: empty flasks
    dropped by: humans

    JUNK_BONE
    includes: animal bone, human bone, skeleton
    dropped by: spider groups, animal groups

    JUNK_FIRE
    includes: charred remains, burnt books
    dropped by: fire monsters

    JUNK_COLD
    includes: frozen corpses
    dropped by: cold monsters

    JUNK_ELEC
    includes: melted jewelry
    dropped by: elec monsters

    JUNK_ACID
    includes: melted armor, melted sword
    dropped by: acid monsters

    JUNK_POIS
    includes: poisoned rats, poisoned corpses
    dropped by: poison monsters (spec air hounds, drolems, AGD, AMHD, G. Bslsks, winged horrors)

    JUNK_NEXUS
    includes: disfigured corpses
    dropped by: nexus breathers

    JUNK_SHARD
    includes: glass shards, pottery shards
    dropped by: sound, shard, force monsters

    JUNK_DRY
    includes: desiccated corpses, desiccated rats
    dropped by: melee paralyzers

    JUNK_NETH
    includes: I'll come up with something
    dropped by: reasonably powerful undead.
  • Derakon
    Prophet
    • Dec 2009
    • 9022

    #2
    I don't think encoding these as actual items is the way to go. It'll just add a lot of clutter. Better would be some form of flavor text like Unangband has -- when you step on a floor that the game has decided has a junk item on it, you get a flavor message e.g. "you see many broken arrows here".

    Comment

    • fizzix
      Prophet
      • Aug 2009
      • 3025

      #3
      Originally posted by Derakon
      I don't think encoding these as actual items is the way to go. It'll just add a lot of clutter. Better would be some form of flavor text like Unangband has -- when you step on a floor that the game has decided has a junk item on it, you get a flavor message e.g. "you see many broken arrows here".
      I've thought about this and rejected it for the following reasons (caveat, i'm not familiar with the Un system).

      Squelch eliminates any clutter problems.
      Messages are much more burdensome than items. You either set them to ignore, in which case they're useless, or you get stopped way too often.
      There would need to be an entirely new interface to squelch individual messages for this to work, which is UI clutter (much worse than item clutter)

      The alternate method would be to make a whole bunch more terrain features, like burnt floors.

      Comment

      • Derakon
        Prophet
        • Dec 2009
        • 9022

        #4
        Squelch eliminates clutter, but also the items. If these items are tactically useful, then your options are either to squelch them, not be bothered by the clutter, and not get the tactical info, or not squelch them, have the tactical info, and also have to deal with the clutter.

        I'll grant that Un's flavor text can be a bit intrusive sometimes, but usually it isn't a big issue.

        Comment

        • Atarlost
          Swordsman
          • Apr 2007
          • 441

          #5
          What about a scent status block somewhere. There are three useless lines above level and the AU line is useless outside of town. Give each monster an odor based on max HP and fade from there. Let the player detect the top three or four odors at his location that top some threshold possibly based on his perception stat.

          Scent should diffuse through doors and spread far enough that a large group of hounds or a jelly nest should be easy to detect. If color indicated the degree of scent it would be possible to judge direction by moving around and seeing where it changed, but a densely populated dungeon level would make that difficult with only the top four scents displayed.

          Smoke (fire creatures)
          Chill (cold creatures)
          Bitter (acid creatures)
          Ozone (electric creatures)
          Noxious (poisonous creatures)
          Decay (undead and nether monsters)
          Corruption (demons and chaos monsters)
          Dragon (said in The Hobbit to have a distinctive and overpowering odor)
          Filth (unclean humanoids)
          Animal
          Sweat (humans and "civilized" humanoids)
          Mold (and jellies and Qthingies)
          One Ring to rule them all. One Ring to bind them.
          One Ring to bring them all and in the darkness interrupt the movie.

          Comment

          • fizzix
            Prophet
            • Aug 2009
            • 3025

            #6
            Originally posted by Derakon
            I'll grant that Un's flavor text can be a bit intrusive sometimes, but usually it isn't a big issue.
            I think my opinion is that items on the floor are less annoying than messages. Furthermore, they become much easier to turn off. At some point you stop caring about orcs, trolls, etc. So you can squelch all the broken armor and weapons. However, you still want to know if nexus or acid hounds are nearby, so you leave the melted stuff on.

            Originally posted by atarlost
            What about a scent status block somewhere. There are three useless lines above level and the AU line is useless outside of town. Give each monster an odor based on max HP and fade from there. Let the player detect the top three or four odors at his location that top some threshold possibly based on his perception stat.
            this isn't a bad idea. I'll poke around and see how hard it would be to implement and how slow it is (i think it will depend on pathfinding algorithms)

            Comment

            • d_m
              Angband Devteam member
              • Aug 2008
              • 1517

              #7
              For what it's worth, I think the odor idea is good but is more related to the discussions about making ESP more varied (by type and range) and less related to whether to include dungeon feature hints (whether terrain or junk related).
              linux->xterm->screen->pmacs

              Comment

              • takkaria
                Veteran
                • Apr 2007
                • 1951

                #8
                Originally posted by fizzix
                The alternate method would be to make a whole bunch more terrain features, like burnt floors.
                ^^ this. you can have floors get burnt after fire breaths, too.
                takkaria whispers something about options. -more-

                Comment

                • Derakon
                  Prophet
                  • Dec 2009
                  • 9022

                  #9
                  Just so long as you don't go down ToME 2's route of having fire attacks of any strength have a chance of creating lava floors (and ice attacks of creating icy floors, which is definitely worse as ice breaks potions, gives cuts, and prevents accurate movement).

                  Comment

                  • fizzix
                    Prophet
                    • Aug 2009
                    • 3025

                    #10
                    Originally posted by takkaria
                    ^^ this. you can have floors get burnt after fire breaths, too.
                    I thought about this approach a while back also. Let's flesh it out a bit more and see what it would look like. No terrain features will affect game play in any way.

                    Every breather would affect some floors in its vicinity on creation during dungeon generation. The effects would be noticeable by different colored dots. (note: these would make vents be mimics if they ever make it into V, not necessarily a bad thing) Colors would be.

                    dark red - fire
                    bright red - plasma
                    blue - elec
                    light blue - cold
                    gray (color of not currently lit floor) - acid
                    dark green - pois
                    light green - nether
                    purple - nexus
                    perma-lit - light
                    black - dark
                    umber - refuse (from humans)
                    dark brown - refuse (from animals)
                    (sound, shards, gravity, time? do we want these?)

                    Additionally we could have breathers change the floor color under their breath (solely for cosmetic reasons). Or give them a chance to change the floor every turn they spend on it. (useful since hounds flee out of corridors into rooms.)

                    Having too many floors colored makes it difficult to see what is lit and what isn't. As I remember this is the major drawback to this approach.

                    Alternatively, you can combine colors and change them if they are lit. This may look like:

                    Dark red - fire, plasma (light red when lit)
                    dark blue - elec, ice (light blue when lit)
                    dark green - pois, nether (light green when lit)
                    dark brown - refuse, animal and human (light brown when lit)
                    black - acid, dark (gray when lit)
                    purple - nexus (??? when lit...if only there was a pink)

                    You should be able to distinguish between the two by looking at the square, so there may need to be some playing around with the look command.

                    I'm kind of inclined to make gravity hounds drop rubble, but that goes against the whole not changing gameplay thing. I do like the 'are there gravity hounds behind this rubble pile' feeling though.

                    Comment

                    • Tiburon Silverflame
                      Swordsman
                      • Feb 2010
                      • 405

                      #11
                      I like the idea of floor effects. I'll disagree on one point: it will have a mild impact on game play, IF running stops on those special floor tiles. Still, this is likely the least significant.

                      Then, one has to consider implementation. How far away from the source, does this happen? If it's 3-5 floor spaces...how often will this do any good? Note that this applies to the original junk items, and perhaps even to odors.

                      Then: does this help once a monster or pack wakes up, and starts to move?

                      Comment

                      • Whelk
                        Adept
                        • Jun 2007
                        • 211

                        #12
                        Could it be set up to be room-wide in larger rooms (ones that get completely lit up via light spells)? It'd be kind of nice to get to the entrance of a large room, see a bunch of red tiles, and cast a fire-resistance spell in preparation.

                        Comment

                        • fizzix
                          Prophet
                          • Aug 2009
                          • 3025

                          #13
                          Originally posted by Tiburon Silverflame
                          I like the idea of floor effects. I'll disagree on one point: it will have a mild impact on game play, IF running stops on those special floor tiles. Still, this is likely the least significant.

                          Then, one has to consider implementation. How far away from the source, does this happen? If it's 3-5 floor spaces...how often will this do any good? Note that this applies to the original junk items, and perhaps even to odors.

                          Then: does this help once a monster or pack wakes up, and starts to move?
                          These are all legitimate concerns.

                          should it stop running? probably. Floor colors should be squelchable just like items would be tho. If you don't have rnexus it is incredibly important to be warned of nexus breathers. If you do have it, you don't care.

                          how far away? first attempt will be something like 10-30 tiles. This will of course create situations where it's on the opposite side of a granite wall. More detailed path finding algorithms are possible.

                          If monster packs wake up? If you have breathers create floor tiles as they move, it will make a difference for hounds that retreat back into a room. Otherwise, you lose the early warning system.

                          Comment

                          • bio_hazard
                            Knight
                            • Dec 2008
                            • 649

                            #14
                            I could imagine a scheme like this:

                            The information could be broadly considered auras, which would include noise, smells, feelings.

                            In addition to the ideas people have been mentioning, maybe a "you feel a draft" for being near stairs. Maybe noise (or different sorts of noise even) could supplement the attack-specific smell/feeling.

                            Player samples environment through the search command.

                            sampling at the beginning of a corridor might tell you about anything in the corridor. In the middle of the corridor, if you are within a certain distance of a side corridor or room, you might get information about the new terrain feature.

                            This would be directional, maybe with blinking floors or something to indicate , so if you search, you can subsequently "look" to get information on what lies in different directions.

                            This doesn't address whether (or how) running or resting should be interrupted.

                            Comment

                            • fizzix
                              Prophet
                              • Aug 2009
                              • 3025

                              #15
                              I'm going to go ahead and attempt to implement different colored floors to indicate nearby breathing, and humanoid/animal monsters.

                              As d_m noted, while I think auras/smells/etc. are a good idea they belong in a different category. I think, changing the dungeon generation goes in line with altering the necessity of detection. Creating auras alters the necessity of ESP. These are related, but not quite the same.

                              I'm going to go with the darkening scheme, where you will have to look to see the difference between say poison and nether, but you will be able to see if the square is lit. I think I have figured out how to do this, but we'll see.

                              At first go, I will make these floors disturb running. If it's too burdensome I'll try to see if it's possible to add floor features to squelch.

                              Comment

                              Working...
                              😀
                              😂
                              🥰
                              😘
                              🤢
                              😎
                              😞
                              😡
                              👍
                              👎