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

November 21, 2016, 19:04   #11
Derakon
Prophet

Join Date: Dec 2009
Posts: 8,375
Quote:
 Originally Posted by Estie I understand that, because of the ego item distribution, +5 speed on boots is almost worthless and on armor, very relevant. But where exactly do you need the distinction ? What are you trying to achieve ?
The goal is to somehow boil down every item's power to a single scalar value, so that items can be objectively compared to each other in a vacuum. This will, if done properly, be a major boon for making decisions about game balance, because we'll be able to say "the player should have about this power level by this point in the game" and adjust item frequencies to suit.

Quote:
 As for blows/shots, just let +1 blow be equivalent in power to +5 speed. Then have weapons pick up extra blows with a 10% probability and non-weapons with 1%, and you end up with a distribution that is similar to the current situation (if you so wish - adjust values to gusto).
I believe Magnate tried a similar approach with item power levels, except that he used +damage instead of speed as his "everything converts to this somehow". But Nick is trying to find a solution that doesn't involve a bunch of hardcoded fiddle factors.

November 21, 2016, 20:28   #12
Nick
Vanilla maintainer

Join Date: Apr 2007
Location: Canberra, Australia
Age: 53
Posts: 7,112
Donated: \$60
Quote:
 Originally Posted by Derakon I'm fine with removing monster power code, but I'd think very carefully about object power. I suspect that power is not so linear as you describe; in particular, the power of a given item is dependent on all the other items that you could equip in that slot.
This is true, and I was oversimplifying.

The current object power is largely linear, for example
Code:
```	int q = (obj->to_h * TO_HIT_POWER / 2);
p += q;```
adds a linear bonus per +1 to-hit, where TO_HIT_POWER is the scaling factor.

Other things have a bonus for more than one appearing, such as object flags:
Code:
```	for (i = 0; i < N_ELEMENTS(flag_sets); i++) {
if (flag_sets[i].count > 1) {
q = (flag_sets[i].factor * flag_sets[i].count * flag_sets[i].count);
p += q;
log_obj(format("Add %d power for multiple %s, total is %d\n",
q, flag_sets[i].desc, p));
}

/* Add bonus if item has a full set of these flags */
if (flag_sets[i].count == flag_sets[i].size) {
q = flag_sets[i].bonus;
p += q;
log_obj(format("Add %d power for full set of %s, total is %d\n",
q, flag_sets[i].desc, p));
}
}```
These I think are reasonable, and on the whole I think after some clarification the object power code will not change much apart from the following two areas:
• Slays and Brands - here there is a big sum done across all monsters of (monster power) * (best multiplier). This is appealing to me as a mathematician, except for the fact that it forms a small part of the total object power, and so is a tiny little piece of precision in a sea of fudge factors. Better just to treat slays and brands like object flags - they get a fixed value, maybe some bonuses for multiples, and be done with it.
• Off-slot extra might, blows and shots. These don't exist in the standard artifact set, and complicate the reasoning for power calculations. I propose disallowing them from randarts.

There will still be a certain amount of guesswork required beyond the actual scaling factors - how to assess off-weapon combat bonuses, for example - but I'm inclined to keep it to a minimum.
__________________
One for the Dark Lord on his dark throne
In the Land of Mordor where the Shadows lie.

November 21, 2016, 20:30   #13
Derakon
Prophet

Join Date: Dec 2009
Posts: 8,375
Quote:
 Originally Posted by Nick Off-slot extra might, blows and shots. These don't exist in the standard artifact set, and complicate the reasoning for power calculations. I propose disallowing them from randarts.
I kind of like the possibility of off-weapon blows and might. They add a lot of potential interest to randarts. I do recognize that balancing them is a pain.

As usual, I feel that extra shots should not even be in the game.

 November 21, 2016, 20:56 #14 Pete Mack Prophet   Join Date: Apr 2007 Location: Seattle, WA Posts: 4,776 Donated: \$40 I hate those weapons with essentially every slay and brand. They are never remotely as good as the original item. The right way to do it is calculated base damage as a fraction of power, then adjust dice, weight and to_d accordingly. Then add a few slays and brands. A very few. The primary exceptions are CON (for help with full casters) and speed (freeing up a ring slot for damage)
November 21, 2016, 22:48   #15
EpicMan
Swordsman

Join Date: Dec 2009
Location: Dallas, Texas, USA
Posts: 335
Quote:
 Originally Posted by Derakon I believe Magnate tried a similar approach with item power levels, except that he used +damage instead of speed as his "everything converts to this somehow". But Nick is trying to find a solution that doesn't involve a bunch of hardcoded fiddle factors.
What if you took all of the resists, abilities, pluses etc from the standard arts and redistributed them on an equal number of weapons, soft/hard/dragon armors, rings, etc? So if there are 40 (made-up number) instances of Resist Poison in the standart set, 40 (probably different) items will have rPoison in an artifact set. Maybe most (again, made-up) are on body armors in standarts, but in this instance it could be mostly on weapons, or boots, or whatever. If 6 items have +2 STR in Standarts 6 items will have it in the randarts, just not the same items and not in the same rune combinations as in the standarts.

The upside is that you could avoid having to use some kind of formula for calculating the power of every possible rune/bonus and just say that the randarts will have the same potential power level as the standarts.

 November 22, 2016, 00:16 #16 Pete Mack Prophet   Join Date: Apr 2007 Location: Seattle, WA Posts: 4,776 Donated: \$40 Redistribution like that doesn't work. First, because you end up with very strong combinations. Second, because you end up with very weak defender-style weapons and bows'
November 22, 2016, 02:05   #17
Estie
Veteran

Join Date: Apr 2008
Location: Germany
Posts: 1,563
Quote:
 Originally Posted by Derakon The goal is to somehow boil down every item's power to a single scalar value, so that items can be objectively compared to each other in a vacuum. This will, if done properly, be a major boon for making decisions about game balance, because we'll be able to say "the player should have about this power level by this point in the game" and adjust item frequencies to suit.
This doesnt work. If you change the game to where it works, it is my firm belief that the game is no longer worth playing. The (item) game lives from non-linear, circumstance dependent evaluations the player has to make constantly.

Anyway, since I cant program, I am going to leave this thread alone now.

 November 22, 2016, 13:50 #18 fizzix Prophet   Join Date: Aug 2009 Location: Madison, Wisconsin, US Posts: 2,999 I sort of agree with giving a flat value to slays, however, I think that it should also be a function of damage dice. A slay evil flag on an 8d4 mace is a lot better than a slay evil flag on a 1d4 dagger.
November 22, 2016, 15:45   #19
Derakon
Prophet

Join Date: Dec 2009
Posts: 8,375
Quote:
 Originally Posted by Estie This doesnt work. If you change the game to where it works, it is my firm belief that the game is no longer worth playing. The (item) game lives from non-linear, circumstance dependent evaluations the player has to make constantly.
I agree that it's impossible to provide an item value that's going to be accurate in any situation. However, I do think it should be possible to provide an item value that any player would look at and think "yeah, that sounds about right."

I mean, I'm sure you've looked at someone's randart-game dump, seen an awesome randart, and thought "Man, I wish I had that!", irrespective of what the rest of their gear looked like!

November 22, 2016, 16:56   #20
Estie
Veteran

Join Date: Apr 2008
Location: Germany
Posts: 1,563
Quote:
 Originally Posted by Derakon I agree that it's impossible to provide an item value that's going to be accurate in any situation. However, I do think it should be possible to provide an item value that any player would look at and think "yeah, that sounds about right." I mean, I'm sure you've looked at someone's randart-game dump, seen an awesome randart, and thought "Man, I wish I had that!", irrespective of what the rest of their gear looked like!
Since you reply diredctly and I see missunderstanding, I have to post:

Of course it is possible to make a rough estimate and hope that it is valid in at least some circumstances, thats not only possible, it is fairly simple and already has been done. It is impossible to do without "hardcoded fiddle factors" though, which was my point. (And if you streamline item modifiers so much that looking at the scalar value of an item is enough to decide if its an upgrade, you ruined the game.)

Again, what are you trying to achieve ? "Better balance" is about as meaningful as "more fun".

 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 20:59 fruviad Vanilla 1 September 7, 2011 18:22 Philip Vanilla 50 February 9, 2011 14:58 Nick Variants 6 January 22, 2009 06:23 APWhite Variants 0 December 27, 2008 00:13

All times are GMT +1. The time now is 11:56.