00:47:55 Monster database of master branch on crawl.develz.org updated to: 0.33-a0-797-g2b3b4944bb 01:31:37 Stable (0.27) branch on cbro.berotato.org updated to: 0.27.1-38-g2acbc859c2 04:33:17 Experimental (bcrawl) branch on underhound.eu updated to: 0.23-a0-5261-gd9800d219b 05:24:01 Stable (0.27) branch on crawl.akrasiac.org updated to: 0.27.1-38-g2acbc85 08:52:59 03Implojin02 07* 0.33-a0-798-g13cf12185f: Rename doubled vigour to doubled health (CarefulOdds) 10(39 minutes ago, 16 files, 31+ 31-) 13https://github.com/crawl/crawl/commit/13cf12185f19 15:57:46 New branch created: pull/4264 (1 commit) 13https://github.com/crawl/crawl/pull/4264 15:57:46 03Cgettys02 07https://github.com/crawl/crawl/pull/4264 * 0.33-a0-798-g76240916a5: fix: remove undefined behavior from map_cell Clang-tidy warns about these memcopies: * Undefined behavior, source object type 'const map_cell' is not TriviallyCopyable * Undefined behavior, destination object type 'map_cell' is not TriviallyCopyable 10(42 minutes ago, 2 files, 68+ 76-) 13https://github.com/crawl/crawl/commit/76240916a5cd 15:58:38 blank second line, please 15:58:47 I swear I did, let me fix that 15:59:04 Fixed 15:59:55 03Cgettys02 07https://github.com/crawl/crawl/pull/4264 * 0.33-a0-798-g1d8acded58: fix: remove undefined behavior from map_cell 10(44 minutes ago, 2 files, 68+ 76-) 13https://github.com/crawl/crawl/commit/1d8acded5877 16:02:03 👍 16:41:05 Unstable branch on underhound.eu updated to: 0.33-a0-798-g13cf12185f (34) 17:14:20 Argh, not quite right 17:14:30 dunno how it compile dfine on my machine :D 17:17:09 Ah, probably webtiles only mistake 17:28:21 03Cgettys02 07https://github.com/crawl/crawl/pull/4264 * 0.33-a0-798-gb05781efaf: fix: remove undefined behavior from map_cell 10(2 hours ago, 2 files, 95+ 76-) 13https://github.com/crawl/crawl/commit/b05781efaf8f 17:43:45 RE: profiling / performance 17:43:56 I guess unsurprisingly in retrospect 17:44:11 Much of the time is actually spent in Lua :D 17:46:08 <09g​ammafunk> well, that's not too surprising as it's buildings levels like how crawl does normally 17:46:34 <09g​ammafunk> not saying that it's bad to optimize our use of lua, but want it to be clear that all objstat is doing 17:46:42 <09g​ammafunk> is running normal dungeon generation that happens in a normal game 17:47:09 <09g​ammafunk> because it then scans every square and reports basic statistics on everything it finds on every square 17:47:40 <09g​ammafunk> so while it's doing some additional processing by collecting that info and shoving it into some nested vectors and then doing some basic statistical calculations 17:48:01 <09g​ammafunk> anything about lua or anything related to level generation at all is just something crawl is doing normally 17:48:48 <09g​ammafunk> it's just that objstat is doing this for many iterations per requested level, which will add up fast in terms of execution time 17:49:40 <09g​ammafunk> there is probably tons of work that could be done optimizing level generation 17:50:29 <09g​ammafunk> like we generate many levels and just end up vetoing the level because the vault placement ends up creating some disconnecteed region etc (there are a bunch of reasons why this happens) 17:50:56 <09g​ammafunk> then the level generation just starts over; work could be done on improving the algorithm, but this is spooky stuff to mess with 17:57:35 Definitely 17:57:49 I just kinda naively assumed that all of the RNG calls would be the main time sink :D 17:57:55 because RNGs are expensive :D 17:58:15 whoops, I lost a sentence above 17:58:22 much of the time in objstat is spent inlua 17:58:31 same is not true for normal gameplay, mostly 18:02:55 or rather, it's less true 18:06:51 Also @gammafunk - doesn't have to be today or anything, sounds like you had an annoying night fixing whatever went wrong with akraisic, but thought I'd poke you about 18:08:08 Since you said you'd hopefully merge it in a day or two more than a day or two ago :P. But can wait til tomorrow or whatever 18:39:27 <09g​ammafunk> cgettys: Yeah, I just wanted to emphasize the point that, even if RNG calls were the main time sink for objstat, how exactly do you prevent that when it's part of crawl's level generation process, which is a necessity for objstat. Proportionally it may actually be lua, as you say, but I'm not sure if it matters either way whether it's RNG or lua, since it's not something you can remove or optimize out, exactly 18:40:41 <09g​ammafunk> for 4261 I'll see if I can poke on that tomorrow since I have a couple of things I need to do tonight 18:57:19 Sorry,, I keep missing replies because discord ends up above my IRC client (and I'm not in the bridged half of this channel) 18:58:44 RE: if it was RNG - you couldn't prevent it. But PRNG research has continued since the implementation crawl currently uses, so if it was a bottleneck, would have been worth looking at whether anything better is out there now 18:59:45 Or in other words - I kinda assumed it'd be one thing, I looked, it was not that thing, which is good, because I don't want to have to open that can of worms 19:00:27 The irreducible part of level generation is in some sense the PRNG. The rest is logic driven by it 19:00:46 So the fact that the PRNG does not dominate, is actually kinda good news :D 19:02:10 RE: 4261, tomorrow would be wonderful :) not in a rush, I know we all have lives, just following up from time to time so I don't end up with like, 50 PRs open :D 19:24:24 <06r​egret-⸸nde※> "Overly prosiac" sure is a way to describe "literally just the word we already used for a matching god's ability for the entire time Stone Soup has existed". 19:26:00 <09g​ammafunk> does feel like the basic issue is that there's no quick way to get a fuller description of a monster enchant from its shorter description 19:27:32 <06r​egret-⸸nde※> I 100% think we should just actually have a tab on monster examining for their statuses actually are- until a year ago we literally didn't even display what monster might does. 19:28:05 <04d​racoomega> For that matter 'unusually strong' isn't exactly specific about it even being Might in the first place - we're just used to it. I am sure there are more examples. 19:28:36 <04d​racoomega> (Many of which don't even really have anything that condenses neatly into a self-explanatory word anyway) 19:36:10 03Yi Yang @ Anteros02 07https://github.com/crawl/crawl/pull/4247 * 0.33-a0-799-g131775c241: fix: Bring Asterion's ability name in line with overhauled Makhleb 10(11 days ago, 3 files, 3+ 3-) 13https://github.com/crawl/crawl/commit/131775c241f2 19:55:08 <03i​mplojin> pasting a short response here from the roguelikes discord: > my feeling is that it's fine to break out the prose when we're doing worldbuilding in flavour descriptions, but communicating things to players is hard enough when we're being direct about it, and it's probably better to avoid needlessly using multiple synonyms when describing gameplay mechanics Ahyangyi also raised the point that divine vigour increases mp, which is of 19:55:09 course meaningless on monsters, increasing the confusion about what else doubled vigour was supposed to be doing. Re: Might, also yes. (IIRC we're also using mixed wording about mana / MP / magic in some places.) Agreed that monster status lookup should be added, it seems like an obvious gap once you think about it. 20:00:23 <04d​racoomega> I guess in terms of 'multiple synonyms', I feel like 'names of status effects' are always something that is doing to want to dip into that, but that mechanical effects of these things should be using clear wording. The issue mostly is that we don't have a place for the latter at the moment. But like, presumably one wouldn't think that Swiftness should be renamed Increased Movement Speed (or frozen renamed Decreased Movement Speed) 20:00:24 even if both of them are operating entirely upon movement speed 20:01:26 <04d​racoomega> Swiftness could mean multiple types of fastness, after all. (Most of these are covered in the description of the spell that applies it, but that may not always be close at hand. And doesn't handle auras, at any rate) 20:02:34 <04d​racoomega> (It's a good idea to have something in-game that one can look up exactly what a given status effect does or doesn't prevent, in general. Just the effort of actually implementing such.) 20:02:54 <04d​racoomega> Like how Bound in Place doesn't actually prevent blinking, for instance 20:03:05 <04d​racoomega> And is just -move 20:04:48 <04d​racoomega> (Local tiles still doesn't even have the moveover lookup of player statuses, though at least one can still do it via ?/) 20:28:28 <06r​egret-⸸nde※> Monster-player god symmetry is broken all the time in tons of different circumstances for completely obvious mechanics-first reasons. Stormcallers aren't surrounded in clouds to hurt other draconians, smiting does completely different damage between an orc priest monster and a player worshipper of Beogh, and spriggan berserkers don't get to call in berserk deep trolls or berserk stone giants. 20:29:30 <06r​egret-⸸nde※> (Draco has pointed out that it'd be reasonably easy to add another monster tab since quotes already add in a tab, so I'm doing the work of writing up the ~130 or so monster info flags right now.) 20:31:01 It'd be nice to not have to go to the dcss wiki to look up the formula 20:31:10 <06r​egret-⸸nde※> (Said writing's focus is not prosiac.) 20:31:21 I very much like that the output of various formulas is part of various menus now 20:31:32 RE: status effects, brands, whatever 20:32:11 E.g. shift-2 tells me my attack delay is about blank and cannot be improved with additional weapons skil land is sl owed by your shield 20:32:20 we have the info elsewhere about "by how much" 20:32:24 maybe I'll put in a PR for that one 20:43:08 <03i​mplojin> My issue here was primarily that i think it's not terribly helpful to ask players to parse profusely purple prose when they try to use our in-game descriptions to find out what a gameplay effect actually does, especially in this case when we're already using "health" as a term of art to describe HP adjustments elsewhere (see: mutation descriptions). Again, I think it's fine to wax poetic for worldbuilding purposes, just not when 20:43:08 describing mechanics (which really should be up front and separate from the flavour descs to begin with). 20:50:33 <06r​egret-⸸nde※> The extreme purple prose of the word "vigour". 20:51:24 <03i​mplojin> ok, we disagree on that description, that's fine. 20:53:24 <06r​egret-⸸nde※> I would be perfectly fine with this if it wasn't a word that, since we're repeating ourselves over again, has been the name of a divine ability unchanged for over two decades. Should Cleansing Flame on Seraphs be renamed to "Holy Self-Centered Explosion"? 20:58:27 <06m​umra> i rather agree that on first glance i would assume "vigour" meant something other than health. "vitality" i would more naturally assume was a health boost 20:59:17 <03i​mplojin> I think we fundamentally disagree on the utility of asking players to sift through descriptions to find out what monsters actually do; clarity is important! If consensus ends up in favour of reverting that commit, feel free to do so, I'm going to sleep. 20:59:21 <06r​egret-⸸nde※> Apises already use the word "vitality". 20:59:22 <06m​umra> case BEAM_DOUBLE_VIGOUR: if (!mon->has_ench(ENCH_DOUBLED_VIGOUR) && mon->add_ench(ENCH_DOUBLED_VIGOUR)) { if (simple_monster_message(*mon, " surges with doubled vitality!")) obvious_effect = true; } return MON_AFFECTED; even says "vitality" when the beam procs 21:00:35 <06r​egret-⸸nde※> It no longer does as of the commit being debated in the first place, 13cf121. 21:05:01 <06r​egret-⸸nde※> Crawl is inherently a text-based game, and if players don't want to read text to figure out what they don't immediately recognize then they will constantly, repeatedly die to extremely large chunks of things in the game. 21:06:31 <06m​umra> vitality is yet another can of worms tbh. it's mostly used to mean health and sometimes regen (vampirism, woodweal, dryad healing, mutations), but also to mean both HP and MP in the amulet 21:06:58 <04d​racoomega> I mean, until just this version, vamp attacks from enemies claimed they were draining your strength, I believe 21:08:14 <04d​racoomega> Like, it's good to be reasonably clear and consistent about such things. But I do think status naming will always be drawing at least partially flavor-first. The monster is 'encased in ice' because that is what happened to it. Now, what does being encased in ice do is a separate question (that presumably a better monster UI can make clear!) 21:08:15 <06r​egret-⸸nde※> Calcifying dust is prosiac. We use The acid corrode you! and not The acid reduces your AC and weapon enchantment by 4!. 21:10:21 <04d​racoomega> Personally, I think a clear table of 'Description' -> 'Concise mechanical effect' solves most of these issues in a similar manner to status effect tooltips in approximately 2000 other game 21:10:37 <06m​umra> i would advocate removing "doubled" from the enchantment name tbh, that also sounds unneccesarily mechanical. just rename the enchantment "vitality" 21:11:05 <06r​egret-⸸nde※> ?????? 21:17:36 <06m​umra> i'm saying the word "doubled" feels out of place in an enchantment name. for the same reasons you're talking about 21:52:20 <06p​leasingfungus> i really like using 'health' to refer to hp 21:52:41 <06p​leasingfungus> because it has both a clear mechanical meaning and a more evocative 'physical world' meaning as well 21:52:51 <06p​leasingfungus> i found it already in use somewhere and extended it to a few other places, iirc 21:53:19 <06p​leasingfungus> finding a way to make it work grammatically may be tricky, but what is game design without a challenge... 21:55:18 <04d​racoomega> Some variant on 'extra healthy' makes me think of being resistant to poison or disease or somesuch, tbh >.> 22:04:13 of course, *that* was in place of "resilience," to me a significantly more ambiguous word 22:04:55 <06p​leasingfungus> yeah, resilience always sounds like AC or damage shaving or something to me 😛 22:05:23 <04d​racoomega> Agreed 22:05:38 <04d​racoomega> Also: I'd hoped to put this off until the major talisman project, but I might need to figure out how to make forms give real mutations just so I can describe some of this vampire stuff adequately. Fakemuts don't even give you a whole 80 characters >.> 22:06:43 <04d​racoomega> Which is fine for many things, and less fine for some others. 23:35:25 Unstable branch on crawl.develz.org updated to: 0.33-a0-798-g13cf12185f (34) 23:58:32 Windows builds of master branch on crawl.develz.org updated to: 0.33-a0-798-g13cf12185f