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

How far did IdTech1 *officially* go in terms of features?

Recommended Posts

52 minutes ago, Daytime Waitress said:

 

Mind-blowing that after this long, something straight up refuses to cough up its secrets. Mind-blowing to a laywaitress, that is - I don't know how you folks who actually know how to code feel about it.

 

technically qualify for "folks who actually know how to code", just not for Doom stuff. I have no clue how one would add local split-screen to a Doom engine, let alone on foreign (relative to PC) hardware.

Share this post


Link to post
56 minutes ago, DannyMan said:

Did the engine support audio formats more than just MIDI officially?

 

Technically the first format was MUS, a MIDI variant. Hexen introduced CD Audio support.

 

7 hours ago, rzh said:

Hexen does have jumping though

 

Correct, Hexen was first to add it.

 

7 hours ago, Herr Dethnout said:

but I think is difficult to implement

 

If by difficult you mean utterly impossible then yes. The original iteration of idtech1 has absolutely no true room over room capability. 

Share this post


Link to post
Just now, Murdoch said:

If by difficult you mean utterly impossible then yes. The original iteration of idtech1 has absolutely no true room over room capability. 

 

Then how do source ports do it? Genuine question.

Share this post


Link to post
6 minutes ago, jmpt16 said:

 

Then how do source ports do it? Genuine question.

IIRC the only one that does is Eternity, and it only simulates it at best, with tons of limitations.

Share this post


Link to post
1 minute ago, rzh said:

IIRC the only one that does is Eternity, and it only simulates it at best, with tons of limitations.

 

What about GZDoom and such?

Share this post


Link to post
6 minutes ago, Murdoch said:

If by difficult you mean utterly impossible then yes. The original iteration of idtech1 has absolutely no true room over room capability. 


I don't think is impossible, IdTech 1 doesn't have 3D features yet you can see some primitive 3D in Hexen (PolyObjects)

 

 

11 minutes ago, jmpt16 said:

Then how do source ports do it? Genuine question.


Well, in the case of GZDoom works like Hexen with polyobjects iirc (tag a sector with the 3d floor and you done) idk if has changed since last time I used it (2016)

Share this post


Link to post
12 minutes ago, rzh said:

IIRC the only one that does is Eternity, and it only simulates it at best, with tons of limitations.


Off the top of my head EDGE was the first (or among the first) but there's also Legacy and G/ZDoom (which has been mentioned) -- and at that I'm not counting stuff like Vavoom which essentially rebuild the levels in their own specific 3D format, I think.

Share this post


Link to post
6 hours ago, jmpt16 said:

 

Then how do source ports do it? Genuine question.

Depends on the implementation. GZDoom adds extra floor/ceiling heights to the sector information and does additional collision checks for each height to make sure you don't cross them. And actors floor height is kept as a separate value to facilitate this. The renderer is then designed to sort floors and ceilings in order of height, and redrawing multiple times to obscure out middle textures that are actually behind. Slow for the software renderer to do, fast for the hardware render, and the physics gets slower the more you stack.

 

Eternity uses portals that transition objects and the camera based on proximity and entrance to the portal. Fast for the software renderer, slow for a hardware renderer (or at least the ones that have been made), and while the physics is more complex to code the performance costs don't increase with level complexity.

It's not impossible in the base engine, just out of scope and a bit nasty to wedge in.

Edited by Edward850

Share this post


Link to post
1 hour ago, DannyMan said:

Did the engine support audio formats more than just MIDI officially?

Later versions added support for MIDI directly, otherwise you had to use MUS. Any MIDI had to fit the limitations imposed by the MUS format, though.

 

As mentioned Hexen also added CD music.

Share this post


Link to post
16 minutes ago, Herr Dethnout said:

I don't think is impossible, IdTech 1 doesn't have 3D features yet you can see some primitive 3D in Hexen (PolyObjects)

 

You have offered no evidence to support your claim. It IS impossible. There is precisely zero ability for true room over room in the engine in it's original form. It does not allow it at a fundamental level. Why would they add such a critical feature, and then not use it in any of the officially released maps?

 

The engine is 3D. It maps things out in a 3D way. Projectiles. Flying monsters. There are limitations and glitches (like not being able to walk over things in Doom and Doom 2, no support for room over room), but it is a 3D engine. Polyobjects and room over room are entirely different animals so bringing that into the discussion makes no sense.

 

32 minutes ago, jmpt16 said:

Then how do source ports do it? Genuine question.

 

In some cases the same way Build does, with what are essentially teleport lines that are silent and keep the player's relative position and momentum so they do not notice they have been teleported. In other cases, like GZDoom, well @Edward850 explained that better than I did.

Share this post


Link to post
6 minutes ago, Murdoch said:

In some cases the same way Build does, with what are essentially teleport lines that are silent and keep the player's relative position and momentum so they do not notice they have been teleported.

What madman combines Doom's BSP rendering scheme with Build's portals?

What were they thinking?!

Share this post


Link to post
9 hours ago, Edward850 said:

Strife did. Heretic and Hexen didn't have jumping but they did have flying.

Hexen had jumping.

Mga4ygh.png

8 hours ago, jmpt16 said:

I was gonna ask how difficult would it be to add room-over-room to IdTech1 directly, without source ports, but at that point does that count as a modification or a source "port" baked into an IWAD?

If you want room-over-room in IdTech1, you have three options.

The first is to allow sectors to overlap. So a given subsector can be in two (or more!) different sectors. That means that the BSP is not enough to know in which sector you are, though. RORDoom pioneered this, but was not followed. This approach is not used anymore.

The second is to have 3D floors, sectors that contain a second (and possibly third, fourth, etc.) sets of floors and ceilings, as well as extra midtextures, that are "projected" from control sectors. This was pioneered by DOSDoom/EDGE, then followed by Doom Legacy and later by ZDoom.

The third is to implement portals. Portals are basically the way the Build engine works: at a line, instead of looking into (and moving into) the line's other side, you see (and move into) another line's side. This way, the overlapping areas are actually not overlapping, as you cross the line you get seamlessly teleported elsewhere. The same principle can be extended to floors and ceilings, too. This was pioneered by Eternity Engine and followed later by ZDoom.

 

20 minutes ago, jmpt16 said:

What were they thinking?!

"That would be neat!"

Share this post


Link to post
12 minutes ago, Murdoch said:

You have offered no evidence to support your claim. It IS impossible. There is precisely zero ability for true room over room in the engine in it's original form. It does not allow it at a fundamental level. Why would they add such a critical feature, and then not use it in any of the officially released maps?


My point with that was to prove that although the base engine (Doom) doesn't support some features, its possible to be added (Hexen). Probably difficult and pretty unnecesary to implement but no impossible.

 

 

42 minutes ago, Murdoch said:

The engine is 3D. It maps things out in a 3D way. Projectiles. Flying monsters. There are limitations and glitches (like not being able to walk over things in Doom and Doom 2, no support for room over room), but it is a 3D engine.


That sounds more like a psudo-3D than a actual 3D.

Share this post


Link to post
7 minutes ago, Herr Dethnout said:

That sounds more like a psudo-3D than a actual 3D.

Pseudo 3D is Wolfenstein 3D where the Z axes is entirely hypothetical and purely an element of the renderer projection. Doom actually has a Z axes it uses for collision detection, and all objects and geometry have height information, nothing pseudo about it.

Share this post


Link to post
8 minutes ago, Edward850 said:

Pseudo 3D is Wolfenstein 3D where the Z axes is entirely hypothetical and purely an element of the renderer projection. Doom actually has a Z axes it uses for collision detection, and all objects and geometry have height information, nothing pseudo about it.


Oh, then forget about what I said(?

Share this post


Link to post
10 hours ago, Edward850 said:

Strife did. Heretic and Hexen didn't have jumping but they did have flying.

In Doom and Heretic, you cannot jumping. Hexen & Strife support jumping.

Share this post


Link to post

I guess there are still features officially added to the engine that weren't mentioned yet, i'll mention the following ones.

 

Multi stage bosses, as Heretic was the first to add it in the form of D'Sparil which has 2 phases each with their own attacks and health.

 

Weapons with alternate fire, Heretic introduced this feature in the form of powered weapons by using the Tome of Power item. Strife introduced a proper alternate fire by means of alternate ammo, such as incendiary grenades for the grenade laucher and poison bolts for the crossbow.

 

Stealth: Strife introduced this feature to a limited degree because only human enemies would remain idle thus you could sneak past them while robots will always attack the player on sight. One aspect of this stealth feature is killing a human enemy with a poison bolt as that's an insta-kill and if you are outside the line of sight of other human enemies, they won't attack the player nor sound the alarm to alert every human enemy of your presence. Another aspect is the alarm, once the player is attacked inside a base an alarm will activate and every human enemy on the level will turn hostile to the player, if the player finds the alarm switch, upon deactivation, all the the human enemies will revert back to their idle state.

 

Damage types were introduced in Heretic in various forms, as a fiery death animation if the player happens to die in lava or by fire based attacks from other players or monsters, life drain from powered Gaunlets of the Necromancer, as this stand in for Doom's Chainsaw could drain the health from enemies and heal the player at the same time, powered Firemace projectiles that could insta kill any monster except bosses which are inmune, and finally some projectiles and melee attacks that can target Ghost Monsters as most other projectiles and melee attacks have no effect on them.

 

Wind and slippery ice sector effects, the former was introduced in Heretic, the latter in Hexen, the former feature affects not only the player but projectiles as well, which will be pushed by this "wind".

Share this post


Link to post
8 hours ago, Herr Dethnout said:

That sounds more like a psudo-3D than a actual 3D.

The only limitation that wasn't removed by the time Heretic came out was room over room. No vertical look and infinite height were deliberate choices.

And even then, it was definitely not impossible to do with the technology at the time. Marathon had room over room, and it launched less than a year later.

Descent not only had room over room and 6 axis of movement, but also polygon models and it came out before Hexen.

It was just a matter of how hard it would be to implement and for how much benefit.

Probably for simplicity's sake and optimization purposes it wasn't implemented initially, then Carmack wanted to work on something more advanced that would become the Quake engine, rather than upgrading Doom's, and then source port authors probably didn't want to bother because it's still a significant effort to add it in since it wasn't supported from day 1 and would require significant rewrites of the code in some places.

Now we're probably in the "we can add it, but how many maps will take advantage of it?" scenario.

Share this post


Link to post

Sorry for double-posting.

2 hours ago, Solmyr said:

Multi stage bosses, as Heretic was the first to add it in the form of D'Sparil which has 2 phases each with their own attacks and health.

To add to this, Heretic also introduced translucency and invincibility frames for enemies (which Hexen would expand upon with the Centaurs and their shields).

2 hours ago, Solmyr said:

Wind and slippery ice sector effects, the former was introduced in Heretic, the latter in Hexen, the former feature affects not only the player but projectiles as well, which will be pushed by this "wind".

A slight correction, ice physics were also introduced in Heretic, it's used extensively in E2.

Share this post


Link to post
2 hours ago, Solmyr said:

Weapons with alternate fire, Heretic introduced this feature in the form of powered weapons by using the Tome of Power item. Strife introduced a proper alternate fire by means of alternate ammo, such as incendiary grenades for the grenade laucher and poison bolts for the crossbow.

I wouldn't call it a "proper alternate fire" -- the way it works in Strife is that you get two separate weapons. You have the electric crossbow and the poison crossbow, they are separate weapons. You get the explosive grenade launcher and the incendiary grenade launcher, they are separate weapons. You get the shotgun mauler and the torpedo mauler, they are separate weapons.

 

2 hours ago, Solmyr said:

Stealth: Strife introduced this feature to a limited degree because only human enemies would remain idle thus you could sneak past them while robots will always attack the player on sight.

In an even more limited aspect, it was introduced in Heretic since the Shadowsphere gives you a slight chance of not being seen by enemies...

Share this post


Link to post
11 hours ago, Jayextee said:


Off the top of my head EDGE was the first (or among the first) but there's also Legacy and G/ZDoom (which has been mentioned) -- and at that I'm not counting stuff like Vavoom which essentially rebuild the levels in their own specific 3D format, I think.

 

It has been said here that Eternity supports ROR and indeed it does, but there was a completely different earlier attempt i felt like mentioning.

 

From the RORDoom author Julian Aubourg.

Share this post


Link to post
5 hours ago, rzh said:

A slight correction, ice physics were also introduced in Heretic, it's used extensively in E2.

You are right, i forgot about levels in Heretic's Episode 2  such as Ice Grotto and the Glacier where it features those ice physics.

 

@Gez You're right about Heretic's Shadowsphere stealth and also forgot about how those Strife weapons are actually two. I guess dubbing that mechanic a "proto alternate" fire would work as a proper term.

 

5 hours ago, rzh said:

To add to this, Heretic also introduced translucency and invincibility frames for enemies (which Hexen would expand upon with the Centaurs and their shields).

Also the Afrit also has invincibility frames, but only when it's in its "balled up" shape when it was placed on the map, unless Hexen counts that as an item that plays animations then seamlessly spawns the Afrit, as this monster never reverts back to this "balled up" shape.

 

Also adding the "monster-in-a-box" rpg feature that Hexen introduced as well, as some monsters, usually Bishops and Afrits could be spawned when the player breaks decorations such as ceramic pottery and suits of armor. 

Share this post


Link to post
2 hours ago, Solmyr said:

Also adding the "monster-in-a-box" rpg feature that Hexen introduced as well, as some monsters, usually Bishops and Afrits could be spawned when the player breaks decorations such as ceramic pottery and suits of armor. 

Wait a minute, were breakable glass and decorations already mentioned? Because Hexen introduced those as well.

Share this post


Link to post
3 hours ago, rzh said:

Wait a minute, were breakable glass and decorations already mentioned? Because Hexen introduced those as well.

Good catch, breakable glass wasn't mentioned before in this thread, and i did mention breakable objects as an implicit part of the "monster-in-a-box" mechanic, but there's more to it, like breakable corpse decorations.

 

Speaking of Hexen features that weren't mentioned before, i believe no one commented on wall traps so far, right? I only remember the fire ball spewing polyobject walls from Winnowing Hall, and the arrows/darts comming from regular walls at various parts of the first hub, and the Castle of Grief map.

 

Do you know if there were other projectile type traps or even floor based ones introduced by Hexen? 

Edited by Solmyr

Share this post


Link to post
1 hour ago, Solmyr said:

Do you know if there were other projectile type traps or even floor based ones introduced by Hexen? 

There are, like the massive spikes that come out of the ground on Hubs 2 and 4, or fire based traps that even fire in a specific pattern.

There are also traps in Vivarium (Hub 5 secret level) that fire random projectiles, including one that turns you or any monsters hit by it into pigs, much like the porkalator.

There's also crushers that act by raising the floor and dropping the ceiling at the same time, highly dynamic level geometry (for example in Hub 1 Guardian of Ice or Hub 2 Shadow Wood there are rooms that alter completely based on certain triggers.

Here are some other things Hexen introduced:

* Death Wyvern (flying on a predefined path)

* Stalkers (possibly the most unique common enemy in all idtech1 games)

* Earthquake effects

* Autosaving at the start of a level (kinda, not an actual save, doesn't save your progress if you quit the game, but if you die you will get sent back to when you first entered the level)

Share this post


Link to post

Yes. The complicated part is the physics because you need to know how to translate the slope angle into a floor height based on position (sectors don't really have a start and end, so you have to sort of infer one in the slope information), but rendering is rather straight forward from my understanding.

Share this post


Link to post
On 9/9/2022 at 5:47 AM, jmpt16 said:

So, basically what I'm saying is someone could combine D64, Heretic/Hexen, and Strife for the ultimate 90's first-person-RPG (or is that just an im-sim?)

For Strife: Veteran Edition we essentially set out to combine Doom 64 rendering aesthetics with Strife, so that much has been done in reality. Also, since Nightdive owns the Strife IP completely for a while now, it's also an "official" version.

Share this post


Link to post
52 minutes ago, Quasar said:

Also, since Nightdive owns the Strife IP completely for a while now, it's also an "official" version.

 

Look at me, being pedantic to a Nightdive dev and a moderator!

 

On 9/9/2022 at 1:50 PM, jmpt16 said:

Ah - that's cheating! I'm putting re-releases on the same level as source ports, for what are those re-releases if not custom made source ports?

 

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
×