Sign in to follow this  

Half-Life

This topic is 4836 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hi guys, Regarding the original Half-Life game, is there any information available on the web regarding its data structures/rendering algorithm? I have this info for Quake but I was wondering if the same is available for HL. Thanks

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
It's probably the same -- Half-Life was written from the Quake engine, and I don't think they changed it algorithmically.

Share this post


Link to post
Share on other sites
Mind you, its HEAVILY modified, didnt see skeletal animation in quake, also, i thought it was q2 not q1 :-/ but anywho, it was just a base, the network code got hacked to pieces because it sucked
-Dan

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
Yeah, they really ripeed out large chunks and added quite a bit of functionality. But the rendering algos are the same, as far as visibility and lighting and stuff is concerned.

Share this post


Link to post
Share on other sites
It was the Quake 2 engine that was heavily modified to make HL. Using the original Quake engine would've just been silly, the data structures are well documented, anything internal I'm not sure about.

Share this post


Link to post
Share on other sites
The rendering is the same as Quake 2, with some modifications to the file format.

The skeletal animation system they designed is totally new, though. The netcode is their own as well.

Between the Q2 source code and the HL SDK, you can gain some really solid insights on the inner workings of it. I strongly recommend both downloads, particularly the SDK.

Share this post


Link to post
Share on other sites
I've done extensive work with HL, it's actually based off Q1, I believe there was a bit of Q2 network code in the mix, but am unsure about that.

As people have already said it is heavily modified, taking many of the same paths as Q2, but just compare Q2 and HL and you see differences in the way things are done.

You may say it's silly using Q1 as a base, but if they had used Quake 2 they would have had to have an ID logo spring up at some point and pay a lot of royalties. Many games still used Q2 as a base long after Q3 came out.

Share this post


Link to post
Share on other sites
Quote:
Original post by Ryback
Sorry if this is really basic but, what exactly is included in an SDK? Does the HL SDK contain all the game's source code?


If its like other SDK's it will contain game code (like ai and weapons and stuff) but not system/engine code (rendering and stuff).

Share this post


Link to post
Share on other sites
The HL SDK is basically the game code, but not the engine code. This means it contains things like weapon code/item code/AI behaviour code/gamemode code etc. It doesn't contain stuff like the base rendering code and netcode, that'll be in the engine.

For the definitive answer of what the HL engine is actually based on see Here

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
The half-life developers have gone on record stating that half-life was developed from the Quake 1 engine.

"It is fundamentally just a heavily modified Quake 1 engine. There are about 50 lines of code from the Quake 2 engine, mostly bugs fixes to hard problems that Carmack found and fixed before we ran into them." - Ken Birdwell

-neurokaotix
MindEngine Project Administrator

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
I'll throw this in as well:

"At its core, it's a Quake 1 engine. You can tell this by comparing Half-life's map compiling tools with those shipped with Quake1. You'll find very minor differences -- none of them are fundamental. The core rendering is architecturally identical to Quake1, the only "significant" change is removing the fixed palette, making map lighting RGB instead of 8 bit, and converting software rendering to be 16 bit color instead of 8 bit color, which was pretty easy and only required minor code changes. Our skeletal animation system is new, though it was heavily influenced by the existing model rendering code, as were a lot of our updated particle effects, though less so with our beam system. Decals are totally new, our audio system has some major additions to what already existed, and at ship time our networking was almost totally Quake1 / QuakeWorld networking but about a year later Yahn rewrote most of all of it to be very different in design. The most highly changed sections are the game logic; ours being written in C++ and Quake's being in written interpreted "Quake C". Our AI system is very very different from anything in Quake, and there's a lot of other significant architectural changes in the whole server and client implementations, though if you look hard enough you can find a few remnants of some nearly unmodified Quake1 era entities buried in places."

Jay Stelly adds, "We also took PAS from QW and/or Q2 and a couple of other minor routines I can remember (no more than 100-200 lines of code there). There was some feature overlap (as Ken mentions) like game code DLLs and colored lighting, but we developed our own solutions to those independent of Q2."

-neurokaotix
MindEngine Project Administrator

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
Quote:
Original post by grekster
^^^^^^^ Both AP's posts are quoted from Monder's link ^^^^^^


Hah... I didn't even notice that until just now. The lazy people will thank me none the less.

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
its a combination of q1 and q2 that was ported to c++ and then valve worked thier magic on it.

Share this post


Link to post
Share on other sites
Quote:
Original post by Anonymous Poster
its a combination of q1 and q2 that was ported to c++ and then valve worked thier magic on it.


I've never played q1 nor q2. Are they inferior to HL in terms of the 3d engine?

Share this post


Link to post
Share on other sites

This topic is 4836 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this