Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Vertical Aiming - Direct causes lots of bugs at Doom 2 MAP30 Icon of Sin #968

Open
SoDOOManiac opened this issue Dec 4, 2022 · 12 comments

Comments

@SoDOOManiac
Copy link
Collaborator

SoDOOManiac commented Dec 4, 2022

Background

Version of Crispy Doom: daily build December 4, 2022, also 5.11.1 and 5.9.2

Operating System and version: Win 7, Win 10

Game: v1.666 Doom 2: Hell on Earth

Any loaded WADs and mods (please include full command line): crispy-doom -iwad doom2v16.wad

Bug description

Observed behavior: with Vertical Aiming: Direct the following bugs can happen in the Icon of Sin MAP30 level -

  1. Ghost monster (baron of hell in the video, all projectiles and hitscan shots go through him doing no harm with no collision)
    https://www.youtube.com/watch?v=7--wg1zjwXc

  2. Monster telefrag by the following Icon of Sin-launched monsters (not sure if it's a bug actually)
    https://www.youtube.com/watch?v=RvHD02aRVcA
    Icon_of_Sin_telefrag

Savegame
IoS+Direct_Aiming_ghost_monster_and_telefrags.zip

Expected behavior:
These bugs shouldn't happen with any vertical aiming setting.

@fabiangreffrath
Copy link
Owner

Why are you so convinced that these correlate with direct vertical aiming?

@fabiangreffrath
Copy link
Owner

  1. Monster telefrag by the following Icon of Sin-launched monsters (not sure if it's a bug actually)

Seems like monsters can do telefrags specifically on MAP30:

// monsters don't stomp things except on boss level
if ( !tmthing->player && gamemap != 30)
return false;

@fabiangreffrath
Copy link
Owner

  1. Ghost monster (baron of hell in the video, all projectiles and hitscan shots go through him doing no harm with no collision)

Could just as well be the all-ghosts bug triggerred by an intercepts overflow.

Savegame [IoS+Direct_Aiming_ghost_monster_and_telefrags.zip]

DO you have the demo file for the videos?

@fabiangreffrath
Copy link
Owner

DO you have the demo file for the videos?

I probably forgot there won't be a valid demo recording with direct vertical aiming. 😆

@SoDOOManiac
Copy link
Collaborator Author

SoDOOManiac commented Dec 6, 2022

Why are you so convinced that these correlate with direct vertical aiming?

Because with the value Autoaim or Both (where autoaim is used in case of horizontal alignment with the enemy) this behavior doesn't occur, the shots hit this Baron properly.

@SoDOOManiac
Copy link
Collaborator Author

Could just as well be the all-ghosts bug triggerred by an intercepts overflow.

Intercepts overflow in a vanilla level?

@Phytolizer
Copy link

Could just as well be the all-ghosts bug triggerred by an intercepts overflow.

Intercepts overflow in a vanilla level?

The intercepts overflow is possible on any level at all, and IoS is an unusually likely candidate due to the infinitely spawning monsters. It can happen on any level in Nightmare quite easily, or even outside of Nightmare if you are extraordinarily unlucky with fixed point rounding.

@fabiangreffrath
Copy link
Owner

The intercepts overflow is possible on any level at all, and IoS is an unusually likely candidate due to the infinitely spawning monsters. It can happen on any level in Nightmare quite easily, or even outside of Nightmare if you are extraordinarily unlucky with fixed point rounding.

While everything you say is right, what does "fixed point rounding" have to do with intercepts overflow?

@Phytolizer
Copy link

Phytolizer commented Jan 20, 2023

When traversing to find intercepts, the step size can be rounded incorrectly in one or both directions, and fail to reach the next blockmap square in one step. If there are intercepts in the affected block, they will be added repeatedly for a while (not forever, there is a hardcoded limit).

@JNechaevsky
Copy link
Collaborator

I believe there is a good video reference about this case made by decino: https://www.youtube.com/watch?v=-IYfwCWZeD0 (starts in 6:50).
And looks likes, this is how Zero Master achieved same bug at E1M8: https://www.youtube.com/watch?v=5vtijM0xZMc (starts in 5:00).

@fabiangreffrath
Copy link
Owner

Ah, right, there was this issue. I remember this being the culprit for lines sometimes getting skipped for interception checks, which in turn is the cause for the mancubus fireballs flying through the pillars in MAP07, right?

@JNechaevsky
Copy link
Collaborator

No-no, this is slightly different thing. Again, nice video by decino: https://www.youtube.com/watch?v=kRC7hGDrNsM

In practice, it was partially fixed by Lee Killough: https://github.com/doomtech/winmbf/blob/trunk/Source/p_mobj.c#L174 Exactlly "partially", since this fix is working in ~95% of collisions, while there is still a small chance of clipping though the wall. Such clipping can be easily noticed on nuts.wad with fast monsters.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants