About the Archvile and Ghost Monsters

1) Does it ever happen that an Archville can resurrect one of his kind? I have fond memories that this happened at the older times when I used to play the classic Doom, which made it a bit harder to beat several archvilles in the same room, but I don't see that when I play in the same situations in Zdoom. Does Zdoom disable this special occasion of Archville resurecting another dead Archville? Do I recall well that in the original Doom engine I once played in DOS, this was possible or am I mistaken?

2) Which was that bug where ghost monsters could be generated which passed through each wall and couldn't be killed? I think the Archie had something to do with this but how exactly/in which occasions did this happen? Are there any particular WADs I can run which use this bug as a feature, so that I can look at it again? Will ZDOOM block this?

3) I was staring with awe at a wild speedrun in the map Monster Condo, where the Archville could actually open a door for you which normally would require a skull key. WTF? Are there more weird things I should know about the archville? Any doc/page referring to these occurences?

Share this post


Link to post

1. No, can't happen

2. Archvile ressurecting a squished monster = ghost. Ghosts can only be hurt by splash damage.

3.The other side of the door probably isn't locked, which would allow opening without a key, and monsters could always open doors. I'm not sure how it works with locked doors.

Share this post


Link to post

1) You are mistaken.

2) A crushed (by a door or a crusher) monster corpse becomes a 'ghost' when resurrected. Most memorable maps include Requiem map23 and Hell Revealed map26. Doesn't happen in ZDoom.

3) AFAIK, no and no. Not sure about that though. And that trick is why I like map27 in SkullTag coop so much ;).

Edit: @Combustable: It opens it from the locked side and that's the trick.

Share this post


Link to post

All of the below refers to Doom2.exe or ports with good compatibility (e.g. Chocolate-Doom, Eternity with its default options or Prboom 2.2.x/Prboom-plus with -complevel 1):

1. No, an archvile can never resurrect a cyberdemon, spidermastermind, archvile or a lost soul. I presume it can't resurrect a commander keen or (theoretically) a boss brain either.

2. Ghosts can occur on many maps unintentionally, but here is a list of ones I can think of where it is deliberately used:
gather2 map05
wtrfront
archie
seej
icarus map24
6pack map02 [in 6pack2.zip on the archive]
squadron map21
eternal map25
requiem map23
hell2pay map14
hr map26
av map19 (not 100% sure about this one)

For a summary of how ghosts can be damaged, I can refer you to this. And in general http://www.classicdoom.com/ghostfaq.htm is a good source of information on the avbug/ghosts, though it doesn't discuss pwads.

And yes, Zdoom will never allow ghosts to be created by an archvile. [This has since been comp optioned.]

3. Yes, archviles can open "locked" doors under certain circumstances. If only the front of the door needs a key, but it can be opened from the back without a key, an archvile can indeed open it from the "wrong" side. This is used in the standard speed and nightmare routes on Doom2 map27. I also used it in my ksutra map23 pacifist in the ksutra demopack. According to Kristian's post here, demons, spectres, revenants, and cyberdemons can also do this.

Share this post


Link to post
Grazza said:

1. No, an archvile can never resurrect a cyberdemon, spidermastermind, archvile or a lost soul. I presume it can't resurrect a commander keen or (theoretically) a boss brain either.


Essentially, any monster without respawn frames defined.

I as you said:

Archvile
Lost Soul
Spiderdemon
Cyberdemon
Commander Keen
Big Brain

Covers it.

Share this post


Link to post

1: I can see a reason why you don't mention pain elementals. But it fits into the any monster without respawn frames category, too.

Ok, I just read that Grazza wants to be a ghost pain elemental. So the above list is only valid for zdoom or non buggy monsters or monsters without respawn frames defined.

Share this post


Link to post

I didn't mention pain elementals because they do have respawn frames. I find those frames quite useful when using dehacked because they are frames that never get used in game so you can take them away from the elemental and use them for something else.

However, when I say "never get used in game" apparently that's not true. I have been told that it is possible for an Arch-vile to revive an pain elemental if the Archvile just happens to be walking past a PE as its death pointer gets used but before its body disappears. I've never seen it myself though. And of course, there is the ghost thing too.

Share this post


Link to post

I thought the only way an Archvile could bring back a PE is if it got crushed under a door and left one of those little juicy things and then it revied that.

Share this post


Link to post

Yeah, crushing is necessary, but not all types of crushing always leave a corpse.

This zip includes a map with a slow steady-speed crusher than produces a PE corpse (with an archvile handy to resurrect it) quite reliably, and a demo (cgas-gpe.lmp) which shows that happening.

Ledmeister also made two demos in Doom2 map25, showing:
A ghost PE being created
A ghost PE being hurt using the plasma rifle
There is no crusher there, but the PE is caught in a closing lift at the point when it dies, which has the same effect on something dead. That's similar to a way I have used to turn myself into a ghost zombie in a few weird demos.

Share this post


Link to post

1) Archvile can only ressurect other mosnters that has a ressutect fream sequence. When you use DEH, you will see what i'm talking about. Monsters that explode all dont have ressurection frames in general.

2) I've never seen ghost mosnters until I've screwed up a DEH file and ended with a monstr that came back to life and could not be killed (linked death frames to ressurrect frames). I never knew that squished mosnters turns into ghosts, myself. The old Zdoom made all ressurected monster transparent though.

3) That's probably just one of the bugs that id sofware made when making the doom 2 levels. Doom 2 levels were full of small bugs and anyone could find them if you look carefully. Missing upper and lower textures are everywhere. I think the Id map makers just forgot to set the door to have the right line def action.

Share this post


Link to post

It seems to me that a Ghost monster is essentially a monster with its radius and height set to -1 or 0. This can be reproduced easily through DECORATE or DeHackEd and it also seems to explain why corpses hanging over cliffs by their vertical axis would fall to the ground when squished, as well as all the behaviour of Ghost monsters.

Is this true? If so, there must be a piece of code in DOOM's engine which sets a monster's radius and height to -1 or 0 when it is squished.

Share this post


Link to post
Terra-jin said:

Is this true? If so, there must be a piece of code in DOOM's engine which sets a monster's radius and height to -1 or 0 when it is squished.


Logically. You find this in the function PIT_ChangeSector in p_map.c:

    // crunch bodies to giblets
    if (thing->health <= 0)
    {
	P_SetMobjState (thing, S_GIBS);

	thing->flags &= ~MF_SOLID;
	thing->height = 0;
	thing->radius = 0;

	// keep checking
	return true;		
    }
However, if you are using ZDoom you won't find this code. ZDoom removes the monster and replaces it with a separate gib object. Since this cannot be resurrected there are no ghosts to find unless you explicitly create them.

Share this post


Link to post

Still the small/null ratio doesn't explain why it has the nocliping flag on.

Share this post


Link to post

Well, they're only semi-noclipping. They can walk through walls because of their radius of zero and they can walk under closed doors and crushers because their height is equal to 0. They can't, however, move up and down cliffs or high ledges like noclipping things can.

When a Ghost monster moves against a ledge it will stick out half-way, because the monster's middle axis is blocked by the difference in height.

Share this post


Link to post

The easiest way to investigate what ghosts can do is to turn yourself into one, as in my ghost zombie demos. The method is simple: one way or another turn yourself into a zombie*, exit the map, and on the next map (where you'll then be an invulnerable permaghost) get yourself squished.

It's surprising how many things can block ghost movement. It seems that as a ghost player you can not jump as far either.
* Several ways to do this. There's the standard method involving voodoo dolls. Or you can set the player's initial health to zero using dehacked (you can then just get yourself squished directly - no need to go to the next map, as you'll already be a permaghost). Or (funniest?) you can set MAXHEALTH = 0 with dehacked and then pick up a health potion. ;)

Share this post


Link to post

A few questions here:

1) What are "respawn frames"? I thought when an archvile respawned an enemy, you just see his death animation, but in reverse. So technically, shouldn't any enemy (minus the lost souls and pain elementals since they disappear) be respawnable, since they all have death animations? I'd like some clarity on this issue.

2) What are "PE corpses"?

3) One time, somehow, many years ago, I had zero health and no weapon but was still walking around. Had I turned into a ghost?

Share this post


Link to post

1) The respawn state, as can be seen in DeHackEd, is seperate from the death state. It is required for a monster to be resurrected.

2) A PE corpse in this case refers to the crushed corpse of a Pain Elemental, which can occur if the dying PE is squished before its corpse vanishes in the explosion.

3) That would be the zombie Grazza mentioned above.

Share this post


Link to post
Grazza said:

It seems that as a ghost player you can not jump as far either.


What port? I don't remember this.

Share this post


Link to post

Well, it should be in any port or version of DOOM since, as a ghost with a radius of zero, you would fall off the ledge as soon as your vertical axis is over the edge. As a normal player you would hang on 16 units further by your radius, hence you can jump 16 units futher.

Share this post


Link to post

Doom2.exe and Prboom-plus -complevel 1. Probably others that don't change this stuff, but I haven't tested too much.

Note that I'm talking specifically about a ghost zombie player here. As far as I know, regular zombie players can jump just as far as normal players.

Try Doom2 map04. Turn yourself into a ghost (using dehacked and then flattening yourself under the first door). Then attempt the jumps between the walkways around the yellow key (the standard ones near the exit in speedruns - they're normally quite easy with strafe-50 if you line them up right). For that reason I think that in order to exit this map starting as a zombie, you need to go all the way through the void and round to the other side of the map.

Share this post


Link to post

Were the "ghosts" effects actually intended by the id developers or was it just a consequence of their programming, kinda like a bug that ended up being useful?

Share this post


Link to post

I don't recall any official confirmation either way (though there may well have been), but nor do I recall any suggestion at the time that it was a deliberate feature.

a-vbug.txt in wtrfront.zip seems to suggest that it was brought to id's attention during the period when they were still making new releases, but they did not fix it. (Why would he have been pissed off with them unless he was sure they knew about it?)

Edit: I looked up when this was first mentioned in USENET, and found one as early as 8 Nov 1994, and it looks like the idea wasn't new either (there was probably discussion at the CompuServe Action Games Forum - kind of the DW of the day). So id surely knew about it not long after Doom2 was released.

Share this post


Link to post

You can, I believe, turb yourself into a Ghost using GZDoom and doing the "Resurrect" console command.

Share this post


Link to post

An "allow ghosts" compatibility flag would be nice for zdoom.

For those maps that makes ghosts on purpose.

Share this post


Link to post
This topic is now closed to further replies.