GZAP: Logic breaks around voodoo dolls?
I'm playing GZDoom Archipelago mod and seem to have uncovered a bug in the logic. I'm playing with the GunCaster mod enabled but I don't believe it was involved in this bug.
In TNT Map18 Mill, there was a check outside of the map bounds I couldn't find a way to get to. When I noclipped over there, I found out there is a tiny room with a critical check and a Voodoo Doll object of the player. There seems to be no way in or out of this spot and it's not on the map either which means it's considered out-of-bounds.
The room is pitch dark, but I'm able to see because of Guncaster's 'Drago-vision' which lets you see in dark rooms like the light amplifcation powerup.
Is logic for GZap designed to deal with voodoo dolls? As otherwise as far as I and a friend can tell our playthrough got halted by this one impossible pickup.
In fact two more checks have voodoo dolls
An addition to this. Apparetly this level is supposed to use voodoo dolls to do some weird teleportation nonsense by the map creator in TNT. Whatever crazy jank the map developer did was supposed to make it so that teleportation preserves momentium for some strange reason? I and an friend searched wikis trying to make sense of why there were so many voodoo dolls around.
I'm now not sure if this is actually broken, or if GZap's logic was able to put into account whatever crazy actions are supposed to unfold that causes these voodoo dolls to get flung into the items and pick them up. I'm concerned if logic assumes these pickups are available by simply just walking forwards into them or not.
Hopefully this information I'm giving is useful and not a waste of time, but thought it's better to report than say nothing.
Thanks!
"Objects sitting outside the level bounds" are really hard to deal with automatically, because it can't really distinguish between "this item is out of bounds because it's used in some weird voodoo doll contraption", "this item is out of bounds because it's meant to be teleported in-bounds later", and "this item is out of bounds because you're actually meant to be teleported there halfway through the level".
Your best bet when encountering stuff like this is to collect everything in the level that you can, then ap_scan_unreachable 2 in the console just before exiting the level -- that will (a) collect all those out-of-bounds checks as you leave and (b) mark them as unreachable in the tuning file for future games.
If you need it to complete the level, use god and noclip to get over to it, and ap_scan_unreachable 1 to mark just that pickup as unreachable -- it'll affect the next one you touch.
Thanks for the advice ToxicFrog.
This issue is with me using your baked in logic for TNT, though I'm still not sure if this voodoo doll quirkiness works if played vanilla + AP. So I'm not sure if your baked in logic needs to be fixed for this one.
If I do scans for additional map packs though I'll be sure to use the info you gave me, and if I do TNT again I'll patch the logic in my own client/server.
Feel free to close this if there's no more info about this possible bug you'd like from me.
Thanks, and GZap is absolutely awesome. Great job!
I'd like to improve TNT logic at some point, but at the moment it's just a "basic" scan, i.e. no manual verification or logic tuning. Usually the basic scan works fine but some wads do break it and need manual adjustment.
I'd like to improve support for it and eventually have perfect logic for all the official IWADs, but frankly TNT isn't high on my list because I don't actually like it very much. I know some people on the AP discord have been doing tuning runs of various IWADs, though, so one of them may get around to it before I do.
Sounds good and frankly I absolutely agree with your assessment. I never played TNT all the way through before and it was brutal.
Huge levels, secrets everywhere in which I know it's behind a wall or door but no idea how to get it open, secrets where you need to find an obscure teleporter on the opposite end of the map to get into a room, etc.
I had to resort to noclip in my run several times as even reading walkthrough guides for secrets was too laborious. I'm not too keen on playing that one again.
Nonetheless, glad to know it's possible to refine logic tuning for weird things like voodoo dolls. As an outsider not knowing how your logic scanner works I had the theory it assumed I could collect those checks because they were right in front of my voodoo dolls, and wondered if it assumed that meant the player could path to them immediately at the start of the level.
Thanks again for the awesome mod, and I'll keep that command in mind when I know there's something unreachable.