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



Reply via email to