*waves meekly* Hi everyone. Familiar faces shrinking but the most fashionable are still with it I see
So... I'm suprised I haven't seen it brought up (at least, I can't find any reference with the search feature, so forgive me if it's a dead horse)...
Has SS or anyone else seriously looked into the capabilities of the Doom 3 engine with megatexture? I know people have seen Enemy Territories: Quake Wars, which is really starting to show off what the engine is capable of. I'm leading a total conversion for Doom 3 right now actually, and it has turned out to be much more powerful in many ways than we imagined, even after selecting it as a platform.
The first impression/hurdle is that the engine cannot do large, well-lit outdoor areas, which is complete bollocks. I've got a four-square mile terrain model in there right now with 2048x2048 textures, three-point parallel lights for lighting, distance fog, etc etc., and it doesn't even break a sweat. Development of terrain sucks in vanilla Doom 3, but Carmack's megatexture looks orders of magnetude better than what I can do now, and simply blows every other terrain solution I've seen out of the water.
Second is the polygon count issue. The shipping game had such low detail models, people seemed to think it couldn't do any better, but people forget that it was designed to be playable on very old video cards. This engine scales amazingly well; people have hacked it to run on Voodoo cards (no joke), and eats polygons for breakfast on current cards.
The big question is WHY, since so much has been invested into the Unreal engines. Just a couple reasons in my mind:
1. Uniform lighting. This has started to eat at me with just about every other engine out there, including UT2007 from what I can tell. Most engines use hybrid lighting/shadowing methods, treating characters/actors seperately from the environment itself. You end up with what looks like seperately rendered characters projected onto a moving background, maybe with a cheesy shadow overlayed onto the ground. It makes it impossible to blend in with the environment in anyway, and just "feels".. jarringly fake.
In Doom 3/Quake wars, all geometry is treated the same way at render time. Every surface is lit uniformly, cast shadows on themselves and each other uniformly, etc etc. Visually the world is much more consistent and IMO feels like it is made of the same "stuff." Functionally speaking, it means you can actually obscure your profile, hide in shadows as expected, etc. All the lighting is also fully dynamic, which means full night/day cycles. Flashlights and any other light source behave exactly as expected, and there's no variable limit on how many shadows are cast. It's hard to appreciate without experiencing the differences in a relevant type of game.
2. Highly Dynamic Since there is no lightmapping or anything significant to really compile (depending on your design; we're not using BSP at all except for a bounding hull), the environments can completely change on the fly. You can spawn in entire buildings at runtime if you wanted to. In our project, we're constructing things with a 3d "tileset" which can be used to basically randomly generate entire towns. Infiltration started to do some of this a little but it was so limited, and you could always tell the dynamic elements apart from the static since they are rendered differently.. but not so with Doom 3.
You run into some problems with bot pathing, but they do a pretty darn remarkable job of navigating a changing environment, and the SDK is open enough to create workarounds for the AI (which we are working on, since we're basicaly not using BSP).
3. LOD There are advantages and disadvantages to this, but there is no max view distance or LOD in Doom3, or ET:QW from the looks of it. You can see as far as your LOS allows, and what you see is what's there. No deforming/shifting models over distance, clipping terrain or buildings, etc etc.
4. Hit detection Hit detection for projectiles is all per-poly. You can actually shoot between peoples legs again! It's amazing! Bullets go where you are aiming, and impact predictably. What a novel idea. And you can easily do location based damage.
5. Animation We're still exploring the full potential of it, but they do a few nifty things with character animation. Characters can have multiple animation channels for blending upper/lower body movements, and you can directly take control of individual bones (someone did a little tech demo controlling the Doom marine's facial bones through a GUI... showing off the power of both GUI/SCripting system and animations). They also do a little fun trick to automatically adjust the legs/body position to fit the surface being stood upon. Little things like that along with the lighting really help make if feel like the characters are actually IN the environment.
6. Editing. Radiant leaves a lot to be desired, but we're doing most of our work in external applications anyway, and in this respect the editing environment is really nifty. The file system is very open. You don't have to muck around with packages and stuff, at most the game uses PK4s for archives, which you can open in winRar and alter the compressed files.
The coolest thing is that you can have your models open in 3Ds Max or Maya, and your textures open in Photoshop, and reload them in the editor or game completely on the fly at runtime. You can run the game in windowed mode and tweak your textures and meshes, and see them update in real-time. THAT is something that will be hard to give up in the future.
7. Open Source Although he will be doing DirectX in the future, Carmack has always embraced open source platforms and despite mediocre mod support as far as documentation goes, he has released previous engines under GPL and sounds like he will do so with Doom 3 as well. This is possible because the graphics, sound, physics, etc code is all proprietary. The physics may be somewhat lacking compared to Havoc, but it can do much of the same, and is extendable through the SDK. I just think that's nifty.
Just a few thoughts.
So... I'm suprised I haven't seen it brought up (at least, I can't find any reference with the search feature, so forgive me if it's a dead horse)...
Has SS or anyone else seriously looked into the capabilities of the Doom 3 engine with megatexture? I know people have seen Enemy Territories: Quake Wars, which is really starting to show off what the engine is capable of. I'm leading a total conversion for Doom 3 right now actually, and it has turned out to be much more powerful in many ways than we imagined, even after selecting it as a platform.
The first impression/hurdle is that the engine cannot do large, well-lit outdoor areas, which is complete bollocks. I've got a four-square mile terrain model in there right now with 2048x2048 textures, three-point parallel lights for lighting, distance fog, etc etc., and it doesn't even break a sweat. Development of terrain sucks in vanilla Doom 3, but Carmack's megatexture looks orders of magnetude better than what I can do now, and simply blows every other terrain solution I've seen out of the water.
Second is the polygon count issue. The shipping game had such low detail models, people seemed to think it couldn't do any better, but people forget that it was designed to be playable on very old video cards. This engine scales amazingly well; people have hacked it to run on Voodoo cards (no joke), and eats polygons for breakfast on current cards.
The big question is WHY, since so much has been invested into the Unreal engines. Just a couple reasons in my mind:
1. Uniform lighting. This has started to eat at me with just about every other engine out there, including UT2007 from what I can tell. Most engines use hybrid lighting/shadowing methods, treating characters/actors seperately from the environment itself. You end up with what looks like seperately rendered characters projected onto a moving background, maybe with a cheesy shadow overlayed onto the ground. It makes it impossible to blend in with the environment in anyway, and just "feels".. jarringly fake.
In Doom 3/Quake wars, all geometry is treated the same way at render time. Every surface is lit uniformly, cast shadows on themselves and each other uniformly, etc etc. Visually the world is much more consistent and IMO feels like it is made of the same "stuff." Functionally speaking, it means you can actually obscure your profile, hide in shadows as expected, etc. All the lighting is also fully dynamic, which means full night/day cycles. Flashlights and any other light source behave exactly as expected, and there's no variable limit on how many shadows are cast. It's hard to appreciate without experiencing the differences in a relevant type of game.
2. Highly Dynamic Since there is no lightmapping or anything significant to really compile (depending on your design; we're not using BSP at all except for a bounding hull), the environments can completely change on the fly. You can spawn in entire buildings at runtime if you wanted to. In our project, we're constructing things with a 3d "tileset" which can be used to basically randomly generate entire towns. Infiltration started to do some of this a little but it was so limited, and you could always tell the dynamic elements apart from the static since they are rendered differently.. but not so with Doom 3.
You run into some problems with bot pathing, but they do a pretty darn remarkable job of navigating a changing environment, and the SDK is open enough to create workarounds for the AI (which we are working on, since we're basicaly not using BSP).
3. LOD There are advantages and disadvantages to this, but there is no max view distance or LOD in Doom3, or ET:QW from the looks of it. You can see as far as your LOS allows, and what you see is what's there. No deforming/shifting models over distance, clipping terrain or buildings, etc etc.
4. Hit detection Hit detection for projectiles is all per-poly. You can actually shoot between peoples legs again! It's amazing! Bullets go where you are aiming, and impact predictably. What a novel idea. And you can easily do location based damage.
5. Animation We're still exploring the full potential of it, but they do a few nifty things with character animation. Characters can have multiple animation channels for blending upper/lower body movements, and you can directly take control of individual bones (someone did a little tech demo controlling the Doom marine's facial bones through a GUI... showing off the power of both GUI/SCripting system and animations). They also do a little fun trick to automatically adjust the legs/body position to fit the surface being stood upon. Little things like that along with the lighting really help make if feel like the characters are actually IN the environment.
6. Editing. Radiant leaves a lot to be desired, but we're doing most of our work in external applications anyway, and in this respect the editing environment is really nifty. The file system is very open. You don't have to muck around with packages and stuff, at most the game uses PK4s for archives, which you can open in winRar and alter the compressed files.
The coolest thing is that you can have your models open in 3Ds Max or Maya, and your textures open in Photoshop, and reload them in the editor or game completely on the fly at runtime. You can run the game in windowed mode and tweak your textures and meshes, and see them update in real-time. THAT is something that will be hard to give up in the future.
7. Open Source Although he will be doing DirectX in the future, Carmack has always embraced open source platforms and despite mediocre mod support as far as documentation goes, he has released previous engines under GPL and sounds like he will do so with Doom 3 as well. This is possible because the graphics, sound, physics, etc code is all proprietary. The physics may be somewhat lacking compared to Havoc, but it can do much of the same, and is extendable through the SDK. I just think that's nifty.
Just a few thoughts.
Last edited: