Talking that HL 2 is new engine from the scratch is just marketing buzz, personally I think that at it's core it's still Q1. Why? This is what I found out:
Read here about license http://www.gamespot.com/features/halflife_final/part22.html Read here about current Half Life 1 implemntation http://collective.valve-erc.com/index.php?go=q1_or_q2 Read here about John Carmaks opinion http://www.armadilloaerospace.com/n.x/johnc/Recent%20Updates
There are still remaining bits of Quake 1 scaterred trough all the Half-Life 1/2. For example .qc file script used for model compiling (maybe in early stages studiomdl used parts of QuakeC parser)(BOTH); BSP file fromat(BOTH); extended WAD file format (HL1).
It's evident that map compiling tools have evolved from Quake 1 ones. Even Hammer started as WorldCraft, Quake 1 editing tool.
Half Life 1 seems like Quake 1 engine core with "pluggable" renderers (SW/HW/D3D) implemented in similar way like NPRQuake (http://www.cs.wisc.edu/graphics/Gallery/NPRQuake/) which together form "raw world" engine.
Valve's addition is skeletaly animated model studiomdl (Studio = reference to 3D Studio MAX used for modelling, MDL = original name of Id's model format (?)) rendered into "raw world" using engine core. Model format doesn't support morphing (disadvantage). This "raw world" engine is slightly modified to use WAD textures with cutom palettes and BSP files with colored lights (small modification replicated in many GPLed Quake 1 mutants). Second addition is EAX sound code. I think that most of this code is realized in C language. Third Valve's addition is set of C++ classes sitting on top of this engine which creates the "real game". Entities are implemented in similar way like the ones in Quake 1 but instead of QuakeC C++ is used. There is absolutly new AI pathfinding code which uses node navigation and AI uses couple of before unseen tricks like "talking" NPC's (bone moved mouth). Parts of this C++ game sources are distributed like HL1 SDK. Later Valve added VGUI support, detail textures an couple of minor improvements.
Half-Life 2 seems like extended Half-Life 1. Core seems the same with extended limits (bigger maps, more wpolys) and some modifications. Now the BSP splits level according to logical units, not the pixel ones (so you can safely scale textures without causing unnecesary wpoly subdivision) and light map scale genration can be controled from editor. Portal entity added which is able to turn on & of rendering of leafs behind it. Wpoly subdivision added so now engine is more landscape friendly (propably generated on the fly using vertex shader and heightmap). OpenGL render is removed (propably because GLSL language wasn't availible and maybe because OpenGL is more CPU intensive too). Software render might be present (some cvars/commands are mentioned on the net). Textures mapped onto wpoly are now controled with VMF file. Core has been modified to use pixel shaders too. Most evident addition is modified HAVOK physics engine which greatly extends gameplay. Model format is extended studiomdl one. It supports morphing now (reffered as FLEX; morphing seems to be only way to create believable facial animations in games, emotions in HL2 are possible by blending multiple morph targets together). Every vertex of the model is now weighted (can be moved by multiple bones in differend amount, vertex skinning support; realisticaly simulates muscles). Model has physics collision mesh which allow it to interact with raw world. AI seems the same as HL1 with some minor additions. New subsytem for human characters based on this work at http://mrl.nyu.edu/~perlin/facedemo/ (needs java) was added and it uses that theory with facemorphs.
Conclusion Half-Life 2 is not a new engine at all. Rather, it is an heavy modified Half-Life 1 which is slightly modified Quake 1. So we could say it's very revamped Quake 1. Personally I think that Quake is quite good engine. It can be extended heavily and it can evolve naturally (Half-Life1,Half-Life2,Mutants).
Look at some other GPLed Quake mutants at http://tenebrae.sourceforge.net/index.php?page=screenshots.txt http://www.tenebrae2.com/ and http://www.tenebrae2.com/tb2_screenshots.html http://www.icculus.org/twilight/darkplaces/screenshots.html
So theoretically you could acheive same results by using one of these ports, adding physics like ODE http://www.ode.org/, adding skeletaly animated and moph supporting model rendering. However amount of coding work would be quite high, very high I think. So there is Half-Life 2 with all this features included, tested, debuged and with big(money), succesful, and supporting company behind, like Valve is. It's best way to go.
BTW I'm still interested in opensource/gpl games and I'm very curious whether it's possible to create AAA quality opensource/gpl game.
_______________________________________________ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders