Project

General

Profile

Bug #1634

[Hexen] Hypostyle: Death Wyvern gets stuck

Added by skyjake over 10 years ago. Updated almost 9 years ago.

Status:
Closed
Priority:
High
Assignee:
Category:
Regression
Target version:
Start date:
2013-10-22
% Done:

100%

Tags:

Description

While playing through Hypostyle's boss battle (flying dragon thing in big lava room), it got stuck in the base of the room's center pillar and was easily killable.

Not sure if it was a one-off issue or a reproduceable bug. Should be retested.

See: description of the map

Associated revisions

Revision 0cefba7b (diff)
Added by skyjake almost 9 years ago

Fixed|Hexen: Death Wyvern gets stuck

The main trigger for the Wyvern getting stuck was that it chased the
dead Ettin that sometimes falls on the lava. If the Ettin is too
close to the central pillar, the Wyvern's requirement to get close
enough to the target was impossible.

Now the Wyvern just forgets about the Ettin after it has died.

Fixed the incorrect use of FIX2FLT (we're using coord_t),
addressed compiler warnings about calling abs() on an unsigned int,
and cleaned up the code a little.

IssueID #1634

Revision d7048727 (diff)
Added by skyjake almost 9 years ago

Fixed|Hexen: Death Wyvern gets stuck

The main trigger for the Wyvern getting stuck was that it chased the
dead Ettin that sometimes falls on the lava. If the Ettin is too
close to the central pillar, the Wyvern's requirement to get close
enough to the target was impossible.

Now the Wyvern just forgets about the Ettin after it has died.

Fixed the incorrect use of FIX2FLT (we're using coord_t),
addressed compiler warnings about calling abs() on an unsigned int,
and cleaned up the code a little.

IssueID #1634

History

#1 Updated by danij over 10 years ago

I've seen this happen a few times, though I can't be certain whether its not also present in vanilla (needs testing).

#2 Updated by vermil over 10 years ago

I believe the Death Wyvern's flight AI does have a flaw that can cause it to fly into the middle pillar under some circumstances. However, while it can get stuck on it for a short while, I can't recall it ever flying down to the floor and getting stuck permanently.

#3 Updated by danij over 10 years ago

I suspect that specific behavior (flying down to the floor) is a actually a symptom of a more general broken flier behavior (we already know DOOM and Heretic suffer from this).

#4 Updated by vermil over 10 years ago

I've just tested the Wyvern battle and after killing the Ettin in the middle it dropped down to the floor and stayed there.

I wonder if it's related to a bug I've raised with DaniJ before; that flying bad guys currently instantly drop to the floor upon killing something...

...One notes that the Wyvern's height seemed determined by the Ettin's corpse; if/when the Ettin's corpse goes over the edge of the pillar and into the lava, the Wyvern goes down with it. Though unlike fliers in Doom and Heretic, the move isn't instant and it also seems unable to raise back up.

#5 Updated by vermil over 10 years ago

Also, bad Skyjake: Wrong wiki :p

http://www.doomworld.com/vb/doom-general/52973-doom-wiki/
http://www.doomworld.com/vb/doom-general/57079-doomwiki-org-is-now-open/

The Doom community forked the wiki from Wika a couple of years ago after disagreeing with Wika's then new, advert dominated layout.

The Doom wiki, as used by the Doom community (and hence where the most up-to-date technical details on Doom) is now here: http://doomwiki.org/wiki/Entryway.

#6 Updated by skyjake over 10 years ago

  • Description updated (diff)
  • Priority changed from Lowest to High

I've raised the priority as this sounds reproducible.

(Also updated wiki link.)

#7 Updated by JGondek almost 10 years ago

I can confirm this bug. A temporary workaround is to shoot the Ettin on the pillar along with the Wyvern so that its corpse won't get pushed down to the lava (might need a few retries). Then, the dragon flies as it should.

#8 Updated by skyjake almost 9 years ago

  • Assignee set to skyjake
  • Target version set to 1.15

I started looking into this bug during my 1.15 RC playthrough. I feel like I'm close to a solution. The key is that the Wyvern should forget about the Ettin if it falls down (i.e., is already dead) and just continue pursuing the invisible flight targets.

#9 Updated by vermil almost 9 years ago

The Wyvern does actually still follow it's invisible flight target's,but at the wrong height, which causes it to ultimately crash into the pillar.

Could it be related to the issue I mentioned in the comments of this tracker item; that flyers instantly jump to the height of their target when they kill them?

http://tracker.skyjake.fi/issues/1129

I didn't mention bad guy infighting in said comment, but since then I've witnessed flyers instantly jumping when they kill another bad guy they are targeting, as well as the player.

EDIT: Whoops, I've realized I basically wrote the above 4 comments up; though I didn't link to the report back then. My apologies.

#10 Updated by skyjake almost 9 years ago

  • Status changed from New to Resolved
  • % Done changed from 0 to 100

#11 Updated by skyjake almost 9 years ago

vermil wrote:

Could it be related to the issue I mentioned in the comments of this tracker item; that flyers instantly jump to the height of their target when they kill them?

I don't think it's related, not at least very directly. What you're talking about probably has more to do with mobj Z collision checking when flying. The Wyvern has its own very specific flight logic that was going wrong here.

#12 Updated by skyjake almost 9 years ago

  • Status changed from Resolved to Closed

Also available in: Atom PDF