beautiful talk by carmack https://www.youtube.com/watch?v=Q1q49GxsPWM&t=4s&ab_channel=...
beautiful talk by carmack https://www.youtube.com/watch?v=Q1q49GxsPWM&t=4s&ab_channel=...
I don't think I saw a game before Doom3 that was quite like that.
The other cheap trick was to make half of all maps so dark you need a flashlight, but make it so that you couldn't use a weapon while the flashlight was out. IIRC the very first Doom 3 mod was the one that fixed that, and it was called simply "duct tape".
Another gem of a game I think a lot of people overlooked that has some similarities is Natural Selection 2. This is a sort of aliens vs space marines FPS and RTS hybrid. It never really blew up but still has a community.
Don't get me wrong, it's a technical masterpiece, but one of execution rather than innovation.
It's main feature was dynamic lighting and shadows, which it accomplished with dynamic lights, normal maps and stencil shadows.
Dynamic lights and normal maps were nothing new even back then, I remember multiple titles using them, but not this well and not to this extent.
Stencil shadows were kind of unique, they worked by extruding the geometry from the light's perspective, and figuring out what was inside the light's shadow by counting front and back faces.
Unfortunately, since they used geometry, they looked really blocky and sharp, with no smooth edges unlike shadow mapping.
Imo they looked kind of bad, a step down from the beautiful pre-rendered lightmap shadows we enjoyed years before.
From memory, what Carmack was advocating for in this period was like an updated version of SGIs hardware, fixed function and able to chew through a staggering number of simple triangles per second. Complex renderings would be built up by compositing lots of passes. Stencil shadows reflected that tradeoff. But shadowmaps with an increasing number of tweaks proved much more practical, and design wise no penumbra is indeed a tough one to swallow. And then GeForce came along and pretty much ended any debate on commplex shaders vs lots of simple triangles.
Using stencil shadows today, or their shader described equivalent, might be an interesting aesthetic choice for a horror game though.
This is in sharp contrast to Half Life 2 released at a similar time, which had far more enemies and NPCs on screen at one time as well as much much larger maps to explore. I think in some ways Half Life 2s visuals have honestly dated better despite the less ambitious technology - the larger and more varied maps its lesser performance requirements permitted help a lot.
It looks nice, when you can see what's happening, otherwise it's a collection of good ideas and tech executed badly.
https://fabiensanglard.net/doom3/renderer.php at the technicql level there were some cool advances and the game in its production definitly felt like a leap forward that only a few game matched after (i could say mgs 4-5 and death stranding are close ones, final fantasy 15 while very weak story wise had others, but definitly no fps did what doom3 did)
Doom 3 as a game sure looked cool, though. The flashlight blew my mind back in the day.
Also I wouldn't put light reflection in the list of idtech 4's achievements if we're talking more than one bounce, it literally does not do that. idtech 2 did, precalculated of course.
Yeah, I always was perplexed by that tendency in Doom3… I mean, I get that lighting calculations aren’t tracing the effects of light past the first surface it hits, but does it have to be black when there’s no lights hitting a surface? Couldn’t they have done a cheap approximation of “ambient light” based on how many lights there are nearby, and use that light level as a minimum for totally occluded surfaces?
I remember reading that the choice to use black was literally a performance optimization because the renderer got to fully skip drawing surfaces that were fully occluded and it saved some render time. Then I also read that it was a design choice to give it a more panicked environment because you couldn’t see what’s in the shadows… but it always looked clunky to me, seeing fully black areas when there’s clearly a lot of reflective scattering surfaces around.
Not entirely accurate. Narbacular Drop, the first prototype for Portal (that caught Valve's attention and they hired the devs to recreate the tech in Source engine) was released a year before Prey, in 2005.
Descent was based on a portal and cell renderer that used a unit cube with limited orientations as the cell. This let them simplify and pre tabulate some of the rendering math.
The PVS precalculation done for quake levels is effectively a portal renderer.
Unreal's software renderer needed portal rendering to limit overdraw, so the engine was based around it.
Descent can't do that.
There's nothing particularly novel about Portal (the game) style portals in rendering. Racing simulators did the exact same thing for rear view mirrors for decades prior. It's just another transform in the scene graph clipped to a subscreen area.
Narbacular Drop is like, literally the first 3D game ever released that allowed dynamic creation of portals at runtime.
Dynamic portals are literally the topic of this specific thread of comments. Here's the bit I originally replied to:
> [Prey] had portals before Portal.
Then you showed up conflating dynamic portals with compile-time map rendering, and now you're saying that dynamic portals, the very subject of this discussion, aren't worth talking about, because static portals, the preceding tech, existed earlier, even though dynamic portals clearly introduce fundamental design space as popularized by the critically-acclaimed game Portal.
The word "render" appears in your reply to my first comment six times, which is a lot in a discussion that is not at all about rendering.
Please correct any misunderstanding here on my part.
I did not. Reread.
"Dynamic Portals" as you term them are nothing more than the combination of a transformation matrix and a screen space clipping region in the context of a recursive approximate depth first renderer, a combination that was utilized by MANY MANY games before the one you're apparently cheerleadering. And this is exactly what I'm talking about, but you're failing to catch the specifics of what I'm actually saying out of apparent defensiveness over this one game.
You are still stuck repeating "renderer", even though rendering is still not the topic of discussion here.
No amount of recursive matrix transformations will net you the gameplay design space of actual dynamic portals.
It was a significant leap, but it was the right time for it. In less than a year you saw other games doing the same thing or better - they had clearly been working on it as well. Doom 3 was just the first to come out, and Carmack did a lot to spread knowledge about it immediately (as he frequently does, which is wonderful).
As to views on the end product as a whole: opinions differ, ridicule seems unwarranted.
That same year Quake 4 launched using the same engine on Xbox 360.