Thursday, 20 September 2012

Various proposed changes

I have some ideas for a few relatively far-reaching changes.  The big question is whether they are radical enough that they warrant a fork (of V or v4) or whether inclusion in v4 is reasonable.  To begin with I want to motivate the problems I'm trying to solve.

1) The length of the second half of the dungeon is too long, and gameplay tends to be monotonous.  This is only countered by the enjoyment of being in the deep dungeon assuming you are unfamiliar with it.  (This is the standard operating assumption of Angband, it is not true for me.)

2) Unique monsters are too strong.  They can rarely be handled at depth.

2a) There is not enough incentive from dealing with uniques, particularly late game uniques. 

2b) On the other hand there is incentive to wait to kill uniques until deeper in the dungeon for better drops.  This is the standard gameplay strategy.

3) Monsters come in groups that are too large (and tedious to deal with).  Group monsters are also too ubiquitous in the dungeon.

3a) Later game escorts are absurd.  20 pit fiends or greater balrogs are not an interesting challenge.  They are an impossible challenge.

3b) Z monsters are too powerful.  Always awake + breathe for way too much damage make these groups uninteresting and not fun.

4) Monster summoning is too powerful.  If two Great Wyrms of Balance are too much for one player to fight at once, one should not be able to create another.

5) Teleport other, destruction and banishment are too strong.   4 and 5 are interrelated.  You can't weaken the players counters to summons without weakening summons.

So here's what I would like to do -mapped to the above issues.

1) Reduce the dungeon to 50 levels.  This may involve removing some unique monsters, but that's not entirely necessary.

1a) The mapping would proceed something like this.
     Current Angband                          Smaller version
    1-10                                               1-10
    11-50                                             11-30
    51-100                                           31-50

1b) This step is probably the final step I would take, and the most likely to require a personal variant, especially if it involves removing monsters.

1c) Sauron lives at 50, killing Sauron causes Morgoth to spawn on the level.

2) Lower the strength of uniques.  This would mainly be accomplished by reducing hit points.  An increase in the incentive to kill uniques is discussed in 4).

2a) Make uniques guaranteed to appear on their rated level.  A player that wants to systematically kill all uniques will be able to.

3) The main goal is to provide more customization for how large groups are.  This is likely to be the least controversial, so it's probably what I'll start with.  (It's also the hardest for me to implement)

3a) Allow specification of what monsters appear with given monsters.  The clearest example would be to have the three trolls Tom, Bert and Bill appear with each other.  But also Gothmog appears with Lungorthin and a couple other Balrogs.  (If Lungorthin is dead, Gothmog is that much easier to handle)

3b) Allow different magnitudes of how many friends should appear.  Novices can come in smaller packs, but orcs can still come in larger ones.  Size should be dependent both on danger and how annoying it is to deal with a large pack.  'Z's are annoying, 'o's are not.  The argument is that large packs of 'Z's are bad for game enjoyment but large packs of 'o's are ok.

3c) No spawned group monsters.

4) Major changes to summons and player abilities are called for.  First for summons.

4a) Monsters that tend to 'summon' other monsters instead appear with one as an escort.  Enchantresses are accompanied by a dragon, Mystics come with spiders.  Rangers get some dogs.

4b) Most summons get replaced with 'calls.'  A call brings a monster somewhere else on the level to the summoner to assist in the battle.  A called monster must not have LoS to the summoner (or maybe the player because that's easier).

 - I've considered having a called monster gain HP back at the expense of the caller if it was injured, but I'm not sure whether this is a good idea or a pointless one.

- Calls should be a preferred attack if no other monsters are in LoS of a call-capable monster.  The goal would be to first kill the escort, then the summoner.

- Failed calls should not be repeated.

4c) If no monsters are available to be called (all dragons on the level are dead) nothing is summoned.  The call goes unheeded.

4d) Monsters can still summon (read: create) a monster but at some penalty to themselves.  I was thinking a HP penalty related to the level of the summoned monster.  Monsters will not use this summon attack if their HP are below some threshold.  Very few monsters have this ability (Qs and some Uniques).

4e) Summon Uniques is unchanged.  Only Sauron and Morgoth have this spell.  The uniques come at no penalty.  Other non-unique summons arrive with the same penalty for Sauron and Morgoth.  If all uniques are dead, Summon_Uniques brings nothing.

5) The major nerfs of summons are accompanied by major reductions to the ways for the player to dismiss monsters it doesn't want to fight.

5a) Monsters get a save against teleport other.  The save maxes at 50% for Morgoth.

5b) Destruction does not remove monsters from the level.  Monster can save and be teleported elsewhere on the level, or just outside the destruction zone.  Destruction zones are smaller (radius 10 instead of 15).  Destruction will not work on level 50 until Sauron and Morgoth are dead.

- Destruction spell is only available to mages and priests.

5c) Banishment disappears entirely.  Mass banishment works as a mass-teleport other of everything within N squares without a saving through.  N must be larger than max-sight (uniques excluded)

Some more miscellaneous changes.

Monsters can forget about the player and fall asleep.  (I'd like to implement wandering monsters, but that might be beyond my ability.)  Spawned monsters can appear asleep, or maybe eliminate spawned monsters altogether?

Increase the divisor of many breaths.  Time, Gravity and Plasma top this list, but I would also consider Nether, Shards, Chaos and Inertia.  A pack of 6 time hounds that only breathe for 30 damage are still something you avoid.

I have a far goal of implementing permanent levels, but I know I don't have the skills for this right now. 

Allow probabilistic drops.  Sauron gets a 2% chance of dropping the One Ring.  Gothmog has a 50% chance of dropping his whip, etc.  This also includes normal drops like spellcasters dropping books, molds dropping mushrooms and so on.


  1. Very interesting. If you want to create your own variant and have total control over all this, of course you can. But you mustn't feel that you have to simply because the ideas are radical - v4 was created to allow precisely this kind of experimentation, and anyone who doesn't like it can simply fork it again and do their own thing to it - we are limited to one version of V, but not of v4. Obviously the main problem is diluted effort, which ultimately ends up with you maintaining a one-man variant anyway - but unless you specifically want that you may as well start off using v4 and see who else chips in.

    I'm with you on most of this stuff - drops, packs/escorts, summons/calls, breaths - all that. There's just a few things that give me pause, so I'll try to explain why:

    1. Persistent levels. WTF? This was a real curveball, seemingly unrelated to the general thrust of your other ideas. IMO they'd create a ton of other headaches, but interested in why you'd want to go there. (I always think that if we do go for persistent levels, we should go for much more design a la Crawl.)

    2. While I'm up for shrinking the dungeon, 50 levels seems too short. Part of the majesty of Angband is its enormous length - it's a trial of endurance and concentration as much as skill and luck. I'd be more inclined to go for 75 or 80 or - perhaps better - have levels 51-98 get progressively smaller! But I'm open to persuasion.

    3. I think every unique appearing on schedule every game will get very mechanical and boring. Not averse to making them less difficult, but am averse to making them too predictable. One possibility is to give them significantly smaller escorts when OOD, and much bigger escorts later on.

    Finally, Morgoth having 50% save against TO will make him an order of magnitude more difficult. How many people have ever defeated him without using TO??

  2. Magnate:

    1) The persistent levels is a long term goal and as you note requires some significant changes. I'm not ready to work on this yet, so we can put it aside for now.

    2) It's possible that 50 levels is too short. This is something I have to play with. One nagging point is that I want to ensure that ironman is a reasonable option, so ironman players must be able to find what they need in the dungeon. Alternatively, the goal may be achievable by putting multiple-level shafts in.

    3) It's possible that you're correct here. The main reasoning is that a unique hunt should not be tedious and should not involve scumming floors for them. If you have a solution to this issue I'm all ears.

    4) The Morgoth fight will look much different with these changes. If you don't bother killing uniques and other dangerous things on the level then it will be very difficult. If you kill all the uniques and clear out the level while Sauron is still there then it won't be nearly as hard. Remember, Morgoth can't summon monsters anymore (except at an HP penalty to himself), and he will lose turns if he tries to summon uniques. Lastly, if you can clear out the level, then teleporting becomes a viable option.

    Clearing out every level is boring, clearing out level 50 to beat the game is exciting (or at least I think it will be)

    1. I'm completely with you on shafts - IMO this is a much better way to speed up the game. I think more frequent smaller levels in the latter half of the dungeon could also help.

      I think I might have a better solution on #3 - I was re-reading Derakon's "gradual monster genocide" thread today. Without limiting monsters to finite populations, we could nonetheless make monster allocation tables much more dynamic. This means that a unique's rarity could gradually decrease as you descended. So you could hang out on level 99 (or 49 or whatever) and have no problems killing them all. (I really rather like the idea of them getting more powerful later on as well, but that's out of scope of your changes!)

      Fair point on the Morgoth fight. Don't forget how simple the AI is though - if he can't summon, that simply means he'll cast more manastorms. But I have no problem with your changes resulting in a tougher boss fight.