03:30:30 Experimental (bcrawl) branch on underhound.eu updated to: 0.23-a0-5208-geafff8c3b6 05:23:29 Unstable branch on crawl.akrasiac.org updated to: 0.32-a0-1605-gf4827b8 (34) 06:05:57 -!- kate-- is now known as kate- 10:15:37 <04d​racoomega> I've been trying to investigate the unreliability of Step from Time, and the details of how it reacts to different circumstances, and it's not only impressive just how terrible it is in many situations (worse than I thought) but also how hard it appears to be to coerce it to work any differently, due to monster behavior code being the rat's nest that it is. 11:00:46 <06p​leasingfungus> rats! 11:38:45 03dolorous02 07* 0.32-a0-1606-g6061a74ad1: Add another pattern to the colour database. 10(2 minutes ago, 1 file, 2+ 0-) 13https://github.com/crawl/crawl/commit/6061a74ad196 11:46:27 <04d​racoomega> After a sufficient number of hours at this, I really am like "So this is why no one has ever improved this in all these years." ^^; 12:15:43 <06p​leasingfungus> i salute your service 12:36:55 <04d​racoomega> I have just given a visual demonstration of monster wandering behavior to Index by repeatedly walking into the walls of this room 12:36:59 <04d​racoomega> Truly, I am dedicated to my craft 12:39:22 -!- wantyapps_ is now known as wantyapps 13:15:08 <08n​icolae> did you make bonk noises 13:27:05 <04d​racoomega> In the spirit of authenticity, I reacted as if what I was doing was completely ordinary and normal 13:30:36 <06p​leasingfungus> inspiring. 13:34:30 <04d​racoomega> I care a great deal about my work 13:36:10 <04d​racoomega> And I have been trying to bend this code to my will with a giant pipe wrench and an entire fleet of hammers and it's impressive that it still manages to completely resist 13:38:50 <04d​racoomega> Behavior code just really, really wants to give up on whatever else it's doing so that it can resume running repeatedly into walls 13:52:38 <06d​olorous_84348> Making enemies run repeatedly into walls sounds like a possible Xom effect, for when mere confusion isn't enough. (But seriously, I'd also salute your trying to fix it; I've never understood the code for it all that well.) 13:53:58 <06d​olorous_84348> There are some significant chunks of code I don't understand all that well, in fact, or I'd be making a bigger dent in the list of PRs. 14:03:31 <04d​racoomega> Like, there's two sort of overlapping but non-identical things going on here. Okay, maybe three, really. -Monster wandering code is really, really dumb -Monster behavior code is tangled and hard to trace and often has unexpected effects (see the recent bug I fixed where cancelling retreat orders just got ignored because some other part of the code just overwrote it later) -Step From Time ought to be more reliable and less 'almost 14:03:32 guaranteed to be bad depending in unclear ways upon the shape of the local terrain' 14:04:52 <04d​racoomega> Currently Step From Time is suffering a bunch because of the first two points, but they also have independent effects, and it's not strictly necessary to improve Step From Time via fixing these. I can do something more reliable that emulates the desired visible effect without being so dependent on literally running monster wandering logic for a few hundred turns. 14:05:29 <04d​racoomega> (But also: #2 has annoyed me for over a decade, independent of this) 14:06:21 <04d​racoomega> I find it kind of amusing that the length of time the player steps from time scales quite heavily with invocations, but I am not sure this ever has a practical effect. Like '100 turns' is approximately as effective (or ineffective) at improving one's situationa as 300 turns is. 14:07:09 <04d​racoomega> (One really can spend thousands of turns in a sort of boxy space and not have most of the monsters figure out how to exit it) 14:17:13 03dolorous02 07* 0.32-a0-1607-g1c16d331d5: Add a Xom pseudo-miscast for the gizmo slot. 10(6 minutes ago, 2 files, 15+ 0-) 13https://github.com/crawl/crawl/commit/1c16d331d5e3 14:19:48 <06d​olorous_84348> So, effectively, monsters have a terrible sense of direction because of these two things? 14:21:30 <06d​olorous_84348> Which makes Step From Time not all that useful, because the monsters don't move in useful ways while you're stepped out? 14:21:36 <06d​olorous_84348> If I understand you correctly? 14:25:36 -!- wantyapps is now known as deadbody 14:25:52 -!- deadbody is now known as wantyapps 14:27:00 <04d​racoomega> More or less. When wandering without a move target, a monster will pick a random nearby cell (which may be inside a wall - no LoS or reachability checks are done) and then try to move in that direction (without any pathfinding) and then if they actually reach that spot or spend a single turn unable to move towards that spot (either because something is in the way or because there's just a wall there) or just a small chance to 14:27:01 happen randomly, will pick a new spot. 14:27:23 <06d​olorous_84348> Ah. 14:27:54 <04d​racoomega> And in any location where the 'exit' is narrow, they have a much, much higher chance of the random direction they pick moving them into a wall, and causing them to immediately reroll a new direction (which is also in a wall) 14:28:19 <04d​racoomega> To actually leave, they'd basically need to roll a very, very specific destination at a very specific moment. 14:28:26 <04d​racoomega> To actually go out the corridor or whatever 14:28:42 <06d​olorous_84348> That explains a lot; sometimes the Beogh-converted orcs have a very hard time actually leaving the level. 14:29:05 <04d​racoomega> No, those are handled differently. And should be working fine, since I last spend a while fixing that? 14:29:12 <04d​racoomega> I don't know if you're talking about old behavior there 14:29:28 <04d​racoomega> (Because it was extremely broken for unrelated reasons for many years, but I fixed that back with the Beogh overhaul) 14:29:49 <06d​olorous_84348> The last time I noticed it was when adding the handling for converting orcs marked for vengeance, and it was only one time anyway. 14:29:54 <04d​racoomega> Hmmm 14:30:14 <04d​racoomega> I mean, not impossible there's some other problem, though it's seemed to work fine as far as I've seen 14:30:19 <04d​racoomega> (It very much didn't a while ago) 14:30:48 <04d​racoomega> %git d28174fed39d2e3a1e48a3ac180ccb4e70227083 14:30:49 <04C​erebot> DracoOmega * 0.31-a0-1621-gd28174fed3: Fix a slew of frightening issues with pacified monster pathing (6 months ago, 5 files, 89+ 73-) https://github.com/crawl/crawl/commit/d28174fed39d 14:30:56 <06d​olorous_84348> Okay. It's one of those things I wasn't certain about reporting. But good to know. 14:31:48 <06d​olorous_84348> It was just the one orc going in circles for a while, until it didn't anymore. 14:31:53 <04d​racoomega> Huh 14:32:13 <04d​racoomega> Wouldn't surprise me if the tangle of monster behavior code can in rare causes cause them to get lost, I guess 14:32:29 <04d​racoomega> (But it seems to work the vast majority of the time, at the very least) 14:32:35 <06d​olorous_84348> Which is good 🙂 14:32:38 <04d​racoomega> Unlike this stuff, which fails the vast majority of the time 😛 14:33:19 <04d​racoomega> Funny thing is that the presence of the player doing things / making small bits of noise (even if the monster can't see them - even if the monster has never seen them) makes monsters appear to behavior a lot more sensibly. 14:34:24 <04d​racoomega> But without that (even without Step From Time being involved), there's a lot of terrain that monsters will just remain more or less stuck in forever, if the player doesn't specifically go and get their attention again. 14:35:12 <06d​olorous_84348> So if there was an arena with weird terrain, that could happen as well? 14:35:24 <06d​olorous_84348> Or am I overthinking things? 14:35:42 <04d​racoomega> Terrain doesn't even need to be weird at all 14:35:58 <04d​racoomega> Imagine basically any large room / boxy thing with a narrow exit 14:36:33 like the traditional rooms-with-corridors rogue layout 14:36:52 <06d​olorous_84348> That is interesting, in the worst way. 14:37:17 <04d​racoomega> You can Step From Time in many Elf:3 vaults for thousands and thousands of turns and not see any apparent decrease in the number of things around you. 14:37:34 <04d​racoomega> (Every now and again something does manage to get out, but it's quite rare) 14:38:43 <04d​racoomega> Now, there's some argument that monsters having a tendency to stay inside large vaults or vault-like spaces unless the player drags them out with their own face is a positive thing. 14:39:37 <06d​olorous_84348> Indeed. 14:39:43 <04d​racoomega> (But also some argument that woken monsters being able to surprise the player by showing up at other locations is also good) 14:40:56 <04d​racoomega> I kind of don't like how this behavior is so dependent on the specifics of shape, though. There are large, obvious 'vault' spaces of high threat that don't exhibit nearly this much behavior. (Or, again, random layouts that do) 14:43:33 <08n​icolae> fake it internally by teleporting a few monsters away when you activate step from time, within a range based on how long you step from time, so it seems like they wandered away but in reality the GM just yoinked them elsewhere 14:43:41 <08n​icolae> but not all of them, just sometimes 14:44:48 it'd be better to fix monster behavior than bandaid it 14:45:04 not that that''s necessarily possible without gutting the game, of course 14:46:33 <04d​racoomega> Well, rather, I think it's entirely plausible that Step From Time wants some special handling of its own regardless of anything else 14:47:56 <04d​racoomega> Since even if we assumed monsters wandered better in general somehow, it would remain entirely plausible to get blindsided by stuff much worse than you Stepped Away from (and had never seen before) getting an immediate first attack on you after using the ability, without warning 14:48:33 <04d​racoomega> Decreasing the odds of that somewhat by improving monster movement somewhat may not in itself be enough 14:49:08 <04d​racoomega> (I have been experimenting with a variety of different things, but a bunch of it has been stymied by monsters still not listening to me very well ^^; ) 15:14:08 -!- wantyapps is now known as aplel 15:16:11 getting blindsided by an immediate first attack is obviously horrible for a high-piety escape ability but I also think the possibility of some small amount of monsters wandering in is core to the concept (both theme and mechanical differentiation) of traveling into the future vs the various "get off me" tlocs. maybe guaranteed unawareness on 15:16:11 return? 15:20:25 personally, I'd expect it to be a risk of using it 15:21:04 you're trading the monster set currently present for the monster set potentially present in the future 15:22:07 that said, when you step back into time, monsters probably should take a little time to adjust, possibly including being dazed for a turn 15:24:45 hadn't personally considered daze, was just thinking guaranteed no-spot on the turn of the ability use 15:25:21 (I *guess* they could bump into you, if the code works as I understand it?) 15:33:14 <04d​racoomega> I do agree that it doesn't really want to be 'everything always goes away' (though currently there's a big distance between that and what it is) 15:34:49 <04d​racoomega> And at least giving the player a moment to react to their new circumstances. (It's actually really easy to just make it instant, but: A) Temporal Distortion does that, and I'd theoretically like if this wasn't just 'temporal distortion, but longer' B) Currently that isn't even very helpful in a lot of situations where your circumstances almost never improve (despite it seeming like they ought to) 15:36:33 it's true, I have nearly died to assuming step from time would get at least one monster out of los before 15:37:09 Unstable branch on underhound.eu updated to: 0.32-a0-1607-g1c16d331d5 (34) 15:45:49 03dolorous02 07* 0.32-a0-1608-gf6d08ccad7: Add a Xom pseudo-miscast for ring slots. 10(40 minutes ago, 2 files, 36+ 0-) 13https://github.com/crawl/crawl/commit/f6d08ccad778 15:47:35 <09g​ammafunk> what could have been if sever was real... cpp static void _xom_pseudo_miscast(int /*sever*/) 15:50:07 03dolorous02 07* 0.32-a0-1609-g6f9366b24c: Improve display of Xom ring slot miscasts. 10(2 minutes ago, 1 file, 1+ 1-) 13https://github.com/crawl/crawl/commit/6f9366b24ccf 15:53:20 03dolorous02 07* 0.32-a0-1610-gf4a1136d2b: Clarify comment. 10(3 minutes ago, 1 file, 1+ 2-) 13https://github.com/crawl/crawl/commit/f4a1136d2be6 15:58:16 <06d​olorous_84348> The function to get a random worn ring might be useful elsewhere, but for now it's a xom.cc-only function. 15:59:34 <06d​olorous_84348> A lot of the code for it is taken from player::wearing(), as it is. 16:06:56 <04d​racoomega> I have very forcefully bent some things to really finally make monsters actually move away to somewhere I've told them to, and this usually works (but isn't really generalizable and is mostly only for debugging at the moment), but sometimes even this fails mysteriously 16:07:30 <04d​racoomega> And after sifting through pages and pages of an increasing amount of diagnostic output, I am starting to wonder if it's literally because two monsters are both trying to move into each other's space, and can't. So they just sit there. 16:08:01 <04d​racoomega> (I am not yet sure, though) 16:09:37 <06d​olorous_84348> Hey, it's progress. 16:14:21 <04d​racoomega> I question that, sometimes ^^; 16:16:32 -!- aplel is now known as wantyapps 16:27:37 03dolorous02 07* 0.32-a0-1611-gc6c5c127b9: Add Xom pseudo-miscasts for gloves/boots slots. 10(6 minutes ago, 2 files, 30+ 0-) 13https://github.com/crawl/crawl/commit/c6c5c127b96c 16:31:43 <06d​olorous_84348> I couldn't think of much in the way of pseudo-miscast messages at the moment, but now the mechanism is in place to add more. 16:57:18 -!- Changesite1 is now known as Changesite 16:58:34 03dolorous02 07* 0.32-a0-1612-gbeb539b8dc: Tweak Xom gizmo pseudo-miscast msg. 10(2 minutes ago, 1 file, 1+ 1-) 13https://github.com/crawl/crawl/commit/beb539b8dc92 18:14:10 <06r​egret-⸸nde※> (Sorry for hiding all the new pseudo-miscasts for people who abandon Xom turn one, dolorous, but on the other hand, maybe less people will abandon Xom less often and then see them the more normal way?) 18:14:33 03regret-index02 07* 0.32-a0-1613-g9b0b472dee: New Xom action: brain drain 10(21 hours ago, 3 files, 114+ 1-) 13https://github.com/crawl/crawl/commit/9b0b472deeef 18:14:33 03regret-index02 07* 0.32-a0-1614-g5538e63c64: New Xom action: living Force Lance fleet 10(5 hours ago, 3 files, 87+ 9-) 13https://github.com/crawl/crawl/commit/5538e63c6440 18:14:33 03regret-index02 07* 0.32-a0-1615-gbdf0b8bb2c: Scattered Xom buffs to both worship and wrath 10(7 minutes ago, 2 files, 141+ 43-) 13https://github.com/crawl/crawl/commit/bdf0b8bb2c9a 18:44:36 03dolorous02 07* 0.32-a0-1616-g069b42e500: Fix spelling. 10(2 minutes ago, 1 file, 1+ 1-) 13https://github.com/crawl/crawl/commit/069b42e5005f 18:51:42 <06p​leasingfungus> @regret-⸸nde※ lmao at the force lance xom spells 18:51:56 <06p​leasingfungus> good… good 18:55:27 <06d​olorous_84348> Yes, that's a good point. The miscasts are more Xom screwing with things than causing actual harm, anyway. 18:56:21 03dolorous02 07* 0.32-a0-1617-g79019f5db0: Fix spacing. 10(6 minutes ago, 1 file, 6+ 6-) 13https://github.com/crawl/crawl/commit/79019f5db09a 18:57:12 <06d​olorous_84348> Also, "Xom picks up your mind and accidentally drops it." is perfect. 19:12:13 young frankenstein! 19:14:17 <06d​olorous_84348> Or that Red Dwarf episode "Bodyswap" (the mind in question was on tape, but still). 19:35:23 03dolorous02 07* 0.32-a0-1618-g9325eb94cc: Tweak a Xom divine lightning message. 10(3 minutes ago, 1 file, 1+ 1-) 13https://github.com/crawl/crawl/commit/9325eb94ccfd 22:06:37 03dolorous02 07* 0.32-a0-1619-g0d330ff531: Update Kiku powers description (jlwoodwa). 10(15 minutes ago, 1 file, 3+ 3-) 13https://github.com/crawl/crawl/commit/0d330ff5319b 22:35:37 Unstable branch on crawl.develz.org updated to: 0.32-a0-1619-g0d330ff531 (34) 22:59:00 Windows builds of master branch on crawl.develz.org updated to: 0.32-a0-1619-g0d330ff531 23:17:13 Unstable branch on cbro.berotato.org updated to: 0.32-a0-1619-g0d330ff531 (34) 23:55:12 Monster database of master branch on crawl.develz.org updated to: 0.32-a0-1619-g0d330ff531