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

IDEAS WANTED: technical aspects of the Doom engine

Recommended Posts

Grazza said:

No. You can still jump to the exit, from one of the lowered Manc platforms. Can't remember if it needs S40 or S50.

Well, I didn't thought of that. It was back then when Doom2 1.666 just came out, and I didn't know about straferunning at that time.

Btw. Could it be possible that straferunning isn't equally fast in all ports? Also wallrunning seems to be different. I noticed in an older version of Edge that it seems to work with any wall angle there. I didn't checked this with the latest version, though.

There might be some pwad maps that are more seriously affected by it though.

Since it is raise by texture, afaIk, selecting one, which is big enough, there should be not enough time to trigger it a second time, after it has finished moving. As it also doesn't if the arachnotrons die close enough in time, so the sector is triggered the second time while still moving and has therefor no effect, if I understand this right. Hence the shorter the texture the bigger the chance of raise it twice, or maybe even thrice.

And about projectiles passing solid walls: Could this also happen with the player when running with "-turbo"? Or does it use a different clipping code?

Share this post


Link to post
The Ultimate DooMer said:

Here's one: Why does it say you need DeuSF to put new flats into a wad, when actually that's not the case?

I believe it's because until version 1.9, Doom couldn't handle external flats, so DeuSF was needed for 1.666 and earlier.

Share this post


Link to post
LogicDeLuxe said:

Could it be possible that straferunning isn't equally fast in all ports? Also wallrunning seems to be different. I noticed in an older version of Edge that it seems to work with any wall angle there.

There are at least some differences in some cases. In MBF you can apparently get a wallrun in some places where you can't in the original exes. I don't how how big a difference it is, but it enabled Cam to shave off two gametics in his built lv01-004 demo (which was enough to get it under 5 seconds).

Other ports may well feature bigger differences in wallrunning. Still, I think this thread is mainly about the quirks in the original game, rather than port oddities.

AFAIK, no ports have changed the basic idea of straferunning though (i.e. that the two vectors are simply added).

Share this post


Link to post
Grazza said:

No. You can still jump to the exit, from one of the lowered Manc platforms.

Yeah if the step rises twice you can still walk straight onto the corner of the exit platform from the northeast or northwest Manc platform.
On the rare occasion that it rises 3 times (no respawn), then it's a bigger problem. ;-)

Regarding ghost PEs, I think the crusher has to be of a certain type (slow, steady movement) for the PE to leave a resurrectable corpse.

The PE has to explode at the right moment; fast crushers can do it, but it can be way harder to get the timing right.

Share this post


Link to post

This part in the Doomspecs 1.666 describing the sector types seems rather interesting:

All other values cause an error and exit to DOS. This includes these
two values which were developed and are quoted by id as being available,
but are not actually implemented in DOOM.EXE (as of version 1.666):

6 06 - crushing ceiling
15 0f - ammo creator

What's the matter with them? Are there any references in the actual code?

Share this post


Link to post
about map07 spider sector Grazza said:

And it rises twice because when the last arachronotron's death sequence ends, it checks again, finds no arachnotrons alive for a second time, and thus raises the platform again. With -respawn, you can get it to rise many times, and you see a lovely tutti frutti effect.

I had a stab at explaining this here, but in general terms, and without reference to the source code.


On sunday we got it raise 3 times while playing doom2 coop max with xit-vono. That means 3 spiders died at the same time, which is not common in UV.
Raising that ledge twice is rather common, but 3 :)

about the thread :
what does make the monsters and a you go "noclip" in some maps... it's a very rare occurence. I got it sometimes while playing E1M3 in skill 5.

Share this post


Link to post
VinceDSS said:

what does make the monsters and a you go "noclip" in some maps... it's a very rare occurence. I got it sometimes while playing E1M3 in skill 5.


E1M3 skill 5 eh? The only time this happened to me while recording was this same level, this same skill. Demo

Share this post


Link to post

Why do infighting Lost Souls suddenly break off and attack you instead?

Share this post


Link to post
LogicDeLuxe said:

Could dehacked even be used to make Archviles resurrect Archviles?


yeah, just copy/paste the archvile to another item, and magically
that new archvile will be resurrectable... and wonders of wonders will be attacked by other monsters.

Share this post


Link to post
Grimm said:

Why do infighting Lost Souls suddenly break off and attack you instead?


to my knowledge only the lost soul acts like that...
- when it gets armed by something it attacks/rushes it once
- if its not armed again it just focuses on the player and forgets the former foe, alive or not.



about map07 ledge bug:
This bug happens very often while playing in nightmare movies, I got it sooo many times. But you can get past it.
3 times is much rarer, and occurs mostly when you dont pay attention to the raising ledge... and of course you get stuck in the map. And no archvile around to give you a little lift :)

Share this post


Link to post
Donce said:

E1M3 skill 5 eh? The only time this happened to me while recording was this same level, this same skill. Demo

Interesting demo!
It runs with the regular v1.9 and with The Ultimate Doom EXE, but the Final Doom EXE seg faults right after the last shot hit the imp. (Stays in graphics mode, so you might use "doom.exe -playdemo n1m3bug >txt" to check out the seg fault details.)
I wonder why the other EXE's didn't shut down due to the seg fault, which probably happens there as well messing up either all the thing data or the blockmap, I guess.
CGDoom19 also seg faults (in text mode), Boom isn't affected at all, and probably any boom compatible port as well. TeamTNT should know, what they have fixed there. I'm surprised Doom95 isn't affected to this bug either. Could there really be a bit of code they fixed at M$? Maybe it's just compiler dependend, and if you're lucky this situation seg faults to nowhere letting the engine and current state intact?

I wonder, what exactly causes this. Is it possible to design a level where this happens intentional? Or can this happen on every Doom map and skill level?

Share this post


Link to post
LogicDeLuxe said:

That's easy. You are allowed to use cheat codes with skill 4, with skill 5 you don't.

Er, no, it's not as trivial as that. Some people who have played a lot of NM have claimed that the monster behaviour is substantially different on NM than UV -fast -respawn.

Regarding the no-clip bug, I'll quote some text from the link I gave earlier:

Opulent said:
2) This is a c and p of cph's response:
"Subject: Re: manormis.lmp (YADB)
Date: Sun, 01 Jul 2001 13:16:19 GMT
From: cphipps@doomworld.com (Colin Phipps)
Newsgroups: rec.games.computer.doom.editing

In article <20010630215620.10186.00003553@ng-md1.aol.com>, Led wrote:
> Anyone feel like trying to nail down the All Ghosts bug (all monsters and
> players suddenly become ghosts)?
> Opulent and some others here should know where to find the Doom 1 example of a
> player encountering the bug during a Nightmare game on map E1M3.
> Some Doom 2 Master Levels examples of the bug are here:
> http://m1.aol.com/ledmeister/manorbug.lmp
> (for Manor.wad, most illustrative demo of that bug on my site)

Looks like it's causes by an intercepts overflow; on that demo it SEGV's in
linuxxdoom-1.10:

Program received signal SIGSEGV, Segmentation fault.
0x80645df in PIT_AddThingIntercepts (thing=0x40323720) at p_maputl.c:671
671 intercept_p->d.thing = thing;

(interestingly, it's actually the sergeant shooting at the player when this
occurs on manorbug.lmp)

extern intercept_t intercepts[MAXINTERCEPTS];
extern intercept_t* intercept_p;

As soon as Doom exceeds MAXINTERCEPTS, intercept_p gets overwritten and it
starts trashing memory. Fixed in Boom (without demo compatibility, but it's
kinda hard to be demo compatible with that kind of lunacy :).

--
Colin Phipps <cphipps@doomworld.com> http://www.cph.demon.co.uk/"

Share this post


Link to post
Grazza said:

Er, no, it's not as trivial as that. Some people who have played a lot of NM have claimed that the monster behaviour is substantially different on NM than UV -fast -respawn.

You're right. I tried this with a demo recorded on nightmare, and changed the header to skill 4, respawn, fast and it desyncs immediately. Another test I did with a demo revealed that respawn and fast settings don't affect nightmare, as they're always on in that skill. So in fact, there must be something more affecting the monster's behavior than that.

Share this post


Link to post

I found one piece of code which is specific to the nightmare skill:

    if (gameskill != sk_nightmare)
	mobj->reactiontime = info->reactiontime;
(This is in the function P_SpawnMobj)

This is certainly demo critical but in a running game you will most likely not notice the difference. Aside from that there are only very few places where nightmare is checked but in all of them the fast paramteter is also checked.

Share this post


Link to post

I think that the reaction time in Nightmare is faster than in just -fast.

Might be an optical illusion but I played enough nightmare and -fast to notice a difference.

Share this post


Link to post

Why do monsters that are hit by other monsters not always start infighting? I've parked myself in behind a cacodemon that got nailed by a baron of hell repeatedly and it still attacked me, until it died by the hands of said baron.

Share this post


Link to post
Job said:

Why do monsters that are hit by other monsters not always start infighting? I've parked myself in behind a cacodemon that got nailed by a baron of hell repeatedly and it still attacked me, until it died by the hands of said baron.

By my experience, it has to do with the monster screaming in pain or not. If it doesn't scream, it won't target the monster that hit it. I might be wrong about this though. In particular, demons and spectres seem to take into account how close the two targets are to it. So yeah, some clarification would be nice here.

Share this post


Link to post

It might also be related to the amount of damage you do to a monster.

I noticed that while playing map08 in tyson.
There is an easy tactic to get rid of barons with just a chainsaw :
- I get a baron hit by a caco
- Wait until it's confirmed that the baron is on the caco
- then chainsaw the baron to death, paying attention that I always keep the caco on the other side of the baron (so that I dont get sandwiched between a baron and a caco:)

The baron never try to hit me unless the caco dies or stays out of the baron's sight for a while.

The caco ball does much more damage than a single hit of chainsaw. Even though the chainsaw does more damage per second than a cacoball, each single chainsaw hit is very little damage.
So I think the baron turns to the foe that did the most damage in a single hit.

Share this post


Link to post

Attacking Lost Souls intercepted by a thing that may be picked up by the player, such a clip on the floor, will stop.

There were a couple of oddity threads some time back back that may contain more info.

Share this post


Link to post

I didn't read all of these posts (so many) but I always thought that when the former humans, seargents and chaingunner's made the high pitched scream when dying it was because their health had gone "negative" below a certain value and that was why it is harder to get the chaingunners to "splinter" or turn into mush than the former humans (who you can do that with a plasma gun)

Also, is the negative health value that causes high scream and melt direclty proportionate to how many hitpoints the baddy starts out with? For example, former human has 20 hitpoints and chaingunner has 70. Do both melt at... say, -20 hitpoints or is it proportionate to their original amount of hitpoints? Chaingunner only melts at -70 and former human melts at -20? It's seems to me this would be true, because when you shoot a former human that has had its hitpoints dehacked to 5 hit points with a pistol, he almost always will melt.

Share this post


Link to post
Draconio said:

Why is there the business of monsters and other objects being of infinite height, even though projectiles can pass over something without striking it?


Are you talking about the fact that you can't walk over monsters in classic exe? ie, you're standing on the edge of a ledge/cliff, and there are demons far below - but you can't step out because the engine won't allow you to walk over monsters.

Share this post


Link to post
VinceDSS said:

The caco ball does much more damage than a single hit of chainsaw. Even though the chainsaw does more damage per second than a cacoball, each single chainsaw hit is very little damage. So I think the baron turns to the foe that did the most damage in a single hit.

An interesting and useful snippet. So presumably in the same situation, the berserk might be inferior to the chainsaw, since the baron would then attack the player instead of the caco.

Hellbent: There has been a fair amount of discussion in other threads about gibbing. I don't recall many details, but it is related to the starting health, and depends on the damage done by the actual projectile/shot/trace that kills them. That's the reason why the SSG can never gib anything on its own (assuming no dehacked work), despite the large amount of damage it inflicts in total.

Share this post


Link to post

Hellbent said:
I always thought that when the former humans, seargents and chaingunner's made the high pitched scream when dying it was because their health had gone "negative" below a certain value and that was why it is harder to get the chaingunners to "splinter" or turn into mush than the former humans (who you can do that with a plasma gun)

I don't think former humans' screams are determined that way; they are seemingly random. On the other hand, the Player's high pitched scream does depend on the damage inflicted (kind of like when the Player, an Imp, or a former human is turned to slop.)

Share this post


Link to post

A riddle...

The Doom chaingun is to a the Queen chess piece as the Doom chainsaw is to a King chess piece. Anyone know why?

Share this post


Link to post
myk said:

I don't think former humans' screams are determined that way; they are seemingly random. On the other hand, the Player's high pitched scream does depend on the damage inflicted (kind of like when the Player, an Imp, or a former human is turned to slop.)

Any reason for you thinking that the former humans etc. screams are random and not determined by "negative hitpoint reached"? My dad said the same thing - always wanted to believe it wasn't random... Goddamn it! It's not random I tell you!

Share this post


Link to post

Grazza said about SSG:
Hellbent: There has been a fair amount of discussion in other threads about gibbing. I don't recall many details, but it is related to the starting health, and depends on the damage done by the actual projectile/shot/trace that kills them. That's the reason why the SSG can never gib anything on its own (assuming no dehacked work), despite the large amount of damage it inflicts in total.


yup, SSG is divided is several pistol pellets shot at the same time. And so far I never never a pellet (SG, SSG, pistol or chaingun) gib a monster. It would have been more "real" if the SSG had the capacity of gibbing small monsters, esp. when you see what a real double barreled shotgun can do to a mere human. (see it in rotten.com)

Share this post


Link to post
Hellbent said:

A riddle...

The Doom chaingun is to a the Queen chess piece as the Doom chainsaw is to a King chess piece. Anyone know why?

hmm... because that is their orientation on Map30?
because the chaingun can hurt anyone, but the chainsaw can only hurt the monster right next to you?
because the chaingun is for fags and the chainsaw is for kings? (heh; okay, I'm out of ideas)

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
×