Modern Game Engine Mapping - Compare Article
Posted: Fri Apr 22, 2005 1:56 pm
Hi everyone,
as a favor, I am presently helping out a friend, with an article on modern game engines (SDKs), specifically for Far Cry (Sandbox, CryEngine), Doom 3 (D3Radiant, Doom3 Engine), and Half-Life 2 (Hammer, Source). I have the part of writing about the D3 and HL2 engines.
Audience: Novices interested in 3D engines (potential mappers), Mappers looking for the next engine "challenge", and to some degree Modders, looking for the engine most suitable for their needs.
Goal: It is my goal to provide a quick introduction to the D3 and HL2 engines, describe the SDKs, touch on the main features of the Editors (compare Interface/Features), e.g. what is the design philosophy (i.e. additive/subtractive geometry?, explained in a easy to understand way), lighting/shadows models, sound, AI, etc. Hopefully this will help motivate folks to start e.g. mapping.
I have only started to read up on all the below, so I am nowhere nearly an expert on the engine related topics. It would greatly help me improve my article to get feedback on the many larger/smaller issues/advantages that *real world* experience has taught you.
Please note: I am *not* trying to start an engine war. I am trying to collect information to paint an objective as possible picture of the present status of modern engines.
To start off, it would greatly help me to be made aware of reading material I should look into, to get an overview of the SDKs and engines. The below is mainly for Doom 3 mapping (but I am also looking for the appropriate info for Half-Life 2/Source):
General
a) What Doom 3 community forums can be recommended (e.g doom3.org)?
b) What documentation is there on the Doom3 SDK?
Editor
c) What features of D3radiant (as a "modern" editor) stand out compared to older editors (GTKradiant), but more importantly compared to Sandbox and/or Hammer in your opinion? (I am trying to nail down the new "real time" editing features, and how practical / timesaving these actually are)?
d) D3radiant lets you manipulate geometry on a per polygon basis (nothing new, Q3radiant heavily relies on this), but some editors like Far Cry's Sandbox do *not* let you do this. How important is per polygon manipulation still for D3engine editing? Does the import of "material" created with external Modelers, take up a larger part in the Mapping process now?
Engine
e) What is possible with the Doom 3 engine, that merits mentioning? (Since this is a Q3A forum, anything not possible with Q3A would be a good starting point). Missing features also merit mention IMO, e.g. I really miss shader lighting.
f) What are the strengths of the D3 engine compared to CryEngine/Source? What are the disadvantages/limits? Please use examples to undermine your thoughts. Some topics of interest in this compare: Terrain, Indoor Areas, Large Outdoor Areas, "Model" LOD, AI, "CutScenes", Facial Animation, Sound, Multiplayer, Single-Player, Collision Detection, Lighting, Shadows, Bumpmapping, Event Handling...
g) What kind of new mods are there that are not strictly a Shooter variation? E.g. can the engine be turned into a totally different gametype (non-Shooter)? Is the latter being done? What gametypes are the a inherent strength of the D3 engine?
h) What is the basic concept behind the D3 engine (mapping, optimization)? (IIRC Q3A was BSP driven, in part with geometry LOD, maps need to be leak free). D3 is a dynamic lighting centered engine, without LOD, using low poly geometry with bumpmapping to "simulate" detail? E.g. is it still BSP driven the way Q3A is, or is the engine going some middle path (using other optimizations)? Please correct my possibly wrong simplifications.
i) Far Cry provides a scripting languages (LUA) that helps Modders make quick changes to many features of the game. Unreal engines have UnrealScript, even Quake IIRC used to have a scripting language. AFAICT Doom 3 "simply" lets you program in C++ and does not come with a more "high level" scripting language (please correct me if I am wrong). Is this a disadvantage for Modders? Is the presence of a scripting language actually relevant for Modders? E.g. how difficult is it to add new content to the D3engine, pointers: Change HUD, Change the User Interface, add new (animated) weapons, etc. Does Source/CryEngine make things easier?
Workpaths
j) What import/export modules does the D3 SDK support? For what Model editors (are other external tools supported)? Is it possible e.g. to use "free stripped down versions" of commercial Modelers (e.g. like gmax, Maya Personal Learning Edition, ...) with D3. How "easy"/well does this import/export workpath work? Is it buggy/complicated?
Should some kind soul be in the know on Half-Life 2 specific information please post it here (e.g. links to documentation). I am also looking for "the" HL2 forum? As mentioned the above is mainly related to the D3engine, but I have equivalent questions about the Source engine. Should you have lookedinto several of the mentioned engines, feel free to comment on HL2/Source related issues to the above questions.
Your insights appreciated. Thanx.
AEon
as a favor, I am presently helping out a friend, with an article on modern game engines (SDKs), specifically for Far Cry (Sandbox, CryEngine), Doom 3 (D3Radiant, Doom3 Engine), and Half-Life 2 (Hammer, Source). I have the part of writing about the D3 and HL2 engines.
Audience: Novices interested in 3D engines (potential mappers), Mappers looking for the next engine "challenge", and to some degree Modders, looking for the engine most suitable for their needs.
Goal: It is my goal to provide a quick introduction to the D3 and HL2 engines, describe the SDKs, touch on the main features of the Editors (compare Interface/Features), e.g. what is the design philosophy (i.e. additive/subtractive geometry?, explained in a easy to understand way), lighting/shadows models, sound, AI, etc. Hopefully this will help motivate folks to start e.g. mapping.
I have only started to read up on all the below, so I am nowhere nearly an expert on the engine related topics. It would greatly help me improve my article to get feedback on the many larger/smaller issues/advantages that *real world* experience has taught you.
Please note: I am *not* trying to start an engine war. I am trying to collect information to paint an objective as possible picture of the present status of modern engines.
To start off, it would greatly help me to be made aware of reading material I should look into, to get an overview of the SDKs and engines. The below is mainly for Doom 3 mapping (but I am also looking for the appropriate info for Half-Life 2/Source):
General
a) What Doom 3 community forums can be recommended (e.g doom3.org)?
b) What documentation is there on the Doom3 SDK?
Editor
c) What features of D3radiant (as a "modern" editor) stand out compared to older editors (GTKradiant), but more importantly compared to Sandbox and/or Hammer in your opinion? (I am trying to nail down the new "real time" editing features, and how practical / timesaving these actually are)?
d) D3radiant lets you manipulate geometry on a per polygon basis (nothing new, Q3radiant heavily relies on this), but some editors like Far Cry's Sandbox do *not* let you do this. How important is per polygon manipulation still for D3engine editing? Does the import of "material" created with external Modelers, take up a larger part in the Mapping process now?
Engine
e) What is possible with the Doom 3 engine, that merits mentioning? (Since this is a Q3A forum, anything not possible with Q3A would be a good starting point). Missing features also merit mention IMO, e.g. I really miss shader lighting.
f) What are the strengths of the D3 engine compared to CryEngine/Source? What are the disadvantages/limits? Please use examples to undermine your thoughts. Some topics of interest in this compare: Terrain, Indoor Areas, Large Outdoor Areas, "Model" LOD, AI, "CutScenes", Facial Animation, Sound, Multiplayer, Single-Player, Collision Detection, Lighting, Shadows, Bumpmapping, Event Handling...
g) What kind of new mods are there that are not strictly a Shooter variation? E.g. can the engine be turned into a totally different gametype (non-Shooter)? Is the latter being done? What gametypes are the a inherent strength of the D3 engine?
h) What is the basic concept behind the D3 engine (mapping, optimization)? (IIRC Q3A was BSP driven, in part with geometry LOD, maps need to be leak free). D3 is a dynamic lighting centered engine, without LOD, using low poly geometry with bumpmapping to "simulate" detail? E.g. is it still BSP driven the way Q3A is, or is the engine going some middle path (using other optimizations)? Please correct my possibly wrong simplifications.
i) Far Cry provides a scripting languages (LUA) that helps Modders make quick changes to many features of the game. Unreal engines have UnrealScript, even Quake IIRC used to have a scripting language. AFAICT Doom 3 "simply" lets you program in C++ and does not come with a more "high level" scripting language (please correct me if I am wrong). Is this a disadvantage for Modders? Is the presence of a scripting language actually relevant for Modders? E.g. how difficult is it to add new content to the D3engine, pointers: Change HUD, Change the User Interface, add new (animated) weapons, etc. Does Source/CryEngine make things easier?
Workpaths
j) What import/export modules does the D3 SDK support? For what Model editors (are other external tools supported)? Is it possible e.g. to use "free stripped down versions" of commercial Modelers (e.g. like gmax, Maya Personal Learning Edition, ...) with D3. How "easy"/well does this import/export workpath work? Is it buggy/complicated?
Should some kind soul be in the know on Half-Life 2 specific information please post it here (e.g. links to documentation). I am also looking for "the" HL2 forum? As mentioned the above is mainly related to the D3engine, but I have equivalent questions about the Source engine. Should you have lookedinto several of the mentioned engines, feel free to comment on HL2/Source related issues to the above questions.
Your insights appreciated. Thanx.
AEon