Dungeon Master
Posts: 291
Joined: Wednesday, 6th June 2012, 18:59
Snake endings: XP analysis and possible changes
I'll proceed in the order that the endings are present in snake.des and will be speaking in vault definitions and glyphs to come up with the correct number of monsters.
Let's start with snake_hunt. There are 93 's and "s, each of which places a 1, 2, or 3 on a 1 in 30 chance each, or a 4 or 5 which - split between the two - are also on a total of a 1 in 30 chance; thus, over the 146 glyphs, there are an average of (146 * 1/30) = 6.2 each of 1s, 2s, 3s, 4s, and 5s.
There are an additional 12 1s and 2s, 10 3s, 4s, and 5s, and 11 6s.
On this map, 1s are a 50/50 chance of a naga, 2s are a 50/50 chance of a greater naga, 3s are a 50/50 chance of a guardian serpent, 4s are a 50/50 chance of a naga warrior, 5s are a 50/50 chance of a naga mage, and 6s are a choice between a greater naga and a guardian serpent.
Combining these, we get a total of 9.1 nagas, 14.6 greater nagas, 13.6 guardian serpents, 8.1 naga warriors, and 8.1 naga mages.
According to my checking with the monster database, nagas are worth 109 XP on average, greater nagas 1687 XP, guardian serpents 587 XP, naga warriors 748 XP, and naga mages 357 XP.
This gives a total of 42555.8 XP on average for snake_hunt.
Next, consider snake_pit. This is easier to analyse - there are no randomly placed glyphs, only glyphs with a random chance of a monster.
There are 10 1s, 8 2s, 36 3s, and 17 4s. 1s are a 50/50 chance of a greater naga, 2s are a guaranteed naga, 3s are a 50/50 chance of a naga mage, and 4s are a 50/50 chance of a naga warrior. This gives 5 greater nagas, 8 nagas, 18 naga mages, and 8.5 naga warriors.
With our XP totals from earlier, this gives 22091 XP.
On to minmay_snake_end_coiled! The map has 32 1s, 18 2s, and 18 4s. However! Before assigning monsters to these, one in three 1s are erased, 2s are replaced with a 2, a 3, or nothing on an even chance, and 4s are replaced with 4s on a 3/8 chance, a 1, 2, or 3 on a 1/8 chance each, or nothing otherwise.
This gives us a total of 23.58 1s, 8.25 2s, 8.25 3s, and 6.75 4s, which are nagas, naga warriors, naga mages, and greater nagas respectively - i.e. 23.58 nagas, 8.25 naga warriors, 8.25 naga mages, and 6.75 greater nagas.
With our XP totals from earlier, we get 26299.47 XP.
Now for the doozy - snake_pit_salamanders_mu. The map has 28 2s, 16 3s, 20 4s, 5 5s, 34 6s, 10 7s, one O, and two Ss; in addition, there are six randomly places 1s and eight randomly placed 7s.
1s are guaranteed nagas; 2s are a 50/50 chance of a naga mage; 3s are a 50/50 chance of a naga warrior; 4s are a 50/50 chance of a greater naga; 5s are a 50/50 chance of a guardian serpent; 6s are a 7-in-27 chance of an anaconda or a 10-in-27 chance of a black mamba; 7s are a 10-in-25 chance of a salamander or a 5-in-25 chance of a lava snake, and the Os and Ss are guaranteed guardian serpents (the O, incidentally, is the location of the rune).
We thus get 6 nagas, 14 naga mages, 8 naga warriors, 10 greater nagas, 5.5 guardian serpents, 8.8 anacondas, 12.6 black mambas, 7.2 salamanders, and 3.6 lava snakes.
Anacondas are worth, on average, 1139 XP; black mambas, 457 XP; salamanders, 1403 XP; lava snakes, 48 XP.
With our totals from earlier, we get 57790 XP for the map.
Last but possibly not least, we get grunt_snake_rune_spirals. The map has 24 1s, 34 2s, 14 3s, and 12 4s; 1s are a 50/50 chance of a naga, 2s are either a naga warrior or a naga (50/50 chance); 3s are either a naga mage or a naga; 4s are either a greater naga or a guardian serpent.
Thus, we get 36 nagas, 17 naga warriors, 7 naga mages, 6 greater nagas, and 6 guardian serpents on average.
This totals 32783 XP.
I now add the caveat for this map that it is sometimes only necessary to successfully traverse 50% of the map to get the rune; since the enemies are evenly distributed between the two halves, this would give 16391.5 XP - considerably less than even snake_pit.
If we add 8 2s and 8 4s to the map, we end up with 40 nagas, 21 naga warriors, 7 naga mages, 10 greater nagas, and 10 guardian serpents, for 45307 XP total and 22653.5 XP for traversing half the map; this is slightly more than snake_hunt for the entire map and slightly more than snake_pit for half the map. (I'll probably implement this change in the immediate future, assuming feedback isn't overly negative to the idea.)
On to my other concern - the salamander ending is worth 35.7% more XP than the current next closest contender (27.5% if we include the probable changes to my own ending), and more than 2.5 times as much experience as snake_pit. It is also the most lethal Snake ending in versions that have had it, i.e. 0.10 onwards (though, admittedly, it is only narrowly ahead of snake_hunt in that respect - at post time, there were 95 deaths in the salamander ending, vs. 92 for snake_hunt, 53 for minmay's ending, and 18 for snake_pit). It has long been my view that the difficulty of that ending needs to be toned down, and I would welcome suggestions on how to approach it; were we to remove around 12000 XP in monsters in total, this would bring it in line with snake_pit and (the forthcoming revised version of) my own ending.
I welcome further feedback and discussion.
Edit: since making this post, I've made the described changes to grunt_snake_rune_spirals (which won't arrive on the servers for another day or so, of course).