Crossposting from the "No OP Items" thread, because I thought this was an interesting idea and I'm disappointed nobody's responded/reacted to it. As background, the issue being discussed was that it's currently too easy to generate randart sets where the player can assemble "full coverage" of important abilities and also get massive stat bonuses / good damage / good speed. It was proposed that part of the issue is that each randart is generated in a vacuum, so to speak, which ends up often making them more synergistic than standarts.
I think a few heuristics should be able to handle synergy for most cases. I don't think it's necessary to have an algorithm that's guaranteed to be perfect; after all, rare outlier games (both too strong and too weak) help to keep things interesting.
Synergy in general comes from artifacts covering for each others' weaknesses, while still providing good coverage in stackable abilities like speed and stats. Therefore a lack of synergy comes when multiple important abilities are only reliably avaliable on a single slot (and usually not at the same time), or when covering binary abilities comes at the cost of losing out on stackable abilities. For a specific example, pBlind/pConf are most frequently available on helms in standart games, and so is ESP, but there's very few sources of all three in the helm slot. This frequently leads the player to have to decide which of the three powers they want (or how to juggle their gear to get the abilities "off-slot" on an otherwise-weak item), instead of just getting all of them conveniently.
So for example (just spitballing here), an anti-synergy heuristic could work like this:
* Have a predefined set of Important Binary Abilities (IBAs). This would be things like rBase, SI, FA, ESP, pConf, etc. Abilities that all players want to have.
* Break the IBAs down into sets of at least 2 abilities. Assign each set a favored slot.
* For any randart, assign higher power if it has multiple abilities from the IBA set.
* For any randart not in the favored slot, assign higher power for each ability it has from the IBA set.
For example, if rFire and rCold are in an IBA set, and the game decides to assign that set to the ring slot, then we might see randarts like:
* The Ring of Foo (rFire) power 25
* The Ring of Bar (rCold) power 25
* The Ring of Baz (rFire, rCold) power 75
* The Boots of Quux (rFire) power 50
* The Boots of Quuux (rFire, rCold) power 100
Higher power means that the randart has "less room" to fit other abilities, making it weaker on the whole in exchange for the versatility it gets. This should, if I thought it through correctly, create randart sets where you either get versatility ("off-slot" abilities) or you get useful stats, but both would be rare.
I think a few heuristics should be able to handle synergy for most cases. I don't think it's necessary to have an algorithm that's guaranteed to be perfect; after all, rare outlier games (both too strong and too weak) help to keep things interesting.
Synergy in general comes from artifacts covering for each others' weaknesses, while still providing good coverage in stackable abilities like speed and stats. Therefore a lack of synergy comes when multiple important abilities are only reliably avaliable on a single slot (and usually not at the same time), or when covering binary abilities comes at the cost of losing out on stackable abilities. For a specific example, pBlind/pConf are most frequently available on helms in standart games, and so is ESP, but there's very few sources of all three in the helm slot. This frequently leads the player to have to decide which of the three powers they want (or how to juggle their gear to get the abilities "off-slot" on an otherwise-weak item), instead of just getting all of them conveniently.
So for example (just spitballing here), an anti-synergy heuristic could work like this:
* Have a predefined set of Important Binary Abilities (IBAs). This would be things like rBase, SI, FA, ESP, pConf, etc. Abilities that all players want to have.
* Break the IBAs down into sets of at least 2 abilities. Assign each set a favored slot.
* For any randart, assign higher power if it has multiple abilities from the IBA set.
* For any randart not in the favored slot, assign higher power for each ability it has from the IBA set.
For example, if rFire and rCold are in an IBA set, and the game decides to assign that set to the ring slot, then we might see randarts like:
* The Ring of Foo (rFire) power 25
* The Ring of Bar (rCold) power 25
* The Ring of Baz (rFire, rCold) power 75
* The Boots of Quux (rFire) power 50
* The Boots of Quuux (rFire, rCold) power 100
Higher power means that the randart has "less room" to fit other abilities, making it weaker on the whole in exchange for the versatility it gets. This should, if I thought it through correctly, create randart sets where you either get versatility ("off-slot" abilities) or you get useful stats, but both would be rare.
Comment