Opened 14 years ago

Closed 9 years ago

#50 closed change (fixed (in master))

Fix level feelings

Reported by: takkaria Owned by: magnate
Milestone: 3.3.0 Keywords: dungeon interesting

Description (last modified by takkaria)

Currently level feelings are bad.

  • Artifacts currently give a rating boost of 10 or 20 depending on their price. Most ego items give higher rating boosts (up to 30!), and so do Rings of Speed and certain amulets (devotion, magi, trickery, weaponmastery) -- 25 each. This needs tweaking
  • Reduce number of level feelings and make them more obviously different. It is not obvious what is better: "You feel strangely lucky...", "You feel your luck is turning..." or "You like the look of this place...". To a newbie, it isn't even clear that all of these are bad level feelings, close to "boring".
  • Monsters in pits make the feeling too high -- assign a value to the pit, not the monsters therein
  • Consider removing level feelings except on very good levels
  • How object value affects feeling is partially covered by #49.

Change History (11)

comment:2 Changed 13 years ago by takkaria

  • Description modified (diff)

comment:7 Changed 13 years ago by takkaria

  • Description modified (diff)

comment:8 Changed 13 years ago by takkaria

  • Description modified (diff)

comment:9 Changed 12 years ago by GabeCunningham

Bullet #2 addressed in [a91d4fe] (SVN r784).

Why not just have objects (artifact or not) add to the feeling based solely on value? Add up the value of all the objects on the level, scale by some (possibly DL-dependent) amount, and add to the rating.

comment:10 Changed 11 years ago by magnate

  • Keywords dungeon added

comment:11 Changed 10 years ago by magnate

  • Milestone changed from Future to 3.3.0
  • Status changed from new to confirmed

As discussed on IRC, d_m and I favour the NPP approach of special floor tiles (invisible and randomly designated) - you only get a feeling once you've explored at least N of these. That doesn't change the fact that we need to fix the feelings themselves - I am keen on GabeCunningham's suggestion, adding up the power of all floor items and the power of all monsters. This would require sorting #869 first.

comment:12 Changed 10 years ago by magnate

  • Keywords dungeon,interesting added; dungeon removed

comment:13 Changed 10 years ago by GabeCunningham

What do we think of having two separate components to the level feeling -- one message tied to the value of all items on the floor, one tied to how dangerous the level is (based on the combined power or combined experience value of all monsters)? I think some other variant(s?) take an approach like this, unless I misremember. Then we could remove most or all of the special ratings boosts.

At any rate, even if we stick with a single message, we could use the experience value of the monsters instead of their power for now, and then change to use monster power in 3.4.0.

comment:14 Changed 9 years ago by magnate

  • Keywords dungeon interesting added; dungeon,interesting removed
  • Owner set to magnate
  • Status changed from confirmed to assigned

[r611b1be] splits level feelings into obj_feeling and mon_feeling. The former is still using ego->rating, which is bogus ("of Resist Acid" is worth +16, yet Dwarven armour only +18) - the object feeling really needs to be based solely on object power. At the moment OOD objects increase this feeling, but in-depth non-wearables, such as high-end devices or consumables, don't affect it. (Perhaps the obj-make code should use object_value rather than object_power.) Still too many superb feelings, so the scaling is off.

The mon feeling ONLY considers OOD monsters, plus constants for pits and vaults. It should really use mon_power, with suitable scaling (but after #869). At the moment too many levels are quiet and peaceful.

We now cannot get special feelings except from artifacts in non-preserve mode. A mere twenty years in coming.

comment:15 Changed 9 years ago by magnate

  • Status changed from assigned to pending

In [re323700], we use object_value_real for object ratings, and r_ptr->scaled_power for monster ratings. We then divide the totals by depth to give the feelings. The thresholds will need adjusting if there are significant changes to pricing or monster power, but otherwise it should be future-proof.

comment:16 Changed 9 years ago by magnate

  • Resolution set to fixed
  • Status changed from pending to closed

In [r31b20da] we use r_ptr->power instead of scaled_power, since the latter appears to be a bit broken. Now it's just a question of adjusting the thresholds. In master as of the early hours of 24/05/11.

Note: See TracTickets for help on using tickets.