User:Phol ende wodan/WardProposal

From NetHackWiki
Jump to navigation Jump to search

This is a proposal describing a system of wards in vanilla or near-vanilla NetHack. A ward system overhauls and replaces Elbereth mechanics; it consists of several different symbols that ward against different sets of monsters and have to be discovered during play.

DNetHack has a successful implementation of a ward system already, but it is rather too complicated and hard to keep track of, and probably wouldn't work too well if implemented directly in vanilla. Nevertheless, it's a much better starting point than trying to make a system totally from scratch. Thus, this proposal will draw heavily on dNetHack's ward system.

Motivations

The Elbereth system in vanilla has major shortcomings:

  1. The spoiled player knows Elbereth from turn 1. While it becomes unusable later on, it only happens in the late game when there are plenty of other options. It also breaks the player-knowledge / character-knowledge barrier, where the player knows something that the character probably shouldn't.
  2. Elbereth works on almost everything. All but a handful of monsters - this exacerbates the issues with it being a persistent option from the game beginning. No matter what your current battle is, Elbereth will most likely scare everything off.
  3. Elbereth can be used everywhere. If the terrain is walkable, it will hold an Elbereth.
  4. Elbereth is really cheap. Dust-engraving it takes a single action and costs only that action; it doesn't use up any resources. With an athame, a semipermanent one also takes a single action and costs no resources. If it wears off, you can just replace it, or if you make it three steps before a monster stops fleeing and comes back, you can just slap another one down.
  5. There is an undue amount of player strategy revolving around Elbereth. Because it's an omnipresent tactic, it's an essential thing for new players to learn in order to improve their game. Tales of someone playing offline and not knowing about Elbereth, and then discovering it and suddenly improving drastically, are common.

There is also a minor flavor point to make regarding Elbereth: it inexplicably works on monsters that by rights shouldn't be able to read it because they either lack sight or intelligence. Nothing in NetHack, besides the scaring effect, suggests that writing the text "Elbereth" on the ground actually imbues it with any mystical power. (Wards dodge this problem by having symbolic magical or occult significance.)

Overall, the mechanic may have worked out better in the era where one would learn about Elbereth by word of mouth and not know its full extent, but in the current day where for game balance we assume that all players are fully spoiled, it doesn't really hold up.

Changes from dnethack's ward system

As mentioned above, this will take a lot of inspiration from dnethack's system. If you are familiar with that, this section is just a broad overview of how this proposal will diverge from it; if you aren't, skip this section. Overarching changes and simplifications to the dnethack system include:

  1. No carved staves.
  2. Some of the esoterically named wards get dropped.
  3. The only effect of a ward is to scare monsters.
  4. No reinforcing wards. Each square is limited to one drawing of one type of ward. However, the degradation system will remain in effect, somewhat.
  5. Wards are only found in spellbooks and already on the floor, not on rings or scrolls or from prayer boons. If this simpler version works well enough, possibly bring in some of the other sources.
  6. Ctrl-W won't bring up a ward menu, since this conflicts with wizard mode wishing. Shift-E will bring up the ward menu instead, with an option for writing text instead of a ward.

Main ward behaviors

Wards are engravings that the player may inscribe on a square. Internally, they will exist in the engr struct, and will be mutually exclusive with writing text on the square. Since they are engravings, they can exist as any of the usual types: dust, carving, graffiti, burn, etc. Also like any engraving, they can also be randomly teleported around the map with a teleport wand.

Each type of ward scares different types of monsters, takes a different amount of actions to draw (roughly correlating with its complexity), and must be learned separately. Importantly, no ward can be drawn in a single action, though engraving with wands will still always use one charge.

The only wards you can use are those that your character has discovered in the game so far. This can happen two ways: finding a square that already contains a ward, or studying a spellbook and the ward it uses to contain its magic. Reading a spellbook now gives the player a menu offering choices to read the spell (as normal), or study the ward. As in dNetHack, studying a spellbook's ward carries similar risks to reading the spell, but with a large flat boost to your success rate and with the book effectively being one level lower than its spell for failure results. Wards do not have recall time like spells, though amnesia might still cause you to forget them. Not every spellbook will contain a useful ward: some randomly generated books, all blank books, and all player-written books, contain thaumaturgical wards which are "good for spells and not much else".

Wards erode just like any engraving of their type does (i.e. really fast for dust-engraved wards, occasionally for carved wards, and never for burned wards). Instead of degrading the quality of their text directly, wards track their intactness as a percentage. A ward that is X% intact will only ward away monsters X% of the time. There might be some grace buffer provided to newly written wards: a freshly engraved one will internally be at 110% or something, so that it won't become less than perfect instantly. Probably the exact percentage won't be shown to the player; instead, ranges of percentages will map to adjectives like "scuffed", "marred", "degraded", "very degraded", and "faint". Re-engraving a ward onto a space that has an eroded copy of it will restore the intactness of that ward; this may take fewer actions than it normally takes to draw, depending on how bad it is. Getting interrupted while drawing a ward will result in a ward with less than 100% intactness.

There are several possibilities for how wards should interact with NetHack 3.6 changes to Elbereth. The most generous is to keep them like they are in dnethack, where they work the same as 3.4.3 Elbereth and you can attack scared enemies while standing on them with no consequence. We can probably rule out 3.6.0 erosion mechanics, where a monster getting scared could erode the ward without action on the player's part, for its unpopularity if nothing else. Given that wards are intentionally less powerful than Elbereth, 3.6.1's two penalties of a substantial alignment penalty and automatic disintegration of the ward seems like it would be too harsh. Tentatively, attacking a monster that is scared by a ward you are standing on will confer an alignment penalty, but will not affect the ward (apart from regular erosion due to your action).

The encyclopedia will have an entry for each ward describing what it is and what it repels, so that a player encountering the ward for the first time, or still learning them, will be able to have an in-game source of information about them.

Types of wards

In choosing wards, this tries to stick to simple geometric shapes or real-life historical designs. Many of dNetHack's wards already fit into this category.

Note that there is one exception to the listed monsters a ward will scare: it will never scare any unique monster. This is a rough translation of NetHack 3.6's making Elbereth not work in Gehennom, which primarily means that you can't use it for boss fights.

Circle

This is a plain protective circle which scares all undead (all L, M, V, W, Z, ghosts, and shades). It takes two actions to write. The dnethack name is "Circle of Acheron"; I'm not sure if that name should be kept or not. The nice thing about that name is that it relates to the undead-repelling properties of the ward (the river Acheron encircles the first circle of Hell in the Inferno). It can be found in a spellbook of any spell level.

Vardan

This is the equivalent of Elbereth. Trying to engrave "Elbereth" on a space will instead engrave a Vardan ward. It takes two actions to write. It works similarly to Elbereth in dnethack, scaring only orcs, wargs, trolls, and Nazgul. It is not found in any spellbooks, but may be found on the ground, and elvish characters (and spoiled players) start the game knowing it.

It will probably be controversial that players can still engrave Elbereth without their character knowing about it in-game, but I feel that this is the best way to ease the transition for players used to vanilla Elbereth, and avoid complaints of Elbereth being removed entirely.

Elder Sign

This resembles a pine branch with five smaller twigs branching out. It scares all b, j, m, p, t, w, y, P, U, and ; (subject to revision). It can be found in spellbooks of level 3 or higher.

Pentagram

This is a pentagon or circle enclosing a five-pointed star. It scares all i, &, and hell hounds. It takes two actions to write, and is found in spellbooks of level 5 or higher. Possibly, priests start the game knowing it.

Hexagram

Similar to the pentagram, this is a hexagon or circle enclosing a six-pointed star. It scares the things the Pentagram does, plus all A, E, and golems. It takes three actions to write, and can be found in spellbooks of level 6 or higher.

Heptagram

This is the most versatile and powerful ward, consisting of a heptagon enclosing 7/2 and 7/3 heptagrams. It scares all monsters except A and starting races: humans, gnomes, dwarves, orcs, and elves. It takes five actions to write, and is only found in spellbooks of level 7.

Gorgoneion

This is about on par with the Heptagram, and depicts a Medusa face. It scares all monsters except A, &, S, golems, and humans. As in dNetHack, it is never found in spellbooks, but three copies of it are randomly scattered on Medusa's level. Unlike dNetHack, it won't randomly fail to scare a monster. It takes 10 actions to write.

Other possibilities

I feel like seven wards is about the limit of complexity a vanilla player would reasonably expect to see, but at the same time they don't seem to cover common monsters very evenly. These are some other ward possibilities that didn't quite make the cut.

  • Valknut - interlocked triangles, symbolic of Odin. Scares H, ravens, wolves, and possibly ghosts.
  • Eye of Horus - Egyptian protection symbol. Scares Egyptian-type monsters: jackals, all M, and cobras, but this list seems a bit scant.
  • Pax - modern peace sign. Ideally, it wouldn't actually scare monsters, but would just make them not attack you in melee. Since it doesn't directly scare stuff, it's not in this proposal.
  • Ovum - egg-shaped outline. Scares only G, based on the Oz mythos that gnomes are terrified of eggs.
  • Labyrinth - classical sevenfold unicursal labyrinth. Scares at least minotaurs.
  • Various other historical symbols that don't really have enough obvious flavor (as a protection/fear symbol) to come up with a set of monsters to scare: the triquetra/trinity knot, various other knots from different cultures, the lotus blossom, yin-yang, all-seeing eye, ouroboros, triskele, Rub el Hizb, hourglass, Borromean rings, Hindu yantras. Perhaps if it turns out more wards are warranted, it would be better to just take gameplay over flavor and pick an appropriate set of monsters (possibly using a monster set from one of the discarded dNetHack wards).