Angband Forums

Angband Forums (http://angband.oook.cz/forum/index.php)
-   Vanilla (http://angband.oook.cz/forum/forumdisplay.php?f=3)
-   -   22 May 2011 development release (http://angband.oook.cz/forum/showthread.php?t=4447)

myshkin May 22, 2011 22:17

22 May 2011 development release
 
A new build of the development version of Angband will be on rephial shortly. Changes since the second 5 May 2011 build:
  • Bugfixes
    • Meteors from meteor swarm now travel like bolts
    • Sauron and Morgoth can appear on cavern levels
    • Origin crash for no-longer-valid monster entries fixed
    • Priests no longer get Study(1) after learning all spells
    • Monster recall only uses state known to players
    • Object recall subwindow can now display first item of inventory
    • Traps and treasure veins retain their color at the trap detection border
    • Squelch menus no longer display artifact base kinds
    • Memory over-read bug in cmd0.c fixed (thanks to david3x3x3)
    • Thrown objects now always require aiming
    • Game correctly presents a 'bad' squelch level for some bad items
    • Multi-hued and flickering monsters now start off as their base color
    • Summoning of kin summons kin correctly
    • Generating randarts from a dead savefile with standarts and keep_randarts on now works properly
    • Monster spellcasting failure rate is now nonzero with birth_ai_smart off
  • Scared monsters have an increased failure rate for spellcasting
  • Poison resistance now prevents poisoning and reduces damage from poison melee attacks. Master and grand master mystics have a second PARALYZE attack instead of a POISON attack.
  • Better wording for weak brands
  • In standard artifact set, +dam and +speed toned down on nonweapons
  • Target-out-of-range message shows distance (thanks to ChodTheWacko)
  • Artifacts carried by deleted monsters are now preserved in preserve-off mode
  • New birth_keep_randarts option
  • The note command takes /me and /say
  • Cleanup of pluralization and capitalization behavior
  • New TMD_BOLD player timed status
  • Refactoring: monster spells, ego generation/ID, m_ptr->known_pflags, check_state() takes a flagset, trap effects, feature accessors

Please note that the pointy penalty removal is not in the list above. We decided to revert the removal in favor of further consideration.

Please follow up in this thread with any reports you may have.

Antoine May 22, 2011 23:13

Quote:

Originally Posted by myshkin (Post 53196)
A new build of the development version of Angband will be on rephial shortly.

Good work!
A.

Timo Pietilš May 23, 2011 05:00

Quote:

Originally Posted by myshkin (Post 53196)
A new build of the development version of Angband will be on rephial shortly. Changes since the second 5 May 2011 build:
  • In standard artifact set, +dam and +speed toned down on nonweapons

Please follow up in this thread with any reports you may have.

I hope this doesn't mean Feanor and Rings of Power? (still not upgraded, had not got the right state of mind for rewriting all 30 or so / class macros).

Derakon May 23, 2011 05:24

I took a quick look at a diff of artifact.txt, and here's the changes I'm seeing:

Narya at (+1, +1) (was +6)
Nenya at (+3, +3) (was +8)
Vilya at (+5, +5) (was +10)
All three have also lost the minor speed boosts they used to give (+2, +3, +4, respectively)

Elessar at (+7, +0) (was (+7, +7)); lost its speed bonus

Hammerhand at (+3, +3) (was +9)
Cambeleg at (+6, +6) (was +8)
Cammithrim at (+2, +2) (was +5)
Paurnen at (+3, +3) (was +4)
Fingolfin at (+8, +8) (was +10)
Haradrim at (+0, +0) (was +5)

Gondor, Numenor, and Holcolleth lost their speed bonuses

Colannon's pval reduced from 3 to 2

Luthien's speed bonus reduced from 4 to 2 (other modifiers remain at +4)

Looks interesting; should make the game harder too. :) Though, I'm not certain Hammerhand is worthwhile any more.

Timo Pietilš May 23, 2011 05:45

Quote:

Originally Posted by Derakon (Post 53212)
I took a quick look at a diff of artifact.txt, and here's the changes I'm seeing:

Narya at (+1, +1) (was +6)
Nenya at (+3, +3) (was +8)
Vilya at (+5, +5) (was +10)
All three have also lost the minor speed boosts they used to give (+2, +3, +4, respectively)

Those used to be +1, +2 and +3 (PVAL). If they were +2, +3 and +4 then they were only in dev versions.

Quote:

Originally Posted by Derakon (Post 53212)
Elessar at (+7, +0) (was (+7, +7)); lost its speed bonus

I would prefer keeping speed, losing combat bonuses completely. Now it is weaker than Trickery (unless you tweaked trickery as well).

Quote:

Originally Posted by Derakon (Post 53212)
Hammerhand at (+3, +3) (was +9)
Cambeleg at (+6, +6) (was +8)
Cammithrim at (+2, +2) (was +5)
Paurnen at (+3, +3) (was +4)
Fingolfin at (+8, +8) (was +10)
Haradrim at (+0, +0) (was +5)

Cambeleg and Fingolfin were unaltered old artifacts with +8 and +10 respectively. they need to retain those, because ego handgears are so powerful. Same for Cammithrim. without good damage bonuses it is just weak slaying ego with FA. If you look at damage bonus STR gives and find Cestus of Power (+5,+8) (+5) you have handgear that beats all of the above artifacts in damage if you actually need that +5 to STR. Cambeleg could still be preferred because of +2 CON, or Fingolfin because of +4 DEX, but if you have max blows and don't need CON that ego is better than any of the artifacts.

Haradrim has lost its extra blow as well, I take? Extra blow is much worse than damage bonuses. In shields damage bonuses actually make sense too, shield bashing is part of the medieval martial arts. If something shields would make it harder to hit multiple times, not easier.

Quote:

Originally Posted by Derakon (Post 53212)
Gondor, Numenor, and Holcolleth lost their speed bonuses

These are all good

Quote:

Originally Posted by Derakon (Post 53212)
Colannon's pval reduced from 3 to 2

Didn't lose speed?

Quote:

Originally Posted by Derakon (Post 53212)
Luthien's speed bonus reduced from 4 to 2 (other modifiers remain at +4)

Looks interesting; should make the game harder too. :) Though, I'm not certain Hammerhand is worthwhile any more.

Hammerhand could keep the +9 until we have some other solution to aggravation, however "Hammerhand being useless" is tradition :)

Derakon May 23, 2011 06:08

Quote:

Originally Posted by Timo Pietilš (Post 53214)
Cambeleg and Fingolfin were unaltered old artifacts with +8 and +10 respectively. they need to retain those, because ego handgears are so powerful. Same for Cammithrim. without good damage bonuses it is just weak slaying ego with FA. If you look at damage bonus STR gives and find Cestus of Power (+5,+8) (+5) you have handgear that beats all of the above artifacts in damage if you actually need that +5 to STR. Cambeleg could still be preferred because of +2 CON, or Fingolfin because of +4 DEX, but if you have max blows and don't need CON that ego is better than any of the artifacts.

+5 Cestus of Power with max damage bonus is such an implausible outlier that IMO it's not worth considering. And glove artifacts don't need to beat out glove egos. They can do things that glove egos don't do; personally I find that more interesting. Then you have to decide if e.g. the gloves that give you +3 WIS/DEX and resistance to darkness are better than the gloves that make you better at melee. Right now most of the standart gloves are combat-oriented -- three of the Paur* gauntlets and Eol aren't, but the Paur*s are wimpy and Eol aggravates. I'd rather replace Cambeleg with late-game non-melee-oriented gloves, to contrast with Fingolfin. Fingolfin only had trouble competing because +4 DEX and +2 damage wasn't generally worthwhile compared to +2 STR/CON; take that away and Fingolfin becomes the ultimate melee gloves (barring lucky Cesti of Power) while Cambeleg can do something else.

Cammithrim doesn't have a slaying ego (it might have earlier, but it doesn't now); it's basically supercharged gloves of Free Action. Its competition when you find it is likely to be Gloves of Slaying (which it might or might not beat through non-combat-boost abilities) or Gloves of Free Action, which it is strictly better than. Of course if you find it later after the better glove egos show up it's useless, but there's nothing wrong with that.

Also, Haradrim still has +1 blows.

Timo Pietilš May 23, 2011 06:23

Quote:

Originally Posted by Derakon (Post 53217)
+5 Cestus of Power with max damage bonus is such an implausible outlier that IMO it's not worth considering. And glove artifacts don't need to beat out glove egos.

I disagree on both counts. Even +5 to dam +5 power beats both Fingolfin and Cambeleg. Cestus having innate combat bonus is new addition. They are also relatively common, common enough that you find several during single game. Cambeleg/Fingolfin needs to be able to compete with those and they both do that by doing just what you said, Cambeleg giving +2 to CON and Fingolfin giving +4 DEX as well as FA. However they also need to have big combat bonuses, otherwise they are not worth using. +8 and +10 are good numbers for both of them, less makes them too inferior to high-end egos. If something you could make them a bit more rare (not much though, that too is pretty on spot currently).

These two artifacts are top artifacts, so they need to beat egos in most combinations. And be relatively rare. Otherwise there is no "Wohoo!" -effect. Other artifact gloves are not that important.

jens May 23, 2011 12:50

Assertion failed
 
1 Attachment(s)
Encountered a real bug!

I've started a HE mage, and was down at dlvl 3. Had just tried out like 4 different potions to ID them. Then a while later I was fighting a snake, when something offscreen mumbled, and there was an assertion crash.

I have a save file from less than 100 turns before, but don't believe it's helpfull (I've tried twice to reproduce the crash but no success). However I did find out that there was a kobold shaman lurking out of sight.

Magnate May 23, 2011 13:35

Quote:

Originally Posted by jens (Post 53229)
Encountered a real bug!

I've started a HE mage, and was down at dlvl 3. Had just tried out like 4 different potions to ID them. Then a while later I was fighting a snake, when something offscreen mumbled, and there was an assertion crash.

I have a save file from less than 100 turns before, but don't believe it's helpfull (I've tried twice to reproduce the crash but no success). However I did find out that there was a kobold shaman lurking out of sight.

Excellent - thank you. This is a real bug - something is going wrong with a spell that the kobold shaman is trying to cast. (I presume it was the shaman - were there any other casters lurking just out of sight?) Please post the savefile and I will try to reproduce.

kaypy May 23, 2011 13:38

The Alter command doesn't seem to be working on some terrains. I am having to manually dig through veins and treasure.

--
My dev-release summoning ritual worked!
1) Start a new character
2) A new dev-release will immediately become available

jens May 23, 2011 13:58

1 Attachment(s)
Tinkered a bit more with this, seems the crash occurs whenever the kobold shaman casts a magic missile.

Made a new save just before the encounter. In the save file just walk north and walk around in the room until the kobold casts a magic missile. Have a bunch of the new and improved CLW, so it's quite safe :-)

Magnate May 23, 2011 14:26

Quote:

Originally Posted by jens (Post 53234)
Tinkered a bit more with this, seems the crash occurs whenever the kobold shaman casts a magic missile.

Made a new save just before the encounter. In the save file just walk north and walk around in the room until the kobold casts a magic missile. Have a bunch of the new and improved CLW, so it's quite safe :-)

That's odd, because I fixed a crash on magic missile earlier on in the spell refactor. Either I messed up and regressed somewhere, or it's a coincidence and it's a completely different problem.

Thanks for the savefile - I'll have a look this evening.

jens May 23, 2011 14:39

So far it's crashed for me each time someone cast a magic missile on me, so guessing it is still buggy...

kaypy May 23, 2011 15:28

I'm getting about the same: magic missile = destroy the world

I have seen it occasionally get the spell off without crashing, but it's 80% crashing so far...

Magnate May 23, 2011 16:17

Quote:

Originally Posted by kaypy (Post 53238)
I'm getting about the same: magic missile = destroy the world

I have seen it occasionally get the spell off without crashing, but it's 80% crashing so far...

Hmmm. Inconsistency makes bug hunting much harder, but if it happens 80% of the time it's probably going to be easy enough to find and fix.

Looks like there will be a new nightly out soon, as there's not much testing that can be done if magic missiles crash the game ...

kaypy May 23, 2011 16:52

Been doing some digging.

Should monster_learn_resists or update_smart_learn abort where
gf_ptr->resist
gf_ptr->immunity
or
gf_ptr->vuln
is null?

Because as near as I can tell, when that null goes into FLAG_OFFSET(flag) we get a negative-wraparound on the unsigned flag_offset which is what causes the crash.

Magnate May 23, 2011 20:37

Quote:

Originally Posted by kaypy (Post 53241)
Been doing some digging.

Should monster_learn_resists or update_smart_learn abort where
gf_ptr->resist
gf_ptr->immunity
or
gf_ptr->vuln
is null?

Because as near as I can tell, when that null goes into FLAG_OFFSET(flag) we get a negative-wraparound on the unsigned flag_offset which is what causes the crash.

Excellent, thank you - that explains the regression. Last time I had to add the nullness check to check_for_resist, this time it needs adding to update_smart_learn.

I'm not sure why the assertion failure was in z-bitflag.c though, when there was already an assert in update_smart_learn itself. Compiler optimisation, I guess.

Anyway, a new nightly should be out in a couple of hours. Thanks for the catch.

myshkin May 24, 2011 00:56

Yet another build
 
Fixes for the tunneling bug that kaypy reported and for the magic missile crash that jens reported are now on their way to the next dev release. Note that the one marked ef9e70e6dc still has some problems; you'll want the one marked 31b20dac9b. It should be up in a couple hours. The only other changes from the 22 May 2011 release are the Mac OS X accented characters fix, some tweaks to level feelings, and a more sensible message at death about keeping randarts.

kaypy May 24, 2011 00:59

Quote:

Originally Posted by Magnate (Post 53242)
I'm not sure why the assertion failure was in z-bitflag.c though, when there was already an assert in update_smart_learn itself. Compiler optimisation, I guess.

The assert used to be assert(what >= 0), which wouldn't catch the null...

SSK May 24, 2011 04:45

Quote:

Originally Posted by Timo Pietilš (Post 53220)
I disagree on both counts. Even +5 to dam +5 power beats both Fingolfin and Cambeleg. Cestus having innate combat bonus is new addition. They are also relatively common, common enough that you find several during single game. Cambeleg/Fingolfin needs to be able to compete with those and they both do that by doing just what you said, Cambeleg giving +2 to CON and Fingolfin giving +4 DEX as well as FA. However they also need to have big combat bonuses, otherwise they are not worth using. +8 and +10 are good numbers for both of them, less makes them too inferior to high-end egos. If something you could make them a bit more rare (not much though, that too is pretty on spot currently).

These two artifacts are top artifacts, so they need to beat egos in most combinations. And be relatively rare. Otherwise there is no "Wohoo!" -effect. Other artifact gloves are not that important.

Totally agree With Timo.

Cambeleg and FIngolfin are top artifacts--I want to see these restored.
Same with the rings of power--I totally welcomed their recent boosting in speed and damage because in my mind they always had trouble competing with rings of speed, when they really ought to be something special--tip top artifacts.

I sort of disagree stripping speed from Gondor--in my current game I totally don't find Gondor a no-brainer over Dor-Lomin because of the letter's telepathy. Gondor is a top artifact.

If you want to tone down Elessar, Numenor, Haradrim, and Hammerhand that is totally reasonable--Haradrim is a new nontraditional artifact anyway, and I really don't like all these artifacts of evil no-class Harad being so powerful relative to the far more glorious Elven, Dwaven, Westernesse, and Godly origin stuff--the Haradrim just weren't portrayed as that powerful. Elessar--well, it's kind a newish anyway and I think a bit too powerful, but how about toning doen a *little*--stripping speed and removing all 7 damage is too much. Hammerhand--well, +9/+9 is too powerful especially as Helm Hammerhand just wasn't godlike, though he is certainly remembered fondly by the Rohirrim. So take it down a bit *but* also get rid of *aggravates*--it will at least be useful then.

I won't be downloading this development version.

Timo Pietilš May 24, 2011 06:41

Quote:

Originally Posted by SSK (Post 53252)
I sort of disagree stripping speed from Gondor--in my current game I totally don't find Gondor a no-brainer over Dor-Lomin because of the letter's telepathy. Gondor is a top artifact.

Reason for that is to reduce number of items giving small speed boosts, not to make Gondor itself less powerful. Gondor didn't originally have speed-bonus, so that is just reverting it to its old form. Change in more general way.

Comparison to Dor-Lomin is a bit like comparing Cambeleg to Fingolfin, they both are rare top artifacts, but also very different. Gondor allows you to use wider variety of other gears thanks to many high resists it has as long as you have basic4 from other gears. It is also great for priests and paladins. Dor-Lomin allows you to have other kind of freedom for other gears, because it frees you from basic4 restriction, but besides ESP it doesn't give you anything else. Both give boost to STR and CON, Gondor to WIS and Dor-Lomin to DEX.

Derakon May 24, 2011 06:41

Cambeleg and Fingolfin are top artifacts, certainly. That doesn't mean they should be sacrosanct. Cambeleg's massively overpowered for how common it is, and Fingolfin only isn't amazing because Cambeleg exists. In the interests of eliminating no-brainer decisions, either they need to be nerfed or other items need to be boosted, and frankly the nerfbat is preferable.

Regarding the other changes:

Rings of Power: eh, not too worried about this. We'll see how it playtests.
Elessar: absolutely shouldn't have bonus damage. It's already an amulet with poison resistance, a 200HP healing activation, and STR/WIS bonuses; that's usually better than Carlammas or Ingwe.
Gondor: used to be completely ludicrous; is now merely very powerful. My randart characters would still love to see it, but then again they're also more likely to find telepathy on a non-crown slot. I don't think this deserves a kneejerk reversion, anyway; playtest it and see how it goes.
Others: no strong opinion.

Timo Pietilš May 24, 2011 06:50

Quote:

Originally Posted by Derakon (Post 53259)
Cambeleg and Fingolfin are top artifacts, certainly. That doesn't mean they should be sacrosanct. Cambeleg's massively overpowered for how common it is, and Fingolfin only isn't amazing because Cambeleg exists. In the interests of eliminating no-brainer decisions, either they need to be nerfed or other items need to be boosted, and frankly the nerfbat is preferable.

Neither are no-brainers. And definitely not "massively overpowered". What makes Cambeleg nice is CON-bonus, other than that it is no better than weak power gauntlets. And I really mean weak.

Fingolfin is same thing, good over ego_power only if you need DEX-bonus more than you need STR, which isn't the case in many combinations.

They are pretty equal to ego-gauntlets, maybe slightly better, definitely not no-brainers.

If you don't like the rarity, then tweak the rarity, not make them weaker than common ego-items.

Magnate May 24, 2011 07:21

Quote:

Originally Posted by kaypy (Post 53249)
The assert used to be assert(what >= 0), which wouldn't catch the null...

Oh yes. Good job one of us is awake.

jens May 24, 2011 12:37

1 Attachment(s)
Another real bug...

As far as I can tell, there is no way to get nutrition, neither food, potions or mushrooms feed my belly. Don't really think a savefile is needed, since you can just start a character. But in any case, here is a warrior that is fainting with a bunch of rations in inventory. Btw, I like that you have more time when you start fainting :-) But that change might be old, haven't died from starvation for very many years ;-)

kaypy May 24, 2011 12:51

1 Attachment(s)
r31b20dac9b:

Lit circular? octagonal? rooms do not have the walls lit.

Here's one after I have walked around the edges to map it

Attachment 667

edit:
In generate.c/build_circular
should
Code:

        int info = CAVE_ROOM | (light ? CAVE_GLOW : 0);

        /* Generate outer walls and inner floors */
        fill_circle(c, y0, x0, radius + 1, 1, FEAT_WALL_OUTER, 0);
        fill_circle(c, y0, x0, radius, 0, FEAT_FLOOR, info);

be
Code:

        int info = CAVE_ROOM | (light ? CAVE_GLOW : 0);

        /* Generate outer walls and inner floors */
        fill_circle(c, y0, x0, radius + 1, 1, FEAT_WALL_OUTER, info);
        fill_circle(c, y0, x0, radius, 0, FEAT_FLOOR, info);


d_m May 24, 2011 14:15

Good catch, thanks!

kaypy May 24, 2011 14:21

Quote:

Originally Posted by jens (Post 53264)
there is no way to get nutrition, neither food, potions or mushrooms feed my belly.

Satisfy hunger works, but yeah something has gone wrong with eating. Same problem applies to oil flasks

But I know it *was* working last build, and I can't see anything relevent that has changed in the meantime...

Something is not right with food pvals

Tweaking cmd-obj.c/do_cmd_use to show the amount of food added
Code:

        /* Food feeds the player */
        if (o_ptr->tval == TV_FOOD || o_ptr->tval == TV_POTION)
        {
                msg("Check food addition: %d",o_ptr->pval[DEFAULT_PVAL]);
                anykey();
                (void)set_food(p_ptr->food + o_ptr->pval[DEFAULT_PVAL]);
        }

gives me 0 food being added

Ah. Looking though obj-make.c/object_prep, it looks like the system only sets up the default pval for staves and wands...

This might be something that needs to be fixed for all objects, or it might just be a matter of adding something like
Code:

        /* Default oil/food */
        if (o_ptr->tval == TV_FLASK || o_ptr->tval == TV_FOOD) {
                o_ptr->pval[DEFAULT_PVAL] = randcalc(k->pval[DEFAULT_PVAL], lev, rand_aspect);
        }

Hmm. The above won't give potions nutrition. Do they use pvals for anything or is it safe to group them in here too?

Magnate May 24, 2011 14:57

Quote:

Originally Posted by kaypy (Post 53269)
Ah. Looking though obj-make.c/object_prep, it looks like the system only sets up the default pval for staves and wands...

Well, we did say we were aiming to make the game harder ...

... but seriously, thanks again for another superb catch. This is an unanticipated side effect of fixing ticket #1444, which was about rings of the mouse getting duplicate pvals. The problem arises because there is no flag associated with the food pval. I wonder if flasks of oil no longer fill lanterns.

Will fix this tonight.

d_m May 24, 2011 15:02

Thanks again!

Kaypy, I have committed your fix for circular room lighting.

I have also committed a terrible hack which makes food work--by using o_ptr->kind->pvals[DEFAULT_PVAL].base, which *is* correct. I am fine with someone working on the "right" fix but I'd like to get this into a nightly ASAP so that baby warriors don't starve to death left and right!

kaypy May 24, 2011 15:06

Quote:

Originally Posted by Magnate (Post 53270)
Well, we did say we were aiming to make the game harder ...

So we have no-artifact games and no-ego games, I guess no-food is the logical progression 8-)
Quote:

I wonder if flasks of oil no longer fill lanterns.
That was my immediate thought when I figured pvals weren't being set, too. (As mentioned above, no they don't)

Magnate May 24, 2011 15:39

Quote:

Originally Posted by d_m (Post 53271)
I have also committed a terrible hack which makes food work--by using o_ptr->kind->pvals[DEFAULT_PVAL].base, which *is* correct. I am fine with someone working on the "right" fix but I'd like to get this into a nightly ASAP so that baby warriors don't starve to death left and right!

Ew! That's going to go awry if anyone uses a random_value for food. Simplest semi-permanent fix is to add this section that kaypy suggested to the end of object_prep, immediately after the stanza dealing with wand and staff charges:
Code:

/* Default oil/food */
        if (o_ptr->tval == TV_FLASK || o_ptr->tval == TV_FOOD) {
                o_ptr->pval[DEFAULT_PVAL] = randcalc(k->pval[DEFAULT_PVAL], lev, rand_aspect);
        }


jens May 24, 2011 16:04

Yepp, oil flasks don't fill lanterns. But torches fill torches, and scroll of satisfy hunger is abundant, so the game works fine ;-)

myshkin May 24, 2011 23:19

Fixes for lantern filling/stomach filling, for circular room wall lighting, and for the Trident of Ulmo description are now available in the latest build.

Antoine May 25, 2011 03:49

I hesitate to argue from realism, but I believe there is thematic support for food providing nutrition. Certainly there is a long tradition in roguelikes for players being able to complete the game without starving to death and I believe there would be strong resistance to changing this.

~pls no rage!!!

A.

Derakon May 25, 2011 04:15

On the flipside, consider: now waybread is a useful poison cure!

(You're beautiful, Antoine. Never change.)

buzzkill May 25, 2011 05:06

Quote:

Originally Posted by Antoine (Post 53296)
~pls no rage!!!

A.

I seem to recall a long tradition of being able to starve to death without completing the game.

scud May 25, 2011 11:07

Quote:

Originally Posted by myshkin (Post 53196)
Priests no longer get Study(1) after learning all spells

Good good. Having played a paladin for the first time in years I was wondering what I was missing out on.

Playing 7 May, I noticed the heat/cold resistance prayer's expiries weren't synced. The magic caster's 'resistance' spell's expiries *are* synced, which someone actively changed in the last six months or so. Can the same be done for heat/cold?

It makes the 'resting up' process so much more pleasurable if you only have to acknowledge a slow down and a single 'no longer resistant to' message.

scud May 25, 2011 11:08

Quote:

Originally Posted by buzzkill (Post 53300)
I seem to recall a long tradition of being able to starve to death without completing the game.

You have no more Potions of Coffee. You have no more Wands of Carcenogen.

jens May 25, 2011 16:41

Level feelings
 
Bug: No delay for feelings, so stairscumming for better levels is fast and easy... Which might be good while establishing thresholds...


A first sample (by memory):

At dlvl 9, get the object feeling: "you feel a little lucky."
Found lying on floor: Wand of Dragon's Breath, Short Bow of Extra Shots
All other object feelings have been bored or dull.

Monster feelings have been mostly peaceful/safe, and once a faintly uneasy. The faintly uneasy (dlvl 8 or 9) had OoD pseudo dragon, and wormtounge and lagduf. Of course here it's harder to know if all were there from the start...

Intitial impression:
Both obj/mon thresholds for the earlier feelings at lower dlvs could probably be lowered a little bit.

Suggestion:
It will take a while to find these thresholds, but to make the process a little quicker: how about reducing the number of feelings for the moment. With fewer thresholds to establish the work will be done faster, and then we can add more in between again if wanted.

jens May 25, 2011 17:05

1 Attachment(s)
Bug:

I accidentally tripped a summoning trap. The game then gave me the following message: 'Effect not handled.' I did not notice anything not working, but the message should probably not be...

jens May 25, 2011 17:24

1 Attachment(s)
No feedback from game (for staff of cure light).

I used a staff to identify it, nothing happened. I then check my inventory and see that the staff has {tried}, so I did do something. If I then try it again the game reports how many charges the staff has left.

I'm not sure if this is new or old, but I like it when I get a message from the game when I do something...

Suggestion:
1) Quick fix: give a message about charges also the first time you use a staff (wand).

2) Think about introducing a message for arbitrary uses (i.e. when no other feedback is given from the game about the results of the use, e.g. 'You use/activate/zap/aim the ...[, 8 charges remaining]')

kaypy May 25, 2011 17:31

I got, IIRC, an excellent feeling early on, but that was a _Dispel Evil on level 2...

(My character history is filling up with transcribed reports along the lines of "48 orcs dissolve!" 8-)

Edit: just found an artifact, on the ground, in an "unsure it will be worthwhile" maze. Surely, even with preserve on, an artifact should bump up the level feeling more than that?

Derakon May 25, 2011 17:57

Hang on, so level feelings are split out by item and monster now? Ick.

I mean, I'll need to play it a bit to see how it actually goes, but I can't see this doing anything beyond encouraging scumming...

Magnate May 25, 2011 20:20

Quote:

Originally Posted by Derakon (Post 53337)
Hang on, so level feelings are split out by item and monster now? Ick.

I mean, I'll need to play it a bit to see how it actually goes, but I can't see this doing anything beyond encouraging scumming...

But ... that's what level feelings are for. It's why they were invented.

I didn't mean to remove the delay though, not sure how that happened.

@kaypy: not necessarily. How good was it, how deep, and how far out-of-depth?

/me goes off to check out summoning traps

Magnate May 25, 2011 20:41

Quote:

Originally Posted by jens (Post 53326)
Bug:

I accidentally tripped a summoning trap. The game then gave me the following message: 'Effect not handled.' I did not notice anything not working, but the message should probably not be...

Got it - thanks. There was a "break" where there should have been a "return". Fixed for the next nightly.

Antoine May 25, 2011 21:21

It's great to see the work on level feelings

A.

kaypy May 26, 2011 01:20

Quote:

Originally Posted by Magnate (Post 53346)
@kaypy: not necessarily. How good was it, how deep, and how far out-of-depth?

I don't know, seemed pretty powerful, although not really geared to my character...

Power 287 according to the logs, found at l22
Code:

Artifact index is 109
the Glaive of Larnend (2d6) (+16,+31) [+9] <+2>
Object is deemed known
Object flags are:
WIS
CHR
SPEED
SLAY_ANIMAL
SLAY_EVIL
SLAY_ORC
SLAY_TROLL
KILL_DRAGON
KILL_UNDEAD
RES_LIGHT
RES_CHAOS
SEE_INVIS
IGNORE_ACID
IGNORE_ELEC
IGNORE_FIRE
IGNORE_COLD
BLESSED
HIDE_TYPE
SHOW_MODS
HATES_ACID
HATES_FIRE
SHOW_DICE
Slay multiplier for: animalsx2 evil creaturesx2 orcsx3 trollsx3 dragonsx5 undeadx5
sv is: 11625033
 and t_m_p is: 4977867
times 1000 is: 609
Adding power from to_dam, total is 77
Adding 17 power for dam dice
After multiplying power for might, total is 94
Adjusted for slay power, total is 133
Adding power for to hit, total is 157
Adding power for to_ac of 9, total is 166
Adding power for WIS, total is 176
Adding power for CHR, total is 180
Adding power for SPEED, total is 220
Adding power for RES_LIGHT, total is 226
Adding power for RES_CHAOS, total is 246
Adding power for SEE_INVIS, total is 252
Adding power for IGNORE_ACID, total is 255
Adding power for IGNORE_ELEC, total is 256
Adding power for IGNORE_FIRE, total is 259
Adding power for IGNORE_COLD, total is 260
Adding power for BLESSED, total is 261
Adding power for pval total of 32, total is 261
Adding power for multiple normal slays, total is 271
Adding power for multiple x5 slays, total is 279
Adding power for multiple high resists, total is 287
Adding power for item activation, total is 287
FINAL POWER IS 287


jens May 26, 2011 11:42

2 Attachment(s)
Level feelings are definitely too low, at least at low dlvls.

I dutifully stairscummed for a bit to get a feel for the feelings, got a variation of the three lowest on both, until after a while I got this at dlvl 12:

You feel nervous about this place, and you have a very good feeling...

The best I've seen, so I decided to explore. I met some OoD monsters and some OK stuff, and then I found a Greater Vault:

Greater vault
N:45:The Bank From Hell
31 OoD monsters
- Knight Templar, Shardstorm, Master vampire, Mature white dragon, Young multihued dragon, etc.

I did battle with the vault (but skipped the room with the real goodies) and found
- Thengel, Battle axe of Venom, shield of Resist Cold, Cestus, leather of Restist Lightning, plus various enchanted objects.

Including 3 savefiles (1, when I arrive at the level, 2 when I found the vault, 3 when I have cleared the vault)

jens May 26, 2011 12:38

Level feelings
 
If the power calculations you are using are similar to the ones in the spreadsheet at (http://www.terminalarrogance.com/mon_pwr.xls) then one real problem is that those power levels are qubic in dlvl for many of the levels. In your code you divide it with dlvl, a factor that is linear in dlvl. There is no way that it can give similar results over the whole dungeon.

Some suggestions, and all of them are unrelated, so if you dismiss one of them, please still consider the rest...

Suggestion 1: Lower the thresholds, and increase the divisor to dlvl*dlvl (but maybe removing the division by 20).


Suggestion 2: Lower the number of feelings
Previously we had 9 feelings (excluding special and stairscuming)
Now we have 81 feelings (9 mon * 9 obj). I suggest we reduce that to 16 = 4 mon * 4 obj.

Then the formulas only need to check if a level is: Below average, about average, above average, way above average. for both monster and object feelings, which would be easier to get right, and would be easier for players to distinguish.


Suggestion 3: Another algorithm for feelings
Run some stat collection, determine average power levels for each level (for both monsters and objects), including stdev. Hardcode two tables with these values (or have them in a text file), and then use the values at the given dlvl and the stdev to determine what the feelings should be.
Problems: More work intitially. Would need to rerun the stat collection whenever major changes have been made, maybe every major release.
Upside: Would work very well when in place.

kaypy May 26, 2011 12:48

As well as seeing stuff that doesn't seem to be triggering feelings properly, I am starting to think that there is something screwy with the OOD items mechanism- either that or the RNG wants to have my characters' babies.

Lets see, _Magi, _Dispel (at least that gave a feeling, but dl2??), 287 power artifact (that's more than the palantir-alike for my radarts). I was going to add ?Acquire, but apparently that is supposed to turn up all over the place these days.

_*destruct*,...

kaypy May 26, 2011 14:17

Shards do not appear to cause cuts at the moment

Might just be Earth hounds. They appear to try to run the timed effect, but with duration 0

Ah, the shards cut effect appears to have a base duration of 0d100

list-spell-effects.h should have
Code:

RSE(5,        0,                                GF_SHARD,        TRUE,        TMD_CUT,                RV(0,0,0,0),        RV(0,1,100,0),        0,                FALSE,        0,                                RV(5,125,0,0))

Magnate May 26, 2011 18:33

Quote:

Originally Posted by jens (Post 53384)
If the power calculations you are using are similar to the ones in the spreadsheet at (http://www.terminalarrogance.com/mon_pwr.xls) then one real problem is that those power levels are qubic in dlvl for many of the levels. In your code you divide it with dlvl, a factor that is linear in dlvl. There is no way that it can give similar results over the whole dungeon.

Some suggestions, and all of them are unrelated, so if you dismiss one of them, please still consider the rest...

Suggestion 1: Lower the thresholds, and increase the divisor to dlvl*dlvl (but maybe removing the division by 20).

This. Thank you for pointing it out - I had noticed that the monster feelings were far less well distributed than the object feelings, and this is the reason.

Your third suggestion is good, but further off. I am working with myshkin on some really serious improvements to stats, after which it might be possible.

Magnate May 26, 2011 19:40

Quote:

Originally Posted by kaypy (Post 53388)
Shards do not appear to cause cuts at the moment

Might just be Earth hounds. They appear to try to run the timed effect, but with duration 0

Ah, the shards cut effect appears to have a base duration of 0d100

No, the *first* RV is the base duration. The second is the damage-dependent duration, so it should be 1d(100% of the damage number). But your fix is correct- it does need the 1 in the second field of the second RV. Thanks for the catch - it'll be fixed in the next dev version.

Max Stats May 26, 2011 21:39

Assert failed
 
1 Attachment(s)
Got this message in a fairly recent nightly. I tried pulling the latest nightly and seeing if it was still there, and it was:

angband: cave.c:837: map_info: Assertion `(int)g->m_idx < cave->mon_max' failed.

Savefile attached.

EDIT: I got the error by casting Detection.

kaypy May 27, 2011 04:37

If something out of view uses a spell or breath, you get the anonymous message. However, if you can see yourself, you should know what the attack was.

"Something breathes. You are hit by something." is a bit *too* anonymous, unless the player is completely blind.

Antoine May 27, 2011 08:38

Quote:

Originally Posted by kaypy (Post 53413)
"Something breathes. You are hit by something." is a bit *too* anonymous, unless the player is completely blind.

Could be worse. "It does something! It hurts!"

A.

kaypy May 27, 2011 14:07

A variety of items seem a little more flammable than I'd expect

Gauntlets, Mithril Gauntlets, and maybe the various metal shod boots could probably use the IGNORE_FIRE tag

Timo Pietilš May 27, 2011 14:14

Quote:

Originally Posted by kaypy (Post 53427)
A variety of items seem a little more flammable than I'd expect

Gauntlets, Mithril Gauntlets, and maybe the various metal shod boots could probably use the IGNORE_FIRE tag

I just thought the same. I just lost Mithril gauntlets of Agility +5 to plasma vortex blast because I didn't pick it up (didn't have inventory space, had still three scrolls of ID to burn to the loot from previous fight and one still un-pseudo-ID weapon that was highly unlikely to be better than what I was using at the moment in inventory). I thought that it is immune to fire, but it wasn't.

Magnate May 27, 2011 17:12

Quote:

Originally Posted by kaypy (Post 53413)
If something out of view uses a spell or breath, you get the anonymous message. However, if you can see yourself, you should know what the attack was.

"Something breathes. You are hit by something." is a bit *too* anonymous, unless the player is completely blind.

This is a bug. The second part of the message should only be generic if @ is blind. I will look into this - thanks.

Magnate May 27, 2011 17:13

Quote:

Originally Posted by Timo Pietilš (Post 53428)
I just thought the same. I just lost Mithril gauntlets of Agility +5 to plasma vortex blast because I didn't pick it up (didn't have inventory space, had still three scrolls of ID to burn to the loot from previous fight and one still un-pseudo-ID weapon that was highly unlikely to be better than what I was using at the moment in inventory). I thought that it is immune to fire, but it wasn't.

I thought mithril gear only ignored acid. Has it traditionally ignored fire as well?

Timo Pietilš May 27, 2011 21:22

Quote:

Originally Posted by Magnate (Post 53435)
I thought mithril gear only ignored acid. Has it traditionally ignored fire as well?

It is metal. Anything metal should ignore fire, as no other metallic gears burn except apparently gauntlets and boots. Bodyarmor, shields and helmets made from metal ignore fire I think (can't remember for sure just now and too tired to check).

kaypy May 28, 2011 05:16

It seems that shimmering critters interfere with the new targeting indicators. And they make hallucination *seriously* disturbing, but that's not necessarily as much of an issue.

Is there some way to make the screen just refresh those critters, rather than redrawing the entire screen each animation frame?

Timo Pietilš May 28, 2011 10:27

Quote:

Originally Posted by kaypy (Post 53454)
It seems that shimmering critters interfere with the new targeting indicators. And they make hallucination *seriously* disturbing, but that's not necessarily as much of an issue.

Is there some way to make the screen just refresh those critters, rather than redrawing the entire screen each animation frame?

I believe that this is the reason for flickering overhead term window. Each time flickering monster changes color, entire overhead screen gets redrawn.

jens May 28, 2011 10:49

Suggestion
- When turning off the option "Color: shimmer multi-colored things"
- Show the thing in it's original color only, otherwise it's easy to confuse it with something else.

- No matter if the option is on/off, show it in original color on the overhead map. Would remove the need to redraw the overhead map, and would help with the problem that Timo (and I) have with the overhead map flickering and slowing down the game. If the option is on, the overhead map flickers every time the monsters switch color, if the option is off it's the same, i.e. the overhead map flickers every turn, so running is slow, and resting more so.

Magnate May 28, 2011 14:18

Quote:

Originally Posted by Timo Pietilš (Post 53447)
It is metal. Anything metal should ignore fire, as no other metallic gears burn except apparently gauntlets and boots. Bodyarmor, shields and helmets made from metal ignore fire I think (can't remember for sure just now and too tired to check).

I checked. The only base items with IGNORE_FIRE are

Mithril arrows and bolts (but not mithril shots)
Ethereal cloaks and slippers
Alchemist's gloves

So the inconsistency is that mithril arrows and bolts ought to lose it.

TJS May 28, 2011 15:12

Quote:

Originally Posted by Magnate (Post 53464)
I checked. The only base items with IGNORE_FIRE are

Mithril arrows and bolts (but not mithril shots)
Ethereal cloaks and slippers
Alchemist's gloves

So the inconsistency is that mithril arrows and bolts ought to lose it.

I would say that metal items should be immune or at the very least much less likely to be damaged by fire.

Also I've never understood why equipment you are wearing get merely damaged by elements, but when they are on the floor they get destroyed in one hit. It should be affected in the same way regardless of whether it is worn or not.

Magnate May 28, 2011 15:20

Quote:

Originally Posted by TJS (Post 53466)
I would say that metal items should be immune or at the very least much less likely to be damaged by fire.

This would be a very big change, making fire damage much much less of an issue. That's not to say it shouldn't happen, of course.
Quote:

Also I've never understood why equipment you are wearing get merely damaged by elements, but when they are on the floor they get destroyed in one hit. It should be affected in the same way regardless of whether it is worn or not.
This is a fair point - but this is only one of a large number of inconsistencies between the treatment of the same object in different places (floor, worn, your pack, monster inventory).

kaypy May 28, 2011 16:16

Of course, most metal items are weapons or hard armours, which are unaffected by fire by default...

Timo Pietilš May 28, 2011 19:35

Quote:

Originally Posted by Magnate (Post 53464)
I checked. The only base items with IGNORE_FIRE are

Mithril arrows and bolts (but not mithril shots)
Ethereal cloaks and slippers
Alchemist's gloves

So the inconsistency is that mithril arrows and bolts ought to lose it.

I'm not talking about flag, base item types shots and bolts, swords, hard armor, dragon armor, shields and helmets/crowns do not burn. Which includes a bit oddity, because from those there are "hard leather cap" and "leather shield" which are leather and "wicker shield" which is wooden, which all should burn quite nicely. OTOH, all of the rest of the items in those groups are metallic (except rounded pebble which is stone), which I guess is the reason they have been giving immunity to fire. (though I'm not sure about dragon armors because they seem to all have ignore_all flags).

Anything Mithril definitely should be immune to fire for consistency reasons. Mithril bolts can lose the ignore fire-flag, they are not vulnerable to fire anyway.

Magnate May 28, 2011 20:08

Quote:

Originally Posted by Timo Pietilš (Post 53478)
I'm not talking about flag, base item types shots and bolts, swords, hard armor, dragon armor, shields and helmets/crowns do not burn. Which includes a bit oddity, because from those there are "hard leather cap" and "leather shield" which are leather and "wicker shield" which is wooden, which all should burn quite nicely. OTOH, all of the rest of the items in those groups are metallic (except rounded pebble which is stone), which I guess is the reason they have been giving immunity to fire. (though I'm not sure about dragon armors because they seem to all have ignore_all flags).

Anything Mithril definitely should be immune to fire for consistency reasons. Mithril bolts can lose the ignore fire-flag, they are not vulnerable to fire anyway.

Right, I see. I hadn't realised there was a check elsewhere in the code for what can burn. Now that we have object_base.txt, this can go. All swords can get IGNORE_FIRE in object_base ...

EDIT: doh. This has already been done - that's why the HATES_FIRE flag was created. So in fact things like wicker and leather shields can just be given it. Easy.

kaypy May 29, 2011 18:09

Another thread reminded me:

The output for the prefs dump for terrain features doesn't give the right indexes.

prefs.c/dump_features needs tweaking:

Code:

file_putf(fff, "F:%d:%s:%d:%d\n", i, light, attr, chr);
There's also no way ingame to edit the bright or dark graphics, but that would need much more than a simple tweak...

takkaria May 29, 2011 19:21

Quote:

Originally Posted by kaypy (Post 53515)
There's also no way ingame to edit the bright or dark graphics, but that would need much more than a simple tweak...

Patches accepted! If you can work out how to tweak the existing code to allow it that would be amazing -- terrain lighting is still all a bit messy.

Derakon May 30, 2011 04:24

Here's my notes so far, on a hobbit warrior currently at 2300':

* The new spell messages are certainly more to the point, but IMO they lack flavor and some are rather awkward (e.g. "tries to make you stop moving"). Also, the "conjures up foo" messages for fear/confusion are misleading since they sound like summoning spells. Honestly I liked the previous messages better. I doubt it takes that long to learn which messages correspond to which spells; if nothing else you can always check the monster memory. So I don't think this change was really necessary.

* Monsters will try to drain my warrior's nonexistent mana, and I'll get messages to that effect. If we want monsters to try, there should at least be a message to the effect that the attempt failed.

* I got a lesser vault at 300' and a potion of Intelligence at 350'. Just lucky?

* Artifacts in the equipment list are shown with a lowercase "the". I'd always assumed the "the" was part of the title, so this surprised me a bit. Really trivial either way though.

* Shrieking for help seems to have no effect; monsters in the area remain asleep. Not sure if it still hastes monsters in LOS; haven't checked.

* Cherubs are ludicrously badass for 1950' (their native depth). Not really relevant to the nightlies, but yeesh! Fast, lots of HP, resist everything, fairly painful spells...

* Crowns of the Magi have Free Action but not See Invisible. That seems a bit odd.

* Shards attacks don't seem to be causing cuts even if you lack the resist. I also suspect they're incapable of damaging your inventory.

Let me know when we can give negative pvals to ego item definitions; I have a bunch of changes to the edit files I want to make. :) For example, I'm still annoyed that someone went and made the (already too rare) rod of Trap Location vulnerable to electricity...

Magnate May 30, 2011 10:29

Quote:

Originally Posted by Derakon (Post 53548)
* The new spell messages are certainly more to the point, but IMO they lack flavor and some are rather awkward (e.g. "tries to make you stop moving"). Also, the "conjures up foo" messages for fear/confusion are misleading since they sound like summoning spells. Honestly I liked the previous messages better. I doubt it takes that long to learn which messages correspond to which spells; if nothing else you can always check the monster memory. So I don't think this change was really necessary.

It *was* necessary, but it's only ever been an interim measure, until they are exported to an edit file (ticket #1376).
Quote:

* Monsters will try to drain my warrior's nonexistent mana, and I'll get messages to that effect. If we want monsters to try, there should at least be a message to the effect that the attempt failed.
If you are playing with birth_ai_learn on, each monster should only attempt this once and should remember that it didn't work the first time. If this isn't happening, that's a bug. I've added a fail message for the next dev version.
Quote:

* I got a lesser vault at 300' and a potion of Intelligence at 350'. Just lucky?
Let me get back to you on that - we now have a stats module that collects 1.2GB of stats, and we're working on exporting them to a database format so we can query them.
Quote:

* Artifacts in the equipment list are shown with a lowercase "the". I'd always assumed the "the" was part of the title, so this surprised me a bit. Really trivial either way though.
Has this always been the case? It should be The, but I have a sneaking suspicion that a recent change may have done this by accident.
Quote:

* Shrieking for help seems to have no effect; monsters in the area remain asleep. Not sure if it still hastes monsters in LOS; haven't checked.
Fixed - thank you. A typo in list-spell-effects.h (it was wrongly tagged as a timed effect, so wasn't getting processed).
Quote:

* Shards attacks don't seem to be causing cuts even if you lack the resist. I also suspect they're incapable of damaging your inventory.
This was fixed a few days ago when kaypy reported it, but there hasn't been a new dev version since then.
Quote:

Let me know when we can give negative pvals to ego item definitions; I have a bunch of changes to the edit files I want to make. :) For example, I'm still annoyed that someone went and made the (already too rare) rod of Trap Location vulnerable to electricity...
Er ... you don't need negative pvals to change that. But the answer to your implicit question is that I don't expect to do any work on egos (apart from fixing DSMs) until after 3.3. We're basically bug-fixing and tweaking for 3.3 now, and after that there'll be a whole new discussion about who wants to do what for 3.4 ...

kaypy May 30, 2011 11:26

1 Attachment(s)
Quote:

Originally Posted by takkaria (Post 53521)
Patches accepted! If you can work out how to tweak the existing code to allow it that would be amazing

"would need much more than a simple tweak" translates roughly as "I'm not holding my breath for this to happen" 8-) Truth be told I hand-hacked the .prf file about 4 nightlys ago and then forgot all about it till the wall-graphics thread turned up...

Having had a quick glance over that code, it looks decidedly non-trivial...

Quote:

Originally Posted by Derakon (Post 53548)
* I got a lesser vault at 300' and a potion of Intelligence at 350'. Just lucky?

I think that's the third "or am I just lucky" report, so no, it looks like this build is just MontyHaulBand

Edit:
Quote:

Originally Posted by takkaria (Post 53521)
that would be amazing

OK, its hacky and not particularly intuitive, but it works-ish, which is enough for me to be amazed...
Attachment 679

Is there anything other than a global variable I could hook my lighting toggle to?

Derakon May 30, 2011 16:51

Quote:

Originally Posted by Magnate (Post 53565)
Er ... you don't need negative pvals to change that. But the answer to your implicit question is that I don't expect to do any work on egos (apart from fixing DSMs) until after 3.3. We're basically bug-fixing and tweaking for 3.3 now, and after that there'll be a whole new discussion about who wants to do what for 3.4 ...

I mentioned negative-pvals because there's a whole bunch of random changes I want to make in one big patch. Of course making certain rods immune to electricity doesn't require negative pvals, but other things I want to do do. I could have phrased this better, I admit.

Good to know the messages will be moved to an edit file. That should be fun. :)

Derakon May 30, 2011 21:55

'Nother post for more notes!

* Vaults seem to periodically be missing entire rows of blocks, replaced by empty space. E.g. I found a Bubbles vault that was missing its top row, and I know I've found vaults missing rows through the middle. Don't think I've seen any vaults missing columns. It's actually a bit interesting since it breaks up the flow of the vault, but it's still a bug.

* Crossbows and crossbow bolts have exactly the same drop frequency. Is that really intended?

* Charge-for-charge, scrolls of Mapping are much cheaper than staves of Mapping. The staves' only advantage is that they can be recharged by the magic store.

* Inspecting an executioner's sword, I was told that with +2 STR I'd get more blows/round. However, I was at 18/210 strength at the time (and 18/160 DEX).

* If you put a % in a note, then in the message history it gets represented by "220"; however, it shows up properly in the file dump.

* I found a Ring of Speed +20. What. This is by far the best I've ever managed. Ironically I'm wearing a +10 speed ring on the other finger because the only other rings I have are either redundant or aggravating.

* I found a double-height labyrinth, fairly deep down. Nice to break things up a bit. If it's still possible to generate labyrinths with entirely permanent walls, then that probably shouldn't be allowed for the big ones, since they'd be painful to navigate without tunneling.

* I've found several randart weapons with terrible damage but lots of abilities and (only marginally useful) slays. How heavily are non-damage abilities weighted when gauging a randart weapon's power? Most characters can't really afford to use weak weapons even if they give lots of resists, powers, etc.

So here I am, running around at +46 speed unhasted, raring to go kill Morgoth except I still don't have telepathy...

Magnate May 30, 2011 22:03

Quote:

Originally Posted by Derakon (Post 53599)
* Vaults seem to periodically be missing entire rows of blocks, replaced by empty space. E.g. I found a Bubbles vault that was missing its top row, and I know I've found vaults missing rows through the middle. Don't think I've seen any vaults missing columns. It's actually a bit interesting since it breaks up the flow of the vault, but it's still a bug.

I think this is a bug with which d_m is familiar - it seems similar to one he has already dealt with.
Quote:

* Inspecting an executioner's sword, I was told that with +2 STR I'd get more blows/round. However, I was at 18/210 strength at the time (and 18/160 DEX).
This single feature has given me more headaches than anything else, I think. It's due for a rewrite one day - fortunately the errors are quite rare now.
Quote:

* I've found several randart weapons with terrible damage but lots of abilities and (only marginally useful) slays. How heavily are non-damage abilities weighted when gauging a randart weapon's power? Most characters can't really afford to use weak weapons even if they give lots of resists, powers, etc.
Well funny you should say that - this phenomenon is occurring precisely *because* the obj-power rewrite made certain abilities half as valuable on weapons (ESP, FA, etc.). Ironically this means that the randart generator currently thinks "oh goody, I can have lots of these and still be within my allocated power rating". The randart rewrite will address this, but not until 3.4.

takkaria May 30, 2011 22:53

Quote:

Originally Posted by kaypy (Post 53573)
"would need much more than a simple tweak" translates roughly as "I'm not holding my breath for this to happen" 8-) Truth be told I hand-hacked the .prf file about 4 nightlys ago and then forgot all about it till the wall-graphics thread turned up...

Having had a quick glance over that code, it looks decidedly non-trivial...


I think that's the third "or am I just lucky" report, so no, it looks like this build is just MontyHaulBand

Edit:

OK, its hacky and not particularly intuitive, but it works-ish, which is enough for me to be amazed...
Attachment 679

Is there anything other than a global variable I could hook my lighting toggle to?

Not sure there is right now. It'll do though, I'll get that into 3.3, thanks.

takkaria May 30, 2011 23:01

Quote:

* Crossbows and crossbow bolts have exactly the same drop frequency. Is that really intended?
Nope! Tweaked a bit but I rather suspect not enough. We'll see with stats...

Quote:

* Charge-for-charge, scrolls of Mapping are much cheaper than staves of Mapping. The staves' only advantage is that they can be recharged by the magic store.
Reduced the price of the staff a bit.

Derakon May 31, 2011 03:32

The last notes from this character, who has gone on to record my fastest win yet (in 413k game turns).

* I got a bus error when recording a note. Unfortunately I don't have any repro case or useful log messages, so I doubt there's anything to be done here.

* In the entire game, I found only two randart hats (one helm, one crown) and one shield. This is out of about 50 artifacts found (20 of which came from a single Bubbles vault...). I put the artifact spoilers up here. Looks like I just got unlucky...especially since this meant I was without telepathy most of the game, only finding it just before fighting Sauron.

* The first time I went to level 100, Morgoth wasn't generated. I think it was a cavern level, but I'm not certain. The second time (on a normal level) he showed up right off.

* The difficulty of the fight with Morgoth depends heavily on how often he summons and how many uniques you've left alive...I had to spend 6 Destructions just clearing out summons that time. Scrolls of Destruction are far more dear than potions of *Healing*, at least for me. Never did find any potions of Life...

I put the character dump up here so you can admire his rings and hammer. Note the bug in Grond's blows description.

SSK May 31, 2011 04:18

Quote:

Originally Posted by Derakon (Post 53617)

* The difficulty of the fight with Morgoth depends heavily on how often he summons and how many uniques you've left alive...I had to spend 6 Destructions just clearing out summons that time. Scrolls of Destruction are far more dear than potions of *Healing*, at least for me. Never did find any potions of Life...

I agree about the summons.
But how do you use *destruction* vs Morgoth's summons? I tried it once and it destructed Morgoth himself after I'd gotten him down to like 50% HP--I was so pissed. So I had to fight him again and I'd already spent my runes of protection (fortunately the character was already too strong anyway and this wasn't a problem). I concluded *destruction* is only useful as an escape when you are in big trouble; when you're winning the fight best to use banish evil--Morgy will find you in due time while the summons usually won't.

Derakon May 31, 2011 05:00

Destruction doesn't hit the entire level. ;)



(Use Teleport Other on Morgoth first)

SSK May 31, 2011 05:17

Quote:

Originally Posted by Derakon (Post 53623)
Destruction doesn't hit the entire level. ;)

(Use Teleport Other on Morgoth first)

OIC but that requires allowing the other nasties a turn on you... or do they have 0 energy when summoned and you can often double-move them?

Derakon May 31, 2011 06:32

Quote:

Originally Posted by SSK (Post 53625)
OIC but that requires allowing the other nasties a turn on you... or do they have 0 energy when summoned and you can often double-move them?

I've described this before a few times, but it doesn't hurt to recap. Fight in a destructed area. All the debris means that a phase door is practically guaranteed to take you out of line of sight of everything. Morgoth is the fastest monster around, plus he can bore through rock, so he'll be the first to catch up with you and thus be readily exposed to Teleport Other. It can help to carry scrolls of Mapping to properly manipulate LOS, since his earthquakes remove your map knowledge.

This strategy is consistent and works well regardless of what class you are. Warriors and rogues have to rely on ?Destruction; everyone else can cast the spell. I had 7 going into this last fight and burned 6, including one for initial setup; that's significantly worse than usual. I've had fights with Morgoth where I've only used 2.

jens June 1, 2011 16:01

Quote:

Originally Posted by Magnate (Post 53398)
This. Thank you for pointing it out - I had noticed that the monster feelings were far less well distributed than the object feelings, and this is the reason.

Your third suggestion is good, but further off. I am working with myshkin on some really serious improvements to stats, after which it might be possible.

So, how is the stat generation coming along? If you can generate stats including 'mon_rating' and 'obj_rating' for each level, and send me a spreadsheet with that data, I wouldn't mind tinkering with some formulas for generating mon-/obj-feelings. Unless you are sure the current formulas are ideal that is ;-)

Another thing I have wanted a long time, that I don't know if you are doing:
Stats for how an individual (ego) item plays out depending on generating lvl. Something like generating 100 specimens of a specified (ego) item at each dlvl were it can be generated. That way it would be easier to tinker with the ego_items and balance them according to depth etc. Useful when using more complicated randomizer functions including the M-function.

Magnate June 1, 2011 21:20

Quote:

Originally Posted by jens (Post 53717)
So, how is the stat generation coming along? If you can generate stats including 'mon_rating' and 'obj_rating' for each level, and send me a spreadsheet with that data, I wouldn't mind tinkering with some formulas for generating mon-/obj-feelings. Unless you are sure the current formulas are ideal that is ;-)

Another thing I have wanted a long time, that I don't know if you are doing:
Stats for how an individual (ego) item plays out depending on generating lvl. Something like generating 100 specimens of a specified (ego) item at each dlvl were it can be generated. That way it would be easier to tinker with the ego_items and balance them according to depth etc. Useful when using more complicated randomizer functions including the M-function.

Thanks for your interest. The stats function is written, and is successfully running in the thousands of sims - we had to fix some memory leaks and still have some to fix before we can run millions. It takes 1.2GB of RAM to run (which is three orders of magnitude less than when I first wrote it and wondered why it crashed), and captures almost every scrap of data:

On every level it captures:
- every level feeling
- every gold drop (with its origin)
- every monster generated
- every artifact generated (with its origin - artifact index only, i.e. for tracking standarts)
- every consumable generated (with origin)
- every wearable generated (with origin), broken down into
-- object kind
-- dice (if any)
-- plusses to-hit and to-dam
-- total AC
-- ego index (if any)
-- flags
-- pvals

The only thing it doesn't yet capture is the generation of pits and vaults, as these require some more serious adjusting of generate.c, but this will come later (and will have a negligible impact on the memory requirement).

This will give you an overall picture of what is available in the game. It will *not* be useful for simulating 1000 of a specific ego type or 1000 sets of randarts, but it is easy to write standalone sims for these. It *will* tell you that if you adjust the rarity of a particular object/ego/artifact, what the *overall* impact of that change is on the availability of stuff like +dam, resistances, brands, +con etc. etc. So we can assess whole bunches of changes together - like, for example, balancing things for a release ...

There's a slight snag though. We don't yet have a way to *interrogate* all this data. But we will - myshkin is working on it right now. It will be a ~2GB sqlite database, which we'll then be able to query with any sqlite tools we want (draw graphs etc.). My intention is to do a million sims once 3.3 is out, and then keep that as a definitive reference against which 3.4's changes are measured. My best PC does about one run a second, so a million sims would take about 12 days (if we've fixed all the memory leaks).

Derakon June 1, 2011 21:51

Yowza. I recommend saving results files to disk every hour or so; wouldn't want to get to iteration 999000 only to have it crash!

Sounds very interesting though, and I'd love to be able to query that database, maybe make some plots tracking stats against dungeon level and suchlike.

Any plans to have a version that uses randarts instead? I know the randart generator is expensive to run, though. Given that you're just tracking the artifact index number, maybe it'd be possible to generate a set of randarts, use them as the artifact set for a series of runs (maybe only a few hundred), save stats, generate a new set of randarts, etc. The goal would be to see how randarts track compared to standarts on various metrics, if there's something they consistently do better or worse in (e.g. off-weapon damage boosts, elemental immunities, pConf...).

Even without randarts I'm sure this will provide much interesting data. Best of luck!

bulian June 1, 2011 22:23

A million seems like a nice round number, though I wonder how your distributions will change as you increase the number of iterations. You might want to check your results periodically, by perhaps looking at the distribution of a relatively common object, say !CCW, and a relatively rare object, say BoS, and see at what number of iterations the distributions stop changing shape. You may find that you have sufficient data after 10,000 or 100,000 simulations, which could save yourself some time and some money on your electric bill.

Magnate June 1, 2011 23:31

Quote:

Originally Posted by Derakon (Post 53733)
Sounds very interesting though, and I'd love to be able to query that database, maybe make some plots tracking stats against dungeon level and suchlike.

When I've created it, I'll make it public. It'll be a slow download, but it won't go anywhere. In fact instead of ppl needing to download it I'll put up a web interface for querying it (with some help from myshkin and d_m!).
Quote:

Any plans to have a version that uses randarts instead? I know the randart generator is expensive to run, though. Given that you're just tracking the artifact index number, maybe it'd be possible to generate a set of randarts, use them as the artifact set for a series of runs (maybe only a few hundred), save stats, generate a new set of randarts, etc. The goal would be to see how randarts track compared to standarts on various metrics, if there's something they consistently do better or worse in (e.g. off-weapon damage boosts, elemental immunities, pConf...).

Even without randarts I'm sure this will provide much interesting data. Best of luck!
It can already deal with randarts via the -r subopt to -mstats. The problem is that the current randart generator is dog slow, and slows down the runs by a factor of 10-20. (You can still do ~1000 runs in about six hours though.) This is on my to-do list for 3.4 though.

But no, the idea is not to sim randarts specifically. Your goal can be achieved by doing the runs with randarts and comparing the total availability of OF_FOO with the total availability using standarts. There is no need to compare standarts directly with randarts without looking at what's actually available in the dungeon, IMO. If there is, it would be much quicker and simpler to write a dedicated sim.

It would be quite easy to set a number of runs between each new set of randarts (it currently defaults to 1, which simulates real games), but the problem would be writing out the intermediate data.

Let's see how we get on.

d_m June 2, 2011 04:32

Quote:

Originally Posted by Derakon (Post 53599)
Vaults seem to periodically be missing entire rows of blocks, replaced by empty space. E.g. I found a Bubbles vault that was missing its top row, and I know I've found vaults missing rows through the middle. Don't think I've seen any vaults missing columns. It's actually a bit interesting since it breaks up the flow of the vault, but it's still a bug.

This would be the fault of the function ensure_connectedness() which I've added. It's supposed to ignore "icky" squares to prevent vaults from being mauled, but I definitely believe that it could be messing up somehow.

Do you remember which version of the game generated that level (I assume it was pretty recent)? Also, do you remember how the vault connected with the result of the level? Usually there is a passage leading to some random part of the GV and then the player has to tunnel into it. I've been trying to replicate this without success (so far) so I'm curious if you remember any more details (or maybe even have a screenshot)?

Thanks for your feedback!

EDIT: Of course, after generating 15 Bubbles vaults that are fine (and posting this) I find one that has a column removed! So... clearly I *can* reproduce this. Sorry for the noise ;)

Derakon June 2, 2011 04:41

This was with the most recent version. I went ahead and wizard-scummed until I got another vault showing the behavior. This time it's a missing column, and it does indeed coincide with a corridor:

http://derakon.dyndns.org/~chriswei/temp2/vault.png

Sounds like you ought to be able to fix this by treating icky tiles and all non-border permanent walls as passable for your connectivity checker.

d_m June 2, 2011 05:13

Quote:

Originally Posted by Derakon (Post 53754)
Sounds like you ought to be able to fix this by treating icky tiles and all non-border permanent walls as passable for your connectivity checker.

It turns out it was a slight bit more complicated than I thought.

The core function (join_region) isn't trying to connect to the vault... but instead trying to connect regions on both sides of the vault. It was first written for use with caverns (which don't currently have vaults) and didn't realize that it had to go around permanent walls/icky squares.

This is now fixed in staging (I confirmed it by generating vaults until I found one with regions on both sides and a weird tunnel going around the vault to connect them) closing ticket #1455.


All times are GMT +1. The time now is 21:10.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2022, vBulletin Solutions Inc.