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

Things about Doom you just found out

Recommended Posts

Just realised the bizarre and morbid continuity of the end of Doom 1 depicting a rabbit's head on a stick, while Doom 2 ends with you fighting John Romero's head on a stick.

Share this post


Link to post

Changesky-command is useful in gzdoom when trying to select the best sky for a map.. Although doesn't work when transfersky is used.

Share this post


Link to post
18 hours ago, ImpieEyez95 said:

-

 

I don't recall what your original post said. You edited the post to remove it after you found the solution (kudos for finding it, by the way). In the future, could you just strike through your original comment or add "EDIT: xxxx" saying that you found the solution (and possibly what it was). This could help someone in the future.

 

This is not a comment leveled directly at you, but I have seen multiple threads where someone comes back later and deletes the contents of their previous posts in that thread. This destroys the history of the discussion within the thread as well as the context, particularly when other people leave comments referencing the one that was deleted (and by deleted I mean, the text in the thread removed by the author, not one of the mods actually removing the post).

Share this post


Link to post

I recently found out that not only was Tom Hall the one who coined the idea of having teleporters in Doom, he also put together the first teleporter flat graphics.

Share this post


Link to post
On 9/6/2018 at 9:43 PM, KVELLER said:

I was looking around one of the beta version's files, and while I found a lot of neat stuff, this got most of my attention:

 

W20_1.png.d2424e0ca647fa564f298c67f3c036a2.png

 

It's wonderfully gruesome.

This needs to appear in at least one mod.

Share this post


Link to post
On 10/23/2018 at 4:17 PM, galileo31dos01 said:

I believe mappers put those tiny sectors for sound propagation, and if this is right then I just found out the real reason for them. Yay me!

Those are called "sound tunnels". They're mostly a relic of oldschool mapping, because nowadays people add sectors to monster batteries which are joined/merged with a sector in the map. It has basically the same effect as a sound tunnel, except you don't need to worry as much about positioning the batteries, or figuring out ways to build a tunnel from inside a complex map outwards to where you need the sound propagate in order to activate the monsters.

 

However, sound tunnels can still have use cases for staged fights where you can start with closed tunnels and slowly open them up to gradually activate monsters, rather than having them go all at once. Good way to create uphill fights in formats like boom or even vanilla doom, especially since there is no discrepancy between ceiling raise speeds in PrBoom+ and for example GZDoom, so any differences in conveyor speeds are out of the equation, because such a setup does not rely on conveyor based timers at all.

Share this post


Link to post

Sound tunnels are the way id did these effects. You can find them on many maps. There's one from the imp cage to the nearby secret room on map01.

You don't really need sound tunnels even when using triggered doors. All you need is a barrier between the merged sector and the monster battery.

When it comes to timers, a very reliable vanilla-compatible way is to use a cacodemon in the bottom of a pit. It will float upwards with a constant speed, if you need it to spend more time before opening a door, just put some m1 teleporter lines to reset the cacodemon back down into the pit.

Share this post


Link to post

The only use for monsters on conveyor belts I can think of is teleporting them on the map unalerted. Everything else I can think of can be done pretty elegantly in vanilla.

Share this post


Link to post

I could probably build an unalerted monster teleporter in vanilla, with a few constraints of course, so it won't be quite as versatile as conveyor belts, but it is possible I think. Sounds like a neat challenge.

Share this post


Link to post
3 hours ago, zokum said:

I could probably build an unalerted monster teleporter in vanilla, with a few constraints of course, so it won't be quite as versatile as conveyor belts, but it is possible I think. Sounds like a neat challenge.

 

I would be interested in seeing that. Would it only work for monsters? Or could you use it to teleport other objects, too?

Share this post


Link to post
2 minutes ago, Pegleg said:

 

I would be interested in seeing that. Would it only work for monsters? Or could you use it to teleport other objects, too?

Only monsters and the player can be teleported in Doom, nothing else. Having other things "appear" can be done by instant moving floors inside a hole with missing lower textures. This works best for items, since they aren't blocking, but you could probably make trees and other things suddenly appear.

Share this post


Link to post
23 minutes ago, Pegleg said:

 

I would be interested in seeing that. Would it only work for monsters? Or could you use it to teleport other objects, too?

You can teleport items in Boom with conveyors, which sometimes is a good way to keep the playing area clean of invisible pits that interfere with monster movement. You can only teleport what moves though, so items teleporting into the map are probably off-limits in vanilla (unless there's some "fuckery" that I'm not aware of).

 

However, you can teleport barrels in vanilla doom, for example exploding ones: You put one barrel on a teleport linedef, put another barrel nearby under a slow crusher, and once the crusher "pops" the barrel underneath, the blast will push the other barrel through the linedef and make it teleport. I would imagine this trick might also work with monsters that survive the blast of a barrel, however I'm not sure if it's going to stay inactive in such a case. EDIT: I'm somewhat confident a monster that gets hit by a blast and enters a pain state will turn active once the pain state is over, but I'm not 100% sure.

Share this post


Link to post
2 hours ago, Nine Inch Heels said:

However, you can teleport barrels in vanilla doom, for example exploding ones: You put one barrel on a teleport linedef, put another barrel nearby under a slow crusher, and once the crusher "pops" the barrel underneath, the blast will push the other barrel through the linedef and make it teleport.

 

This was the only way that I could envision teleporting inactive monsters. The downside would be that the monsters wouldn't be at full strength.

 

2 hours ago, Nine Inch Heels said:

I would imagine this trick might also work with monsters that survive the blast of a barrel, however I'm not sure if it's going to stay inactive in such a case. EDIT: I'm somewhat confident a monster that gets hit by a blast and enters a pain state will turn active once the pain state is over, but I'm not 100% sure.

 

According to @scifista42, in this thread about infighting, "An enemy damaged by an exploded barrel will not retaliate against the barrel, because the exploded barrel is already dead." Since he's usually accurate about matters like this, I take him at his word.

Share this post


Link to post
38 minutes ago, Pegleg said:

According to @scifista42, in this thread about infighting, "An enemy damaged by an exploded barrel will not retaliate against the barrel, because the exploded barrel is already dead." Since he's usually accurate about matters like this, I take him at his word.

Check this out (PrBoom+ demo complevel 2):
barrel_crush.zip

 

Took me a few tries to get the rev in a pain state with just one explosion, but once it inflicted a pain state the rev went "live". Replace rev with any monster you want and test for yourself.

Share this post


Link to post

yeah, a monster will not become angry at anything ('cause inflictor is dead), but it will not be dormant anymore. basically, there is no way (without custom decorate) for a monster to return to dormant state after it (a monster) was activated by any action.

Share this post


Link to post
1 hour ago, ketmar said:

yeah, a monster will not become angry at anything ('cause inflictor is dead), but it will not be dormant anymore. basically, there is no way (without custom decorate) for a monster to return to dormant state after it (a monster) was activated by any action.

 

Except the player's death. I want to say that I saw some monsters go dormant while playing Doom 64 for Doom 2, but that may just have been a fluke.

 

2 hours ago, Nine Inch Heels said:

Check this out (PrBoom+ demo complevel 2):
barrel_crush.zip

 

Took me a few tries to get the rev in a pain state with just one explosion, but once it inflicted a pain state the rev went "live". Replace rev with any monster you want and test for yourself.

 

OK. Cool. Some monsters may be easier to do this to than others, but I see the overall idea.

Share this post


Link to post
4 minutes ago, Pegleg said:

Except the player's death

but not in heretic, for example. ;-)

 

4 minutes ago, Pegleg said:

Doom 64 for Doom 2

if it includes custom decorate/dehacked (and it is, AFAIR), this is possible, of course.

Share this post


Link to post

pedantry, I guess: in vanilla doom lost souls "go to sleep" if they hit a wall after seeing you and charging, if you haven't made a sound. This occasionally has some application, such as 4shockblast's well known E2M8 pacifist run.

Share this post


Link to post
11 hours ago, Nine Inch Heels said:

Check this out (PrBoom+ demo complevel 2):
barrel_crush.zip

 

Took me a few tries to get the rev in a pain state with just one explosion, but once it inflicted a pain state the rev went "live". Replace rev with any monster you want and test for yourself.

 

But if the barrel is dead, and it was destroyed by no one in particular... who's the monster gonna chase?

 

I replaced the rev with an arachnotron and added two more barrels, to make the pain chance more reliable. Then, and this is the important difference, I turned on IDCLIP and left the sector before the barrel got fully crushed. Once it exploded, the arachnotron went into pain state, took a few steps... and stopped. So I entered the sector from behind its back, and would you look at this, no reaction! It only started attacking upon entering its field of view, like any dormant monster would.

 

Here's what I think happened in your demo: a Revenant got hurt by a barrel detonated by no one in particular, so it became aggressive towards the barrel, which wasn't gone just yet. A moment later, the barrel was gone, but by that point the Revenant has turned to face the barrel... and was now staring right at you, with obvious results.

Share this post


Link to post
17 minutes ago, Scypek2 said:

But if the barrel is dead, and it was destroyed by no one in particular... who's the monster gonna chase?

If the monster doesn't enter a pain state, it'll stay inactive until you come along. If it enters a pain state it'll chase you immediately after.

 

EDIT: This may work differently for certain monsters, also consider that normally players don't enter the void.

More EDIT: The issue I see here with teleporting inactive monsters into the map is that, assuming they just get back into "ambush mode" automatically, there's little point in using that "trick" at all, which is unfortunate.

Share this post


Link to post

I see no reason whatsoever why it would work differently for some monsters. They all use the same functions for seeing and chasing, with only a few gimmicks like the archvile looking for nearby corpses, but the core mechanic stays the same.

 

I only entered the void because your map had no other place to hide. Hiding behind a solid wall should have the same effect... a monster hurt can't start chasing the player unprovoked without even seeing them, it wouldn't even know which player to chase. This kind of generalization tends to be a thing in the wolf3d source code, but Doom was designed to support co-op, without one specific individual "player".

 

That said, there's one other mechanic that may cause a monster to wake up more often than expected. If a player "makes a noise" (aka uses any weapon) for enemies to hear, that "noise" will stay in the affected sectors forever (in vanilla at least, I don't know how many ports change that). So if a monster never saw the player, but ends up entering a sector where the player's noise was once heard, it will start chasing the player as soon as it becomes dormant.

 

I can think of a solution for this though, for anyone who still wants a dormant monster teleport ambush in vanilla: surround the teleport destination with a tiny square sector, maybe 2x2 units, and put that square sector inside another square sector. Make all lines of those sectors block sound, and there you go! Unless a player makes noise while standing in this very specific spot, the monster will remain dormant until the player shows up!

 

I guess the monsters could maybe wander out of that very specific sector in the brief period while it's chasing the barrel? I guess it would work best for monsters with low pain chance, but I'm sure this could be made functional with some more gimmicks. Like temporarily sinking the outer square sector deep below the floor to get the monster stuck until it's back up... unless it was a flying monster... well, I'm sure there's a lot more hidden potential in vanilla gimmickery.

Share this post


Link to post

If I'm not mistaken, a barrel exploding store the thing that explodes it, so that any monsters affected by the explosion blames the correct entity, if it's crushed by a ceiling, there's most like a null pointer or possibly some invalid data. A monster with null as its target is dormant.

Share this post


Link to post
32 minutes ago, zokum said:

If I'm not mistaken, a barrel exploding store the thing that explodes it

Not in vanilla.

 

The code that assigns the "target" pointer to the source of damage runs after the code that says to enter the death state if health went negative, so a barrel will only pass on a target if it was damaged but not destroyed previously.

 

For example, if a zombieman shoots a barrel accidentally and deal it damage, but the barrel survives, the barrel will then store the zombieman in its target pointer. Then if an imp throws a fireball that explodes the barrel, the barrel will explode before the pointer is updated to the imp. If the explosion hurts a nearby baron, then the baron will be informed by the barrel's explosion that the zombieman is the culprit. And then the baron will gib the zombieman, and the imp will laugh at its successful prank.

Share this post


Link to post
4 minutes ago, Gez said:

Not in vanilla.

 

The code that assigns the "target" pointer to the source of damage runs after the code that says to enter the death state if health went negative, so a barrel will only pass on a target if it was damaged but not destroyed previously.

 

For example, if a zombieman shoots a barrel accidentally and deal it damage, but the barrel survives, the barrel will then store the zombieman in its target pointer. Then if an imp throws a fireball that explodes the barrel, the barrel will explode before the pointer is updated to the imp. If the explosion hurts a nearby baron, then the baron will be informed by the barrel's explosion that the zombieman is the culprit. And then the baron will gib the zombieman, and the imp will laugh at its successful prank.

Lol. That's interesting.

Share this post


Link to post

Ah, I guess that is probably an oversight in the original code. Most of the monster attacks rarely one-shot a barrel. There were some funny bugs with the barrel code making monsters attack themselves in early versions.

Share this post


Link to post

Apparently, the wolfenstein SS don't infight with each other in Eternity? TIL, I guess. Makes sense, but it's still unexpected, it made me think the Minor Sprite Fixing project (which adds directional sprites for the SS) failed to load. Guess my DMP2018 map is gonna be a bit different for Eternity users...

 

Edit: never mind, they do infight... just not on MAP31 and MAP32. Maybe, I don't know. I don't know anything anymore. I also don't know how to summon a Shotgun Guy in Eternity, but that's irrelevant.

Edited by Scypek2

Share this post


Link to post
2 hours ago, Scypek2 said:

I also don't know how to summon a Shotgun Guy in Eternity, but that's irrelevant.

Punch "summon sergeant" into the console.

 

As for the infighting not working, I can't figure that out. I've been running through the code in the debugger and the line that sets targets such that monsters infight seems to execute just fine. For a test I ran WinMBF and it also has the same issue, so I assume this is some strange killoughism that EE inherits.

 

EDIT: Even when they do infight using -vanilla it looks weird because they lack rotations for attacking sprites.

Edited by Altazimuth

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
×