What about tracking the consumables used during the fights? Often, when I'm evaluating uniques, I think of my major healing potions, speed potions and other harder-than-average-to-replace things. Sure, I might be able to kill the Tarrasque with a given character, but is it worth 8 heals, 5 speeds, 1 rune of protection, and so on. Just a thought. I notice in your screenshot you don't list major healing, so maybe this info isn't really so useful.
Procedurally Generated Unique Monsters
Collapse
X
-
-
Will_Asher
aka LibraryAdventurer
My old variant DaJAngband:
http://sites.google.com/site/dajangbandwebsite/home (defunct and so old it's forked from Angband 3.1.0 -I think- but it's probably playable...)Comment
-
I got rid of Wand of Teleport Other, Staff of Teleportation, and Scroll of Teleportation, then reran some simulations for the previous top 10 to see whether any significant changes would occur in the results.
- Rogrog the Black Troll (up from #3)
- Vargo, Tyrant of Fire (down from #1)
- Scatha the Worm (up from #5)
- Lokkak, the Ogre Chieftain (same)
- Itangast the Fire Drake (up from #6)
- Adunaphel the Quiet (up from #7)
- Akhorahil the Blind (up from #9)
- Quaker, Master of Earth (down from #2)
- Ren the Unclean (up from #10)
- Ulfang the Black (down from #8)
Details on sheet 2 here.
Most significant changes seem to be Rogrog, Scatha, Quaker, and Ulfang. The borg was even less likely to win against Quaker without teleportation it seems (I don't think it likes tunneling).
I'm going to add a corridor as mentioned earlier and rerun simulations across all uniques to see what I get.
I'm starting to wonder whether balanced fights indicate interestingness (as I've been using), or fights that the borg is is less likely to win is more interesting. I guess it depends on whether you believe a fight you'll more likely win can be interesting? (With the current theory, this can happen if the average remaining %HP is low enough)Comment
-
Comment
-
Hm, I would tend to think that an interesting fight is one that is close, and that includes use of one-shot resources. Your average player is going to be carrying some potions in case of emergency. Generally I go into the dungeon with 15 Cure Critical Wounds and 2-4 Healing potions (and 15 Phase Door and a bunch of other stuff that wouldn't make sense to use in your context), though of course by the time I encounter a given unique they may be depleted somewhat.
Of course, it's not at all clear that the enemies the borg would have trouble with are the same ones that humans would have trouble with, but it's not like you have an automatable human-level AI handy.Comment
-
I think the biggest point of contention with the exercise is that it clashes so strongly with my own experience. I think the following uniques are interesting.
orfax/boldor
wormtongue
huan/carcharoth
thuringwethil
tselakus
kavlax
draebor
saruman
Adunaphel
Dwar (with the summoning changes of 3.4, summon hounds is a very interesting summon spell)
(omarax would be, if he had a drop)
My list doesn't overlap at all with Riff's...Comment
-
- 5 Potions of Healing
- 41 Potions of Cure Critical Wounds
- 1 Potion of Restore Life Levels
- 2 Potions of Speed
- 4 Potions of Resist Poison
- 14 Scrolls of Phase Door
- 9 Scrolls of Satisfy Hunger
- 26 Arrows of Venom
- 69 Arrows
I'll work with what I have for now, haha. Having a human-level AI would definitely help make it more accurate though, yes.Comment
-
I ran a full simulation using this new dungeon, and as mentioned earlier, teleportation stuff has been removed, and 5 Potions of Healing have been added.
Giving equal weighting to Win/Lose Ratio and %HP Remaining, these are the top 10:- Rogrog the Black Troll
- Vargo, Tyrant of Fire
- Lokkak, the Ogre Chieftain
- Akhorahil the Blind
- Itangast the Fire Drake
- Adunaphel the Quiet
- Smaug the Golden
- Waldern, King of Water
- Scatha the Worm
- Quaker, Master of Earth
Mostly familiar faces, though Smaug and Waldern have replaced Ulfang and Ren.
If I only consider Win/Lose Ratio closest to 0.5:- Rogrog the Black Troll
- Vargo, Tyrant of Fire
- Lokkak, the Ogre Chieftain
- Akhorahil the Blind
- Smaug the Golden
- Itangast the Fire Drake
- Adunaphel the Quiet
- Draebor, the Imp
- Scatha the Worm
- Waldern, King of Water
Similar, but additionally Draebor has replaced Quaker.
I'm going to start working on the unique generation algorithm, essentially seeking to optimize some evaluation function. Personally, I think the evaluation function could be tweaked to your taste, but for the purposes of my project, I'm thinking of using something like this:- Win/lose ratio close to 0.5 [Weight = 5]
- High average use of consumables [Weight = 3]
- Low average %HP remaining [Weight = 2]
The weights are quite arbitrary, but I think make sense to some extent.
Win/lose ratio definitely should be the main indicator - we wouldn't want an enemy that forces high use of consumables, has low HP once it beats you, but is ultimately near impossible to beat, to score high.
Average use of consumables might cover too many things; but to keep the function simple, it'll do for now. I imagine you could split it into several values tracking different types of consumables and optimize different kinds of monsters that way.
I think average use of consumables is just slightly more important than the average %HP remaining, considering that HP can be replenished and that consumables are pretty much one-shot.
Once I'm done, I'll have to see how to get people to try it out... I'm doing dev work on a Windows machine, so I'm not entirely sure whether my hacks are going to work without a hitch on other platforms.Comment
-
So it turns out my previous results with the included 5 Potions of Healing were invalid. I only realized this once I started logging the consumable usage and found that the borg seemed to be mysteriously using up ALL its Healing for ALL simulations. Then I found that it had been hard-coded to use up Healing if its HP is below a certain value when facing a QUESTOR...I suppose with the assumption that it was fighting Morgoth and had a lot more HP.
Anyway, I got some new results, and the rankings have changed significantly due to the addition of Healing (not surprising I suppose considering the survivability it affords). Again, using my evaluation function, these are the most 'interesting'(along with the interestingness score):- Beorn, the Shape-Changer 0.665
- The Queen Ant 0.662
- Lorgan, Chief of the Easterlings 0.583
- Medusa, the Gorgon 0.499
- Ji Indur Dawndeath 0.387
- Akhorahil the Blind 0.369
- Vargo, Tyrant of Fire 0.334
- Hoarmurath of Dir 0.319
- Shelob, Spider of Darkness 0.272
- Smaug the Golden 0.269
Among them, the borg's survivability seems to indicate:- Close: Beorn and Queen Ant almost.
- Tough: Hoarmurath, Shelob, Medusa, Lorgan
- Easy: Smaug, Vargo, Akhorahil, Ji Indur
Full data here.
Just out of interest, I tried looking at the correlations between some of the data. There's a high correlation(-0.849) between Depth and the Win/Lose Ratio, so that at least shows that the borg is generally finding the uniques progressively harder and harder to defeat. The next highest(-0.412) is between Power and the Win/Lose Ratio. So it seems as though Depth is a much better indicator than Power for the borg's survivability.
I think I'm done with analyzing the existing uniques for now. Generated uniques coming soon...Comment
-
Just out of interest, I tried looking at the correlations between some of the data. There's a high correlation(-0.849) between Depth and the Win/Lose Ratio, so that at least shows that the borg is generally finding the uniques progressively harder and harder to defeat. The next highest(-0.412) is between Power and the Win/Lose Ratio. So it seems as though Depth is a much better indicator than Power for the borg's survivability."Been away so long I hardly knew the place, gee it's good to be back home" - The BeatlesComment
-
Hi again! My finals just ended (last exams ever hurrah!), so I'm back to finish the project - deadline's looming in less than a month.
I had a talk with my supervisor and he noticed that I forgot to take into account that most people would try to max out their stats by the time they reach DL 50. So what I did was take an average of the base stats of the 4 character dumps I used (weighted by how close they are to DL 50), and reran the simulations on the existing uniques.
Additionally, I revised the criteria used for evaluating a unique.
1. Win/Lose ratio. Still the same.
2. Average item consumption. Now weighted by the cost of the item.
3. Average HP consumption. This now simply tracks how much HP the player has lost (can go over max HP due to healing and whatnot).
4. Reasonable turns. Not too long, not too short. I took the average number of turns for all uniques tested as a start, which turned out to be 42.
Some interesting correlations:
1. Win/Lose ratio and depth actually worsened slightly from -0.849 to -0.837. However, the change is less than 0.05(5%), so it's not too significant.
2. Item consumption and depth improved from 0.268 to 0.442! Which probably shows that the new weighted measure is a better indicator.
3. HP consumption and depth also shows a high correlation of 0.801.
4. Reasonable turns and depth barely have a correlation of 0.066...but that's no surprise considering it doesn't differentiate between winning or losing too fast.
5. Power also shows improved correlation with win/lose ratio from -0.412 to -0.491. Also has correlation with item consumption at 0.167 and HP consumption at 0.405. The correlations here actually look a bit similar to the earlier depth correlations, though not as strong.
My new proposed evaluation function takes these factors into account (closeness being a measure of W/L approaching 0.5):
1. Correlations with depth as sign of appropriateness/viability
Closeness = HP > Item (roughly)
2. HP consumption and reasonable turns require...a special kind of normalization(ie. have to predict the biggest range we might encounter in simulations). As such, we might not want to rely on them too much.
3. Interestingness measures based on previous theories and discussions here
Closeness is definitely important. It's a form of outcome uncertainty.
Item consumption as well, since a battle that requires you to actually use up your resources is more interesting than one where you can simply whack the enemy to death.
Reasonable turns has been shown in previous research to be a good indicator of interestingness.
So:
Closeness > Item > HP = Turns
4 : 3 : 1.5 : 1.5
Sorting the uniques by this evaluation formula, we get this top 10 list of interesting fights for a CL 40 Half-Troll Warrior:- Atlas, the Titan
- Khamul, the Black Easterling
- The Lernaean Hydra
- The Phoenix
- Ar-Pharazon the Golden
- Omarax, the Eye Tyrant
- Saruman of Many Colours
- Dwar, Dog Lord of Waw
- Gorlim, Betrayer of Barahir
- The Balrog of Moria
It's quite a huge change from the previous experiments, largely because of the maxed out stats I believe! If we take a W/L of 0.451 to 0.550 to be close, then we get:- Easy and interesting: Atlas, the Titan; Ar-Pharazon the Golden; Dwar, Dog Lord of Waw; Gorlim, Betrayer of Barahir
- Close and interesting: Khamul, the Black Easterling
- Hard and interesting: The Lernaean Hydra; The Phoenix; Omarax, the Eye Tyrant; Saruman of Many Colours; The Balrog of Moria
Data here.
Next, I'll be implementing the algorithm for generating uniques. Hopefully I'll have something for you guys to play with by sometime next week so I can get some feedback. Cheers!Comment
-
Thanks for the update. I'm surprised to see the two ringwraiths in the list - they're notably less worrying to most players than any of the other entries. Forgive me if I've forgotten something from an earlier post, but is native depth relevant here? ISTR it is, and it would point to an interesting idea that the two ringwraiths are quite tough for their depth, if not in absolute terms.
I look forward to seeing the generator ..."Been away so long I hardly knew the place, gee it's good to be back home" - The BeatlesComment
-
Well, the idea is that this is all based on the composite player I created (which is an amalgamation of 4 characters from the ladder whose max depth ranges between 46-54), i.e. my approximation of a character at DL 50.
As a reminder, here's the details of the CL 40 Half-Troll Warrior I'm using as a model.
Full stats (after applying bonuses etc.)
STR: 18/182
INT: 18/25
WIS: 18/20
DEX: 18/85
CON: 18/***
CHR: 15
Lance of the Eorlingas
Short Bow of Amrod
Ring of Constitution <+4>
Ring of Speed <+7>
Jewel 'Evenstar'
Phial of Galadriel
Augmented Chain Mail of Caspanion
Elven Cloak of the Magi [6, +8]
Small Metal Shield of Thorin
Hard Leather Cap of Thranduil
Set of Leather Gloves 'Cammithrim'
Pair of Leather Sandals of Speed [1,+7] <+8>
69 Arrows
26 Arrows of Venom
41 Potions of Cure Critical Wounds
5 Potions of Healing
Potion of Restore Life Levels
2 Potions of Speed
4 Potions of Resist Poison
14 Scrolls of Phase Door
9 Scrolls of Satisfy Hunger
Rod of Trap Location
Rod of Detection
4 Rods of Curing
Rod of DisarmingComment
-
This is just a purely random enemy. The full generator will be using a simulation-based genetic algorithm to find 'interesting' enemies for the given situation. It's nearly done, but I likely won't have any results till next week.
Meanwhile, my code is on github: https://github.com/AriffWambeck/angband
I've been developing on Windows, but I might get around to compiling it on Linux later on.Comment
Comment