42PercentHealth Posted July 27, 2017 Hey all, I've finally been converted from a ZDoom player to a PrBoom+ player. Overall, the transition was pretty smooth, since I got into the habit of using Boom compatibility on ZDoom, and since I don't usually try punching mancubi or arachnotrons... It also feels like monster behavior is more predictable, autoaim does what I want more often than before, so I'm pretty happy with it. The only thing that annoys me to no end is having my hitscan attacks pass harmlessly through monsters! For example, arachnotrons always die in three SSG blasts. This means that I can safely approach this wall while circle-strafing, because the monster will be dead right... about... now. AAAH! *Takes plasma to the face, dies.* I know this bug has existed forever, but I don't often see it happen to the doomgods in their demos -- not as often as it feels like it happens to me, anyway. Is there any way known to Doomworld to minimize the probability of this happening? I've tried things like standing closer, aligning myself along the north/south or east/west axes, but without success. Any insight would be greatly appreciated. 0 Quote Share this post Link to post
Nine Inch Heels Posted July 27, 2017 (edited) Your distance to the thing in question does not matter, unless you're bumping into the thing's "personal space", as far as I'm aware. There are certain circumstances that make blockmap bugs more likely to occur, but I have yet to see someone provide a general rule of thumb that I could actually relate to. At times it's narrow hallways, at times it's sufficient if things simply move, and when it comes to highly optimized demos, people played these maps for hours upon hours, thus they know where the bug is most likely to occur, and where it isn't. EDIT: that aside, this forum has a search function which, if employed skillfully, would have provided you with lots of threads to dive into. ;-) Edited July 27, 2017 by Nine Inch Heels 1 Quote Share this post Link to post
Xyzzу Posted July 27, 2017 (edited) The monster's hitbox consists of its cross-section i.e. an "X" that connects the four corners of its supposed hitbox. (Excuse the crappy MSPaint edit) This "X" does not rotate at all, so it always faces NSEW. So what I suggest is to go at a 45-degree angle, aiming at one of the diagonal lines. That's where the "swingshot" myth came from. Edited July 27, 2017 by Xyzzy01 spelling mistake 1 Quote Share this post Link to post
42PercentHealth Posted July 27, 2017 (edited) 6 minutes ago, Xyzzy01 said: So what I suggest is to go a a 45-degree angle, aiming at one of the diagonal lines. Interesting.... Still there is no way to shoot through the box without shooting through a diagonal of the box, so there has to be more to it than "missing" the diagonal. Still, I'll give it a try and see what happens. (I was seeing the bug a lot on HR map 7, so maybe I'll test it there.) ... Aaaaand I just made a pun worthy of the bad jokes thread. :-P Quote That's where the "swingshot" myth came from. I'm not aware of the "swingshot" myth... could you explain? Thanks! Edited July 27, 2017 by 42PercentHealth Decided to ask about the swingshot myth. Sounds mythical. 0 Quote Share this post Link to post
Xyzzу Posted July 27, 2017 (edited) Quoting david_a from 2008: Quote Instead of lining up the gun before pulling the trigger, start at an angle and fire while "swinging" the mouse around. This used to be some sort of strategy in DM. Edited July 27, 2017 by Xyzzy01 1 Quote Share this post Link to post
scifista42 Posted July 27, 2017 (edited) Blockmap covers the whole map's area by a grid of square blocks 128x128 map units large. This grid can be viewed on the automap in the game by pressing G. Blockmap bug works like this: If a hitscan doesn't pass through the blockmap block in which the monster's center is located, collision between the monster and the hitscan will not be checked and the hitscan will pass through. Illustration: The picture is a top-down view onto a part of map. This part is covered by 4 blockmap blocks, the boundaries between them are drawn as orange lines. The monster's center is located in the bottom right block. The hitscan only goes through the left and top blocks, and never enters the bottom right block, therefore it will pass through the monster, even though it clearly intersects the monster's bounding box. The player and the monster don't have to be in directly adjancent blockmap blocks as in the picture, but can be arbitrarily far away from each other - the distance between them is irrelevant to whether the bug will take effect or not. However, if the player (who fired the hitscan) and the monster were both in the same block, the bug would definitely not take effect, because the hitscan definitely crosses the block it originates from. To avoid the blockmap bug while playing, you need to watch where the blockmap grid is and where the monster is relatively to it, and avoid shooting into such a direction that the blockmap block containing the monster's center may be missed by your attack. Not sure how feasible this is to do while speedrunning (I mean, after playing the map hundreds of times and knowing every pixel of it), let alone casual playing. Edited July 27, 2017 by scifista42 7 Quote Share this post Link to post
42PercentHealth Posted July 27, 2017 @scifista42 Thanks for the info! You're probably right -- keeping track of an invisible blockmap grid is probably not feasible. My ammo-efficiency make-every-tracer-count OCD is not going to like to hear that. :-P Thanks again! 0 Quote Share this post Link to post
axdoomer Posted July 29, 2017 (edited) On 7/27/2017 at 11:06 AM, Xyzzy01 said: The monster's hitbox consists of its cross-section i.e. an "X" that connects the four corners of its supposed hitbox. (Excuse the crappy MSPaint edit) This "X" does not rotate at all, so it always faces NSEW. So what I suggest is to go at a 45-degree angle, aiming at one of the diagonal lines. That's where the "swingshot" myth came from. I was astonished to learn this because I didn't believe it worked like that at all. Thanks for the explanation. Related source code: link Edited July 29, 2017 by axdoomer it -> I 1 Quote Share this post Link to post
scifista42 Posted July 29, 2017 (edited) To be fair, Xyzzy01 referred to it as "the monster's hitbox", but it's specifically just a hitscan-collision box. Collisions with other things (including projectiles) and with linedefs use typical square collision formulas, not an X at the square's diagonals. Edited July 29, 2017 by scifista42 1 Quote Share this post Link to post
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.