Angband Forums Monsters, objects and randarts - simplification
 Register FAQ Members List Calendar Search Today's Posts Mark Forums Read

December 1, 2016, 21:38   #31
Nick
Vanilla maintainer

Join Date: Apr 2007
Location: Canberra, Australia
Age: 53
Posts: 7,269
Donated: \$60
Quote:
 Originally Posted by Magnate We have a choice: imperfect algorithmic power, or imperfect simplified power. The same goes for monsters. I don't see the logic of simplifying one but not the other.
I have two arguments for treating monsters and objects differently, one philosophical and one mathematical.

First, the game story is that the character goes into dungeon, aiming to kill Morgoth and as many of his minions as necessary. In order to do this, they need objects. So the fundamental objects of the world are firstly the dungeon, and secondly the monsters - and objects are then a response to those. Your sword of *Slay Dragon* is only made that way because that's what slays dragons. So it makes sense to have monsters (and terrain), and then objects that are constructed relative to them.

Second, if you have two algorithmically constructed sets - object and monsters - which are constructed relative to each other, you lack a fixed point in the system. So objects are made and priced based on their effectiveness against monsters, but then monsters are allocated power based in part on what objects are available to counter them, and the argument becomes circular.

There is also the broader argument that we are trying to construct an increasingly complex algorithm to measure a one-dimensional power or value, when in fact values of objects vary wildly depending on game situation. I think complexity needs to be avoided as much as possible here because:
• It is hard to understand
• We start giving its results more credence than they deserve
• Small changes have unpredictable effects
• It makes the game rigid

I don't think I have explained my reasoning terribly well here, but I hope it gives some insight to my approach
__________________
One for the Dark Lord on his dark throne
In the Land of Mordor where the Shadows lie.

December 2, 2016, 17:18   #32
fizzix
Prophet

Join Date: Aug 2009
Posts: 3,001
Quote:
 Originally Posted by Nick I have two arguments for treating monsters and objects differently, one philosophical and one mathematical. First, the game story is that the character goes into dungeon, aiming to kill Morgoth and as many of his minions as necessary. In order to do this, they need objects. So the fundamental objects of the world are firstly the dungeon, and secondly the monsters - and objects are then a response to those. Your sword of *Slay Dragon* is only made that way because that's what slays dragons. So it makes sense to have monsters (and terrain), and then objects that are constructed relative to them.
This approach can run into undesirable outcomes. The most obvious example for me is Free Action. FA is really valuable early on, but it's also absolutely necessary. Your first source of FA is probably valued at something like +8 speed or maybe more. Does that mean that we should cost FA the same as +8 speed? Absolutely not, because FA is necessary to survive past level 30 or so and +8 speed is not (although it sure is helpful).

So a purely reactive approach is going to give FA a much higher power and cost just because of the sheer large number of monsters it protects against and the lethality of those attacks. I'm not sure how we get around this and similar issues with a simplified algorithm. I have a feeling things will need to be hand-tuned.

December 2, 2016, 17:27   #33
Derakon
Prophet

Join Date: Dec 2009
Posts: 8,575
Quote:
 Originally Posted by fizzix So a purely reactive approach is going to give FA a much higher power and cost just because of the sheer large number of monsters it protects against and the lethality of those attacks. I'm not sure how we get around this and similar issues with a simplified algorithm. I have a feeling things will need to be hand-tuned.
This sounds like a vote for scaling object power valuations based on how common the power is. Speed wouldn't be considered an especially valuable power if 50% of items had speed, for example.

Do we need a supply/demand curve?

December 2, 2016, 19:58   #34
fizzix
Prophet

Join Date: Aug 2009
Posts: 3,001
Quote:
 Originally Posted by Derakon This sounds like a vote for scaling object power valuations based on how common the power is. Speed wouldn't be considered an especially valuable power if 50% of items had speed, for example.
Sure that's one approach, but that doesn't fit Nick's model of first populate the dungeon with terrain and monsters, and then decide item power based off of only that information. You're including another variable.

I would agree that we need this extra variable, whatever it is, which was the point of my post.

 December 2, 2016, 21:44 #35 Nick Vanilla maintainer     Join Date: Apr 2007 Location: Canberra, Australia Age: 53 Posts: 7,269 Donated: \$60 I'm sorry, I seem to have been unclear here. I'm not advocating for wholesale change to how objects are valued - the current algorithm is pretty good. The aspects of the power calculations relevant (IMO) here are:The power calculations lack clarity. There are a lot of judgments made on the value of various things within the code itself. The monster power calculation is used for two things: re-balancing the monster list, and evaluating the power of slays and brands on objects. Re-balancing the monster list is not actually used for anything, and a part of what I'm suggesting here is that it is better done by hand. The issue of slays and brands is my next point. The object power algorithm is currently fairly clear, although putting all the parameters in one place and clearly labeling them would improve it. It calculates an attack power for weapons, and then gives weights to other powers like AC, resists, stat bonuses, etc. Most of these are straightforward, with values set by making a judgment. The exceptions to this are slays and brands, which have their value calculated by a big calculation of their effectiveness against every monster in the monster list, weighted by monster power. What I would like to do, then isReplace the current slay/brand calculation with a simple weight system. While I like the attempt at accuracy, it doesn't really fit with the heuristic nature of the rest of the calculation - it's like weighing a basket of fruit by getting a precise weight for the grape, and then using average values for all the bananas, melons, etc. Since it is now unused, remove the monster power calculation. Clarify further what parameters are being used and where in the object power calculation, to make rebalancing easier. The added bonus I haven't mentioned here is that this allows us to throw away several hundred lines of code __________________ One for the Dark Lord on his dark throne In the Land of Mordor where the Shadows lie.
 December 5, 2016, 14:19 #36 PowerWyrm Veteran     Join Date: Apr 2008 Posts: 2,452 There's also this (from monster.txt): # power: depth : rarity : power : scaled power : experience for kill For example: name:547:Morgoth, Lord of Darkness power:100:1:1536744111:1705598:60000 Yes, power is hardcoded in the txt file, and good luck to understand the values... If something changes in the code, you have to redo ALL the monsters. Why this is not calculated internally eludes my poor simple mind... __________________ PWMAngband variant maintainer - check http://powerwyrm.monsite-orange.fr (or http://www.mangband.org/forum/viewforum.php?f=9) to learn more about this new variant!
December 5, 2016, 15:01   #37
takkaria
Veteran

Join Date: Apr 2007
Posts: 1,861
Donated: \$40
Quote:
 Originally Posted by PowerWyrm There's also this (from monster.txt): # power: depth : rarity : power : scaled power : experience for kill For example: name:547:Morgoth, Lord of Darkness power:100:1:1536744111:1705598:60000 Yes, power is hardcoded in the txt file, and good luck to understand the values... If something changes in the code, you have to redo ALL the monsters. Why this is not calculated internally eludes my poor simple mind...
As far as I can tell monster power is used only in two other places: listing order in the monster list when depth is the same, and the monster rating element of the level feeling. So if it stops being used for the slays/brands, these will be fairly easy to remove and replace with depth.
__________________
"Physician, heal thyself."

December 5, 2016, 21:10   #38
Nick
Vanilla maintainer

Join Date: Apr 2007
Location: Canberra, Australia
Age: 53
Posts: 7,269
Donated: \$60
Quote:
 Originally Posted by PowerWyrm Yes, power is hardcoded in the txt file, and good luck to understand the values... If something changes in the code, you have to redo ALL the monsters. Why this is not calculated internally eludes my poor simple mind...
It used to be. One of my fairly early changes was to put it in the text file, mainly because it was in the "no gameplay change" era of code restructure and that was the easiest way to ensure that

That was never intended as a long term plan; I was always going to come back and decide what to do with the whole power system, which is what's happening now.

I now have code with monster power removed, which (as takkaria said) involved changing the monster feeling code a bit. Once I've fixed a few of the worse existing bugs too I'll get it out there for testing.
__________________
One for the Dark Lord on his dark throne
In the Land of Mordor where the Shadows lie.

December 5, 2016, 21:30   #39
Magnate
Angband Devteam member

Join Date: May 2007
Location: London, UK
Posts: 5,057
Quote:
 Originally Posted by Nick What I would like to do, then isReplace the current slay/brand calculation with a simple weight system. While I like the attempt at accuracy, it doesn't really fit with the heuristic nature of the rest of the calculation - it's like weighing a basket of fruit by getting a precise weight for the grape, and then using average values for all the bananas, melons, etc. Since it is now unused, remove the monster power calculation. Clarify further what parameters are being used and where in the object power calculation, to make rebalancing easier. The added bonus I haven't mentioned here is that this allows us to throw away several hundred lines of code
Ok I can get behind this. The original intention was that the slay/brand power calculation was the first and easiest of a whole series of values calculated according to the power of monsters, which would eventually include mathematical approximations of the value of resists and FA etc. It doesn't look like anyone else is ever going to do this, and if I ever get around to it then putting the monster power code back will be the least of my challenges.
__________________
"3.4 is much better than 3.1, 3.2 or 3.3. It still is easier than 3.0.9, but it is more convenient to play without being ridiculously easy, so it is my new favorite of the versions." - Timo Pietila

December 5, 2016, 21:36   #40
Nick
Vanilla maintainer

Join Date: Apr 2007
Location: Canberra, Australia
Age: 53
Posts: 7,269
Donated: \$60
Quote:
 Originally Posted by Magnate The original intention was that the slay/brand power calculation was the first and easiest of a whole series of values calculated according to the power of monsters, which would eventually include mathematical approximations of the value of resists and FA etc.
Yes, that makes sense. That would indeed have been a mountain of work.

Essentially you were planning to add Roko's Basilisk to the game
__________________
One for the Dark Lord on his dark throne
In the Land of Mordor where the Shadows lie.

 Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 Thread Tools Display Modes Linear Mode

 Posting Rules You may not post new threads You may not post replies You may not post attachments You may not edit your posts BB code is On Smilies are On [IMG] code is On HTML code is Off Forum Rules
 Forum Jump User Control Panel Private Messages Subscriptions Who's Online Search Forums Forums Home Angband     AAR     Vanilla     Development     ToME     Sil     Variants     Competition The real world     Idle chatter     Oook! Obsolete     v4

 Similar Threads Thread Thread Starter Forum Replies Last Post joelsanda Vanilla 14 October 27, 2011 21:59 fruviad Vanilla 1 September 7, 2011 19:22 Philip Vanilla 50 February 9, 2011 15:58 Nick Variants 6 January 22, 2009 07:23 APWhite Variants 0 December 27, 2008 01:13

All times are GMT +1. The time now is 09:59.