Angband Forums

Angband Forums (http://angband.oook.cz/forum/index.php)
-   Vanilla (http://angband.oook.cz/forum/forumdisplay.php?f=3)
-   -   Feature branch drop balancing (http://angband.oook.cz/forum/showthread.php?t=8993)

fizzix July 8, 2018 04:04

Feature branch drop balancing
 
1 Attachment(s)
The last time we did a dedicated balancing effort with regards to drops was 3.4 I think. After that, some of the changes introduced in 4.0 broke stats generation. Over the past few days I've tracked down some of the bugs that would cause crashes after some tens of thousands of levels. (One memory leak, and two rare events), which means that we now can generate stats for the feature branch, and probably the current 4.1.x branch. I'll try to do some more detailed analysis in the coming days, but right off the bat I noticed one difference.

The standard metric I've used for general balance is to full clear every level once from 1 to 100. This, of course, doesn't really mimic how a regular player plays, but it is certainly useful for comparing across versions.

So here's what I noticed at first. 4.feature will provide you with about 59 artifacts per game (standard deviation about 2). 3.4 provides you with 51 (standard deviation also about 2). This means 3.4 is somewhat more generous with artifacts.

But, here's something that surprised me. 4.feature has, on average, far fewer monsters than 3.4. In fact at about level 40, the two branches diverge, with 4.feature having about 60% of the monsters per level than 3.4. There are a lot of possible reasons for this. But right now it's looking like 4.feature is probably being too generous with floor drops.

More analysis to come. Some things in stats are probably broken currently, (spell books for example) so I need to do some testing to make sure stuff is getting calculated correctly.

Pete Mack July 8, 2018 05:32

That explains a lot about the 3.4 game I am playing. The deeper levels feel significantly more dangerous than 4.0 (and teleportation is too dangerous to use.) Add this to 15% fewer artifacts per 100 levels, and the ridiculous rate of high end ego items in 4.0, and there is a big difference in game difficulty.

Nick July 8, 2018 12:43

Cool, I look forward to seeing more.

The lower monster rate is possibly related to changes in dungeon gen in 4.1.

fizzix July 8, 2018 14:37

3 Attachment(s)
Quote:

Originally Posted by Nick (Post 131581)
The lower monster rate is possibly related to changes in dungeon gen in 4.1.

Yup, both changes are probably related to dungeon gen. Some of this is probably a consequence of many more special rooms that are large but fairly weakly populated and have guaranteed items. The varied rooms are a general plus, but we might want to increase the monster generation rate in them.

The fact that they diverge after level 50 might be due to the former prevalence of pits/nests which used to spawn 1 or 2 per level and now spawn significantly less frequently.

As a next step I looked at stat potions, which I've used in the past as a good gauge of how generic non-artifact drops are behaving. I've split it into 3 graphs, total stat gain drops, drops from monsters, and drops from the floor (including vaults). I don't remember if Charisma was dropped in 3.4, but regardless it's not counted in the stat potion count. Augmentation counts as 5 stat potions.

There are some surprising takeaways from these figures.

The bulk of stat potions are dropped by monsters

Monsters are more likely to drop stat potions in 4.feature than 3.4, You get more potions dropped only in the later levels in 3.4 where the monster count is much higher. (I could make another plot of stat potions per monster if people want to see the actual numbers).

Not many of the stat potions are generated on the floor, yet this value is much higher in 4.feature than in 3.4, and increases very rapidly at high levels. It even increases more rapidly right at stat gain depth.

Monsters are much more likely to drop stat potions OoD (out of depth) in 4.feature. OoD drops appear to be zero until about level 20, yet you see the possibility of finding stat potions at surprisingly high probability rates in 4.feature. Rare drops should happen, but there's an indication here that we're being too generous with good early drops.

Pete Mack July 8, 2018 15:07

Can you do a plot of "high end ego items?" I am not sure how to define it, but it is basically boots of speed+big 3 weapons with big 3 enchantments+crown of might. Maybe shield of preservation and higher dragon armor Dwarven.

fizzix July 8, 2018 16:38

3 Attachment(s)
I'd have to modify the stat tracking program to get all of that. But I do track already all of Holy Avenger, defender, westernesse and gondolin. So hopefully that's good enough. I've plotted the drops of the sum of those 4 egos, and separately speed rings. (Jewelry is generated differently than weapons and unsurprisingly has different results)

Way more ego items are generated in 4.feature, both from monsters and vaults. For speed rings there's an increase in vault drops but surprisingly not much of an increase from monster drops.

Will post the ring info in the next post (can only attach 5 files at once)

fizzix July 8, 2018 16:39

3 Attachment(s)
Here's the info for the speed rings.

Pete Mack July 8, 2018 16:44

Actually, I was thinking of +attacks rather than Westernesse, which actually do have a maximum depth under DL 100. (It's a problem for artifactless mages.) But this graph is pretty much what I expected: essentially every big 3 weapon in a vault is good enough to use.

fizzix July 8, 2018 16:44

One other big difference. I also track the first time you find an item with a given ability.

In 3.4, on average you find an item with free action (could be anything including amulet of inertia) by level 22 (stdev about 2). in 4.feature that is down to level 13 (with stdev also about 2).

You have about a 42% chance to find an item with free action by level 20 in 3.4 That's up to 90% in 4.feature.

Telepathy also has a similar disparity.

in 3.4 you will on average find an item with telepathy by dungeon level 52 (stdev about 4). in 4.feature that's down to level 38 (stdev 3.5)

4.feature appears to be way more generous across the board.

fizzix July 8, 2018 16:46

I could have included extra blows weapons too (I track them). From spot checking numbers by eye they don't look any different from Westernesse or Holy avenger.

Pete Mack July 8, 2018 17:03

The speed ring stats are a real problem: it means that you probably will find an OOD speed ring in 4.0, but you probably won't in 3.4. The difference at or above native depth isn't a big deal--it means about a +1 bias in the best ring you find.

It is the latter kind of statistics that are more critical: at what depth do you find an endgame weapon/speed ring/dragon armor etc? Or are the odds of finding one significantly less than 1? (Just as is the case for first-found FA, speed ring, damage ring, resistance armor, etc.)

I am actually enjoying 3.4 more than 4.0, despite the annoyance of ID and bad squelching.

Derakon July 8, 2018 17:20

I don't have a problem with SI/FA showing up "early", since they're so critical to being able to play the game at all. Other abilities though should definitely have a period where you're trying to push forward despite not having them; this is especially true of speed and ESP.

Philip July 8, 2018 17:42

In the recent O competition my character didn't find any ESP or +speed (or a couple other handy utilities) before dying horribly of not having ESP or +speed. The character died at dlvl 86 after spending a significant amount of time between dlvl 70 and 86. I'm not going to claim the process was fun the whole way through, but it was definitely an interesting experience, and trying to push through (because it was a comp) despite the significant difficulty spike (enhanced by O monsters and O monster drop generation) when I largely stopped being able to kill things at-depth. It brought on a feeling of dread and fear of the unknown (with no ESP on a warrior whose staffs of detection kept getting fried). This is a sort of feeling that Nick has mentioned before as being the goal of the later levels of the game. Making powerful abilities harder to get early on (in O, you can find shoes and hats of telepathy reasonably early, but they are rare) really ratchets up the pressure and can make a win more satisfying, and a death more impactful. It can feel a bit unfair, but sometimes that's a feeling you want to generate.

Of course, instituting full O difficulty would be undesirable in V, since there is only so much you can do before you start turning off new players. On the other hand, I feel like the creation of the foreboding and unfair feeling of later levels is part of what enables player retention, since it makes getting past those a much more satisfying accomplishment than dying 5 times in the early levels, twice to some unexpected mechanic later on, and then winning the game.

Pete Mack July 8, 2018 18:34

I agree about SI being pretty much a necessity after DL 30. Dreads (and later, Ethereal dragons) are just too dangerous to mess with. But going without FA between DL 20 and 30 is fun, in the same way that do8ng without ESP after DL 50 is. At the same time, I agree with Philip: there are only so many levels you can survive at low HP, without speed or ESP. But better to be forced to push the envelope than to always get OK speed by dl 50.

fizzix July 8, 2018 18:37

Luckily these issues are pretty easy to fix. They're just tweaks in various constants. It was my intention to do these sort of balancing fixes after every version. Unfortunately the overhaul to dungeon creation had introduced some bugs that caused crashes and I wasn't able to find them.

We should probably regularly do these balances with the knowledge that if we're going to depart in one direction or another in drop rates, it should be for good reasons.

Derakon July 8, 2018 19:06

Quote:

Originally Posted by fizzix (Post 131617)
Luckily these issues are pretty easy to fix. They're just tweaks in various constants. It was my intention to do these sort of balancing fixes after every version. Unfortunately the overhaul to dungeon creation had introduced some bugs that caused crashes and I wasn't able to find them.

We should probably regularly do these balances with the knowledge that if we're going to depart in one direction or another in drop rates, it should be for good reasons.

Agreed, and I'm glad you're taking a close look at this! Game balance tends to be an unstable equilibrium: it's easy to break and hard to fix. So, thank you!

Philip July 8, 2018 19:09

Personally, I think drop rates should be reworked entirely with a clear intention. After that, yeah, any change in drop rates should be explicitly acknowledged and justified, but as it stands, and in 3.4, I'm not convinced there's a goal behind the distribution of objects. If we had a clearly stated idea of what the purpose of the object distribution is, we could evaluate the effect a lot more clearly.

If there are new classes and monsters, there should be a new object balance, and I don't think it should be tied to any particular version of the game (or any variant).

Derakon July 8, 2018 19:20

Quote:

Originally Posted by Philip (Post 131621)
Personally, I think drop rates should be reworked entirely with a clear intention. After that, yeah, any change in drop rates should be explicitly acknowledged and justified, but as it stands, and in 3.4, I'm not convinced there's a goal behind the distribution of objects. If we had a clearly stated idea of what the purpose of the object distribution is, we could evaluate the effect a lot more clearly.

If there are new classes and monsters, there should be a new object balance, and I don't think it should be tied to any particular version of the game (or any variant).

This is the kind of thing that's easy to say we should do, but hard to do in practice, I think. Like, I can propose some reasonable guidelines, but how would we translate them into rules for drops?

* The player should be encouraged to push past where they "feel safe" and to engage in dangerous (i.e. fun) behavior
* The player should only rarely be able to assemble a "perfect kit" (covering all desirable abilities and with high pluses across the board) by endgame
* The player should never feel like they have to grind to proceed

You can come up with imperfect heuristics that would cover some of these, but good luck making metrics that measure how well we adhere to them.

It's a lot easier to just say "balance was better at X prior version, based on feedback from players who have played both versions", and then to look at what changed since then. ...I guess that means you could say that our "clear intention" should be to return drop rates to something like what they were like in 3.4. :)

fizzix July 8, 2018 19:27

Philip, historically the way it worked is that item drops were overhauled in 3.1. This led to a very generous drop rate and a lot of complaints that the game was too easy. Myshkin and I both developed monte carlo sims to calculate statistics of objects generated, with the idea that we wanted to see if indeed it is true that item drop rates were different than previous versions.

3.0.6 was the benchmark, not because it was ideal, but because it was a stable version that was prior to a lot of the changes to item drops. We found that indeed 3.1 (and 3.2) were both very generous (probably moreso than 4.feature). So we balanced, I think for 3.3 but definitely for 3.4 to pull the items back down to something akin to 3.6 levels. There were some obvious differences though. In 3.4 you were a lot more likely to get artifacts from uniques and slightly less likely from other sources.

The truth is these questions are really hard to answer in a vacuum. How many stat potions per level *should* we be generating? I don't know. However it is possible to quantify the trajectory that we are, and at least make sure we don't stray too far from something that worked.

If you are able to come up with some metrics for what we should be aiming for, I'd love to hear them! Angband is such a hard game to balance because of the ability to endlessly repeat levels.

Pete Mack July 8, 2018 19:55

Stat potions are not quite as important. It's "time to finding useful object" that matters, along with "time to finding endgame object", and finally "risk of finding" defined roughly by how many false leads you get prior to hitting a jackpot.

Philip July 8, 2018 20:38

Fair enough. "The previous balance was fine" is definitely a clear enough goal. I will propose some metrics.

* The player should be discouraged from pursuing safe (unfun) behavior (scumming early levels).
This a restatement of Derakon's first rule, but I think there are fairly clear ways to define it. I would say that unsafe behavior is encouraged when the benefits of repeating levels are diminished. In the interests of this, I propose out of depth object frequency follows exponential decay. 1/2 the frequency for every 2 levels out of depth? This preserves the long tail of out of depth objects, which is a fun feature, without letting players redo dlvl 30 50 times and probably get a ring of speed.

* The player should not feel like they have to grind.
Establish, for each ability, and for certain objects, a point at which we expect the player to start finding it, and a point at which we think a player should have found it already, assuming one clear of each level. For Free Action, this might be dlvl 1 and dlvl 30 respectively, as an example. For ESP it might be dlvl 30-70. 95% of characters should find their first source somewhere between those points. If they don't, new objects need to be introduced, or rarities or native depths need to be changed to satisfy the rule. This metric already seems to exist, but isn't explicitly stated.

One assumption I am making is that there is some plan to stop players from skipping every level between 40 and 85. These plans do not really work without such a mechanism, because they assume linear progression through the dungeon.

Pete Mack July 8, 2018 20:47

Exponential decay is too strong; it does *not* have a long tail the way the current uniform model does. The issue is the overall frequency, not the out-of-depth scaling factor. I don't understand at all what happens with speed rings. With ego objects, however, the explanation is simple: get rid of junk ego items (res cold, *slay troll*, and the like), and suddenly the good stuff is everywhere.

Philip July 8, 2018 21:01

The current model does not appear to have any tail whatsoever. It appears to instead be a linear relation with a couple step functions involved.

Personally, I think that the only way to discourage grinding is to make the quality of objects roughly equivalent to danger (i.e. monster) level, and so long as monsters are capped to 5 dlvls out of depth (which I feel is somewhat necessary), then the only way to achieve that is with rapid decay.

Pete Mack July 8, 2018 21:26

To my knowledge, grinding in hopes of finding out-of-depth objects is vanishingly rare. You grind at or deeper than an object's native level in order to find it. Finding greatly out-of-depth objects is fun, so long as it is unexpected. With the odds of finding out of depth speed rings so high in dl 40-60 as they are now, it is no longer unexpected. And it is worse still because cursed rings are still usable. Cursed speed rings used to have negative speed bonuses.

PowerWyrm July 9, 2018 08:11

Quote:

Originally Posted by fizzix (Post 131572)
But, here's something that surprised me. 4.feature has, on average, far fewer monsters than 3.4. In fact at about level 40, the two branches diverge, with 4.feature having about 60% of the monsters per level than 3.4. There are a lot of possible reasons for this.

No, only one obvious reason: GV frequency has been halved.

fizzix July 9, 2018 20:15

Quote:

Originally Posted by PowerWyrm (Post 131675)
No, only one obvious reason: GV frequency has been halved.

Can't be. Vault loot is significantly increased in 4.feature.

Derakon July 9, 2018 20:49

Does that count non-vault special rooms as vault loot?

fizzix July 9, 2018 20:55

Quote:

Originally Posted by Derakon (Post 131749)
Does that count non-vault special rooms as vault loot?

I don't think so. It uses the square_isvault function. I don't think that applies to special rooms, but I could be wrong.

Personally, I think the decrease is more to do with the lack of pits.

PowerWyrm July 10, 2018 08:21

Quote:

Originally Posted by fizzix (Post 131743)
Can't be. Vault loot is significantly increased in 4.feature.

I was referring to monster density. Most monsters in deep levels are in vaults, and cutting the number of GVs in half will surely remove a lot of monsters from the deep levels.

Nick July 10, 2018 12:43

Quote:

Originally Posted by fizzix (Post 131753)
I don't think so. It uses the square_isvault function. I don't think that applies to special rooms, but I could be wrong.

It doesn't apply to template rooms, but does apply to all the things in vault.txt (including the new interesting rooms).

fizzix July 10, 2018 14:33

Quote:

Originally Posted by Nick (Post 131798)
It doesn't apply to template rooms, but does apply to all the things in vault.txt (including the new interesting rooms).

Oh i see. That does mean those numbers will be wonky. Probably should adjust wiz-stats so it only considers lesser/medium and greater vaults. Is there an easy way to do that?

Nick July 10, 2018 22:28

Quote:

Originally Posted by fizzix (Post 131800)
Oh i see. That does mean those numbers will be wonky. Probably should adjust wiz-stats so it only considers lesser/medium and greater vaults. Is there an easy way to do that?

The only quick (and very dirty) way I can think of is to hack gen-room.c so interesting rooms aren't marked as vaults. You could do that for stat-collecting purposes by something like replacing
Code:

                        icky = true;
with
Code:

                        icky = !streq(v->typ, "Interesting room");
in build_vault(), but I wouldn't want to bring that into the codebase at the moment.

fizzix July 11, 2018 00:28

Is it currently the case that you can't teleport into "interesting rooms?" If so, I think that's something we should consider changing

Nick July 11, 2018 01:33

Quote:

Originally Posted by fizzix (Post 131807)
Is it currently the case that you can't teleport into "interesting rooms?" If so, I think that's something we should consider changing

Yeah, I want to do a bit of a rationalisation of room selection for 4.2 - Nomad has discussed this before, with IIRC the possibility of uniting interesting rooms and template rooms.

wobbly January 20, 2019 01:04

Hi, I was wondering if you have the odds on !speed/depth somewhere in your stats? My personal experience is a !speed is near guaranteed on dlvl 1. Clearing the 1st 10 dungeon levels however is unlikely to net you 10 !speed. There seems a perverse incentive to repeat dlvl 1 for !speed likely caused by a removal of junk items from the early game.

MattB January 27, 2019 10:33

Quote:

Originally Posted by fizzix (Post 131572)
But, here's something that surprised me. 4.feature has, on average, far fewer monsters than 3.4. In fact at about level 40, the two branches diverge, with 4.feature having about 60% of the monsters per level than 3.4. There are a lot of possible reasons for this.

I don't know how much difference this would make, or even if it is relevant to the way you are collecting stats, but I seem to remember Takkaria dropping the spawn rate of monsters right down, i.e. monsters created after level creation.


All times are GMT +1. The time now is 22:25.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2020, vBulletin Solutions Inc.