thing heights in Doom

edited 2012 Apr 2 in Technical Support
In Doom the "Romero-head" boss and the "Eye symbol" scenery decoration thing are now defined not high enough and the player can walk straight through them. But they should be obstacles like green and red pillars or tall lamps.

Also the "skull in flames" thing could use some more height too.

Comments

  • Indeed, I agree that changes to the heights of the Evil Eye and Romero Head are needed.

    I posted about the Evil Eye and why I thought the height of it needed to be changed, over at Sourceforge a while back.

    https://sourceforge.net/tracker/index.p ... tid=542099
    Dday, like most other ports that add the option to Doom to allow mobjs to pass over/under each other, gave scenery items real heights (as ID left them all at 16, taking advantage of the afore mentioned limit in the engine to avoid having to set real heights for them).

    However Dday changed the height of the Evil Eye (named 'MISC38' internally) mobj to 16 (Deng team obviously decided that the candle was solid, but that the eye wasn't). This allows the player to simply step over the mobj...

    I would like to suggest this be changed to at least 25 (i.e to prevent the player from being able to 'walk straight through it') as a Vanilla wad may have used the Evil Eye mobj as a blocking pillar. I hope that makes sense as I had some difficulty writing it.

    Indeed, for comparison, I will say that ZDoom gave the Evil Eye mobj a real height of 54. For the sake of cross port compatibility (even on something as minor as this), I think Dday should change the height of the Evil Eye mobj to this.

    Though I missed the Romero Head, I think the same comments above, about the Eye, are relevant to the Head.

    In hindsight, regarding my comment about the Evil Eye's height being changed to the exact same height as ZDoom though; a look through more of ZDoom's Decorate reveals that Dday and ZDoom feature different heights for some other scenery mobs. Hence matching ZDoom specifically over the Eye height is probably pointless when there are other height differences between the ports. As far I could tell, the widths of all scenery mobs was the same between Dday and ZDoom.

    Tall Green Column; Dday 53; ZDoom 52
    Tall Red Column; Dday 53; ZDoom 52
    Evil Eye; Dday 16; ZDoom 54
    Floating Skull; Dday 35; ZDoom 26
    Torch Tree; Dday 70; ZDoom 56
    Tall Blue Torch; Dday 60; ZDoom 68
    Tall Green Torch; Dday 60; ZDoom 68
    Tall Red Torch; Dday 60; ZDoom 68
    Short Blue Torch; Dday 40; ZDoom 37
    Short Green Torch; Dday 40; ZDoom 37
    Short Red Torch; Dday 40; ZDoom 37
    Stalagmite; Dday 40; ZDoom 48
    Heads on a Stick; Dday 67; ZDoom 64
    Head Candles; Dday 43; ZDoom 42
    Dead Stick; Dday 66; ZDoom 64
    Live Stick; Dday 66; ZDoom 64
    Big Tree; Dday 124; ZDoom 108
    Burning Barrel; Dday 30; ZDoom 32

    These mobs are non-solid, so don't affect gameplay:
    Candle; Dday 16; ZDoom 14
    Meat2; Dday 84; ZDoom 0
    Meat3; Dday 84; ZDoom 0
    Meat4; Dday 84; ZDoom 0
    Meat5; Dday 84; ZDoom 0
    Non-Solid Bloody Twitch; Dday 84; ZDoom 0
    Colon Gibs; Dday 16; ZDoom 4
    Small Blood Pool; Dday 16; ZDoom 1
    Brain Stem; Dday 16; ZDoom 4

    Other mobs:
    Romero Head; Dday 16; ZDoom 0

    ZDoom actually lacks both height and width fields for the Romero Head (the Meats have width fields); the fact that the mf_solid flag remains on its Decorate though, suggests that the lack of these fields may have been a mistake.
  • Is there any chance of Deng Team and ZDoom coming to a compromise over mob heights?

    I'd give ZDoom's values higher preference in this (note I did not say, automatic preference), simply because I imagine that other Decorate supporting ports probably use the same values.
  • We really shouldn't be changing core gameplay properties like that at this very late stage. Fundamentally you are asking Doomsday to change these values to suit players of ZDoom mods and sacrifice backward compatibility with mods for our own port. What are we to do when a user decides to play, say, a Legacy mod or any other port for that matter?

    Given that the thing heights are defined in external definition files which can be freely modified by the user, I'm not quite seeing the problem here. Simply copy all the values from ZDoom into a DED file and then load it alongside the ZDoom mod.
  • The fact that they are core game play properties is my reason for suggesting all port dev's try to feature the same values for the heights of mobs. That somebody has to 'give' (be it Dday and/or another port), is why I called it a compromise.

    Independent of other ports though, the Evil Eye and Romero Head heights in Dday, also run afoul of potentially breaking Vanilla compatibility for the reasons I commented on in the quoted part of my post.
  • You are missing the point I'm making. By changing those values now all you do is shift the problem elsewhere, to another set of mods which suddenly become incompatible.

    Whether or not a mod uses Doomsday specific features is irrelevant. If a mod author used Doomsday for testing during creation of their mod they may well have made assumptions based upon it's behavior.

    I agree with changing these specific values if there are incompatibilities with vanilla. However by right this should also be compatibility optioned.
  • DaniJ wrote:
    If a mod author used Doomsday for testing during creation of their mod they may well have made assumptions based upon it's behavior.

    If a mod author used [insert port name here] for testing during creation of their mod they...

    The way source ports have handled things in the past probably eliminates the possibility for 100% compatibility without jumping through countless hoops.

    But Dday surely wants to support the majority of mods by default? This is what needs to be worked out; which values have been used to test the majority of mods on.

    This is not something that can be predicted with any reliable accuracy for non-port specific mods. But the majority of port specific non-tc mods out there are for ZDoom and ZDoom based ports, hence why I suggested ZDoom’s values maybe gain some raised preference.

    I believe it is best to consider this before Doomsday Script comes along potentially leading to a much larger pool of Dday specific mods and Dday begins gaining features that allow it to run other ports mods.
  • Vermil wrote:
    But Dday surely wants to support the majority of mods by default? This is what needs to be worked out; which values have been used to test the majority of mods on.
    I believe the answer to that is unequivocally vanilla DOOM. It would be foolish to think otherwise.
  • Yes it would be normally be to match Vanilla over another port, obviously.

    However, this is about something unrelated to Vanilla; if one chooses 'real heights' (to call it something) for mobs, wheter all ports should use the same values and if they don't all use the same values, should anything be done about it and what.
  • Judging by this discussion it seems there is no "one size fits all" solution here. I envision that what we should do in the future is add a set of "emulation" modes that contain logic cvar values, definitions, line/sector types, scripts, etc. for a particular variant of Doom. At least we should have Vanilla Doom and ZDoom in addition to DE1.8, DE1.9, DE2.0, etc.

    In practice these modes and their associated resources would likely be packaged as add-on bundles.

    It won't be an easy task to accurately emulate all features of other ports, but at least when it's organized in this manner we can iteratively improve on the support for a particular emulation mode.

    EDIT: added a proposal about this for further consideration and planning: http://dengine.net/dew/index.php?title= ... ion_layers
  • It would be possible to implement a categorisation logic which would attempt auto detection of the port and/or DOOM variant a particular mod was intended for. This information could conceivably be used to autoload a set of compatibility definitions and resources alongside the mod itself. Naturally, an auto detection logic such as this is never going to achieve a 100% success rate, so it should be possible for the user to explicitly categorise a mod via the management interface (a GUI in the engine itself).
  • That sounds fair. I don't think I can add anything, as I agree with the principle and I certainly couldn't offer anything on the technical side.

    Though, regarding thing heights specifically it still needs to be considered whether Dday is going to go off on its own, necessitating a Dday 1.9/2.0, or is going to match ZDoom (or another port; just using ZDoom as an example) anyway meaning that there would only be Vanilla, Dday 1.8 and Dday 1.9/2.0/ZDoom.

    I suppose some research needs to be done into what thing heights other ports actually use (i.e. it was only a guess that most other ports match ZDoom due to either being based off it or because they feature Decorate).

    I'll have a rummage through my various installs of other ports and see if I can pull up any differences in thing heights.
  • skyjake wrote:
    In practice these modes and their associated resources would likely be packaged as add-on bundles.

    It won't be an easy task to accurately emulate all features of other ports, but at least when it's organized in this manner we can iteratively improve on the support for a particular emulation mode.

    EDIT: added a proposal about this for further consideration and planning: http://dengine.net/dew/index.php?title= ... ion_layers
    Well I don't see how addons can allow emulation without considerable support from the engine. For instance, in vanilla alive monsters can't be kicked by damage from pillars they're upon; in Boom, they can (and also by conveyor belts). And so on.
  • Naturally where behaviors are missing they will need to be implemented and then made optional via cvar, definition file, or some other means.

    However, most Boom behaviors are already implemented and made optional via compatibility flags.
  • reg wrote:
    Well I don't see how addons can allow emulation without considerable support from the engine. For instance, in vanilla alive monsters can't be kicked by damage from pillars they're upon; in Boom, they can (and also by conveyor belts). And so on.
    I wasn't implying this could be done with the add-on mechanic implemented at the moment. The proposal lists several other new features that are required before such emulation add-ons would be feasible.
Sign In or Register to comment.