Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
Vorpal

Prboom+ and enemies falling off ledges

Recommended Posts

This has bothered me for years, and I can't figure out how to disable it. Not sure what I am missing here.

But yeah, for some reason the Boom engine introduced a bug where if you shoot an enemy who is near a ledge, they'll get stuck on the ledge. Then if you shoot them again, they will fall off, often into inaccessable areas.

I know it can be "fixed" by forcing the engine to emulate vanilla behavior (i.e. -complevel 2, and some others). This however breaks maps that use the now "standard" boom linedef/sector types.

I dont see any discrete settings that have any effect on the problem, either. These two are the only ones that mention falling or ledges, but the wording is so bizarre I have no idea what they actually do or what an "object" is.

"Some objects never hang over tall ledges"
"Objects don't fall under their own weight"
(comp_falloff and comp_dropoff in the config)

Any ideas? Currently I am forced to use zdoom to play wads made for boom because of this.

Share this post


Link to post

comp_falloff and comp_dropoff indeed sound confusing, but try YES-ing the "Some objects never hang over tall ledges" (comp_dropoff I think). The other one is MBF's gimmick of making lifeless objects obey torque physics, unrelated to your problem.

Share this post


Link to post

You could try using the line flags "impassible" and/or "block monster" around those lines of the ledge.

Share this post


Link to post

Yeah starting with a default config, no -complevel settings, and changing "Some objects never hang over tall ledges" to YES/NO has no effect with being able to push enemies off ledges.

Adding impassable lines around stuff isn't an option, as that will break demo recordings.

Share this post


Link to post

You can use the MBF complevel (11) and this setting will work. You'll probably want to nuke MBF's enhanced monster AI settings in that case, and check that the other individual compat settings are Boom-like.

The fact that it doesn't work in higher complevels is due to an old Prboom bug. Fixing it for those complevels would break demo compatibilty for demos recorded with those complevels (although these levels are virtually never used for recording).

BTW, note that you are always using a complevel, even if you don't specify one in the command line - in that case, the program uses the default value specified in your cfg.

Share this post


Link to post

Hmm, complevel 11 does indeed seem to work. Not sure what other oddities will entail (never touched MBF itself). It is curious that there are all these menu settings, but they only work if you're in one particular -complevel.

Share this post


Link to post

The idea is that only the ones that are actually possible to alter in the exe that is being emulated can be changed in that mode.

If you use -complevel 2, then you are asking it to emulate Doom2.exe, where you don't have any of these options, so it will just use whatever settings keep it compatible with Doom2.exe (regardless of what you have chosen in these menus). If you are asking it to emulate MBF, then whatever was optional in MBF will also be available for you to choose (and be acted upon).

The main things to note about MBF are the enhanced AI settings (in Options - Setup - Enemies). To keep things normal, turn off the oddities like backing out, intelligently avoid hazards, climb steep stairs and help dying friends. Otherwise, the most important compat settings to make sure a Boom level works correctly are the "use exactly Doom's..." options. You'll need to set them to "no". (If it weren't for that, then complevel 7 could be recommended for Boom levels to enable Boom specials while avoiding some of Boom's oddities.)

Share this post


Link to post
Grazza said:

You can use the MBF complevel (11) and this setting will work. You'll probably want to nuke MBF's enhanced monster AI settings in that case, and check that the other individual compat settings are Boom-like.

Weird, why? I thought that damage-pushing monsters off edges is a Boomism. Is it actually a PrBoomism (since you're recommending a pre-PrBoom complevel)? Is it almost hardcoded and can only be controlled by -complevel?

Share this post


Link to post

It was introduced in Boom. In MBF, it was made optional. In Prboom, they screwed up, and made it behave like Boom regardless of the setting if you were asking it to behave like MBF or newer. For years, no one noticed, because virtually no one uses the affected complevels for recording demos.

Some years ago, this was fixed in Prboom+ for the MBF complevel. For vanilla and Boom it correctly uses the behaviour of those exes (if it didn't, then we'd have lots of desynching demos - which we don't).

Share this post


Link to post

The effects described sound to me like monster momentum.
I suspect all that you want is the switch to use in prboom, but they covered that already (and I hardly can figure those out).

From my memory:
(It was too long ago to remember much more. I think I remember this right.)
Before MBF, monsters had no momentum, they just slowed down the speed they were moving, where speed is the Max speed for the monster from the sprite info tables. This seems to apply to corpses too.
This shows up when monsters move from a slippery sector (ICE) to a normal or sticky sector (LAVA). In Boom it hardly affects them, in MBF they had some momentum. The momentum also has a strong factor in monsters and corpses sliding around, and off ledges. Shooting a corpse just gives it momentum, it has no speed (max speed from sprite info).
Before MBF, a corpse would not slide.

Monster momentum strongly affects monsters running off a ledge.
Too much momentum and they cannot stop (they fall off). It also affects conveyor belts. Ever try to carry a monster off a ledge by a conveyor. Too little momentum and they ignore the conveyor and won't fall off.

I cannot tell you much about the MBF momentum code itself.

Worked on this extensively in DoomLegacy:
DoomLegacy has an option switch to select monster momentum, selecting
( Vanilla, MBF, Legacy ).
** Vanilla has no momentum.
** MBF has the MBF momentum code.
** Legacy gives monsters the same momentum that players use. There are significant code tests dedicated to keeping monsters from sliding off the ledges. MBF does not have such tests which I believe is the reason their monster momentum is weak and incomplete (monsters would run off ledges otherwise).

Don't know what zdoom does for monster momentum.
I am curious as to what info anyone can add to this ?
Monster momentum seems to never get discussed or acknowleged.

Share this post


Link to post

I don't think it is related to momentum. Vanilla just had a hardwired limit of (I think) 24 units that a non-flying enemy could move over. Boom inexplicably removed this limit, in favor of demons that get stuck on ledges, or fall 30 stories and land on their feet like ninja cats.

It frustrates me, primarily from a mapping perspective. The vanilla behavior allowed the use of ledges/platforms/walls that you didn't have to flag as "block enemies" to prevent them from falling off and becoming unkillable. In Boom (and its derivatives, apparently), it is impossible for example to have a simple wall on the edge of your map with enemies perched on it, that flying enemies can also cross over - unless you are willing to have the player possibly knock those enemies over the edge of the wall, making 100% kills impossible.

Lots of maps have been made with the vanilla behavior in mind. New maps too. For example sunder.wad has very careful placement of enemies, but when playing on default prboom+ settings, this careful placement is ruined as they fall off from various projectile crossfire.

Share this post


Link to post

By this time, shouldn't the PrBoom compatibility levels fix the dropoff bug Grazza described? Or merely the "default" complevel to do that.

Share this post


Link to post

I agree that this is simply a bug that should be fixed. Andrey has not done so because this would break compatibility with demos recorded with those demo formats (of which there are very very few that I know of). He plans to do so if and when the current demo format is bumped up to complevel 18, but there is no sign of that happening any time soon. I think the problem is that there aren't many numbers left before the code would need overhauling substantially.

The obvious way to deal with the incompatibility issue is to add a command-line option to force the buggy behaviour.

But if anyone is designing a Boom-compatible map, then they should be aware that pretty much anyone recording on it (and many of those playing it) will be using full Boom behaviour, which does mean live monsters falling off ledges. Unless support for an MBF options lump is added, it takes a lot of fiddling to get the comp settings right when using complevels 11 or higher.

Share this post


Link to post
Grazza said:

Unless support for an MBF options lump is added, it takes a lot of fiddling to get the comp settings right when using complevels 11 or higher.

That too... Until the PrBoom+ guy(s) decide to re-implement that, I plan to tell people to use -complevel 11 (if it's designed for MBF) and 'NO' all compatibility settings when using PrBoom+ for whatever hypothetical wads I release.

Share this post


Link to post
printz said:

'NO' all compatibility settings when using PrBoom+ for whatever hypothetical wads I release.

That should probably not include "dead players can exit levels". Lee Killough pretty much just screwed up with that one.

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×