Kllrnohj wrote:
Sigfig wrote:
EDIT: You're kidding right? The Half-Life series is listed in there. I know for a fact that both the Source engine and Goldsrc engine contain legacy code from the quake engine, which is an upgraded version of the doom engine, created by the same company.


Hahahaha, you are retarded. The Half-Life series comes from Valve, *not* id. Half-life 2 uses the Source engine, which was written from scratch by Valve.

Half-life 1 (and spinoffs) did use the GoldSrc engine which was a heavily modified Quake engine. But nobody uses the original Quake engine anymore. The last game to use the Quake 3 engine was Call of Duty, and even then it was extremely modified.

But even then, only 21 games used the Id Tech 3 (usually referred to as Quake 3) engine. http://en.wikipedia.org/wiki/Id_Tech_3#Uses_of_the_engine

The Doom 3 engine was written from scratch as well, and only 6 games have used the Id Tech 4 engine.

If anyone here seriously thinks that modern, shader driven DirectX 9.0c and DX 10 games still use code from even 8 years ago is an idiot.


This is one case where I do know what I'm talking about. The source engine was not coded from scratch. It heavily relies on the legacy code from the goldsrc engine, which is a modification of the quakeworld engine.

I did not say that they used the engine directly, but that most games (especially in the fps genre) use legacy code from the original id Tech. (Engine behind doom and quake.)
Sigfig wrote:
Kllrnohj wrote:
Sigfig wrote:
EDIT: You're kidding right? The Half-Life series is listed in there. I know for a fact that both the Source engine and Goldsrc engine contain legacy code from the quake engine, which is an upgraded version of the doom engine, created by the same company.


Hahahaha, you are retarded. The Half-Life series comes from Valve, *not* id. Half-life 2 uses the Source engine, which was written from scratch by Valve.

Half-life 1 (and spinoffs) did use the GoldSrc engine which was a heavily modified Quake engine. But nobody uses the original Quake engine anymore. The last game to use the Quake 3 engine was Call of Duty, and even then it was extremely modified.

But even then, only 21 games used the Id Tech 3 (usually referred to as Quake 3) engine. http://en.wikipedia.org/wiki/Id_Tech_3#Uses_of_the_engine

The Doom 3 engine was written from scratch as well, and only 6 games have used the Id Tech 4 engine.

If anyone here seriously thinks that modern, shader driven DirectX 9.0c and DX 10 games still use code from even 8 years ago is an idiot.


This is one case where I do know what I'm talking about. The source engine was not coded from scratch. It heavily relies on the legacy code from the goldsrc engine, which is a modification of the quakeworld engine.

I did not say that they used the engine directly, but that most games (especially in the fps genre) use legacy code from the original id Tech. (Engine behind doom and quake.)


Provide evidence to support your claim.
Ultimate Dev'r wrote:

Provide evidence to support your claim.


http://developer.valvesoftware.com/wiki/Quake_Engine_Hierarchy
http://developer.valvesoftware.com/wiki/Goldsource

Taken from the official Valve Software wiki.
Sigfig wrote:
This is one case where I do know what I'm talking about. The source engine was not coded from scratch. It heavily relies on the legacy code from the goldsrc engine, which is a modification of the quakeworld engine.


If by "relies heavily" you mean "all the quake code has been replaced", then yes. The source engine started out as a fork of GoldSrc (hence where the name comes from), but there is very little (if any) Quake code left. Certainly nothing that would prevent a language transition. In fact, there was a minor language transition. Quake and Doom engines are written in C, the Source engine is C++.

Quote:
I did not say that they used the engine directly, but that most games (especially in the fps genre) use legacy code from the original id Tech. (Engine behind doom and quake.)


No, they don't. Very few games use Quake or Doom derivatives. An extreme minority of games. Even id games don't use old id code. The Doom 3 engine was a complete rewrite from scratch. Graphics APIs have changed DRASTICALLY since Quake and Doom (and by that I mean there *ARE* graphics APIs now).

Of course, you are also implying that Quake and Doom used the same engine. They most certainly did not. Not only is it not the same engine, it isn't even the same rendering method. The two engines are *extremely* different.
Kllrnohj wrote:

If by "relies heavily" you mean "all the quake code has been replaced", then yes. The source engine started out as a fork of GoldSrc (hence where the name comes from), but there is very little (if any) Quake code left. Certainly nothing that would prevent a language transition. In fact, there was a minor language transition. Quake and Doom engines are written in C, the Source engine is C++.


How about this, you take a look into the source code. There is a whole set of legacy files that include basic things (like brush constrution) from goldsrc and the original id Tech.

Kllrnohj wrote:

No, they don't. Very few games use Quake or Doom derivatives. An extreme minority of games. Even id games don't use old id code. The Doom 3 engine was a complete rewrite from scratch. Graphics APIs have changed DRASTICALLY since Quake and Doom (and by that I mean there *ARE* graphics APIs now).


If games didn't use legacy code from the old id Tech, why are we still using brushes? Polygon mapping is much better for both the artist and the engine. (See: Fallout 3)

Kllrnohj wrote:

Of course, you are also implying that Quake and Doom used the same engine. They most certainly did not. Not only is it not the same engine, it isn't even the same rendering method. The two engines are *extremely* different.


I am referring to id Tech 1, the polished and distrubed version of the engine running quake. It retains legacy code from doom. It would be a horrible decision to recode every last piece of code when upgrading an engine.
Hello SigFig
Sigfig wrote:
How about this, you take a look into the source code. There is a whole set of legacy files that include basic things (like brush constrution) from goldsrc and the original id Tech.


Sure, send me the source code. I'm assuming you have it, right? I'm sure you, someone who doesn't know C++ and thinks you can make a competitive game engine in Python, has gone and licensed the Source engine and can actually understand the code Rolling Eyes

Quote:
If games didn't use legacy code from the old id Tech, why are we still using brushes? Polygon mapping is much better for both the artist and the engine. (See: Fallout 3)


We are using algorithms and optimizations techniques from the old days, but not the code. Things like BSP trees are still used today, but the original implementation is most definitely NOT still used.

I can prove this by simply pointing out that Quake I, II, and III and Doom I and II have all been released under the GNU GPL. Any games still using Doom or Quake code either has a license to use it (which they don't because id doesn't publish the code until it stops selling) or is required to publish their own source code.

Of course, what you are claiming is similar to trying to say that every implementation of a linked list is really just a piece of legacy code that has been carried forward. No one other than the inventor has ever created their own linked list - its really just been the same piece of code Rolling Eyes

Quote:
I am referring to id Tech 1, the polished and distrubed version of the engine running quake. It retains legacy code from doom. It would be a horrible decision to recode every last piece of code when upgrading an engine.


Doom I and Quake I share nothing in regards to rendering and level layout. The two engines powering those games are night and day different. id Tech 1 was the engine that resulted from Quake I.
steelersfan1693 wrote:
Hello SigFig
Dugg for being the most intelligent comment in the past three pages. Razz
KermMartian wrote:
steelersfan1693 wrote:
Hello SigFig
Dugg for being the most intelligent comment in the past three pages. Razz


Buried for using Dugg outside the context of Digg. ohwait.
Kllrnohj wrote:

Sure, send me the source code. I'm assuming you have it, right? I'm sure you, someone who doesn't know C++ and thinks you can make a competitive game engine in Python, has gone and licensed the Source engine and can actually understand the code Rolling Eyes


You don't have to license the engine to get access to the source code. Valve openly supports free modding of the Source engine. If you have a Source-based game, you can access the code for it.

Sending it to someone who doesn't, however, is illegal.

Note: When did I say anything about a python game engine being "competitive"? I said it would draw developer attention.

Kllrnohj wrote:

We are using algorithms and optimizations techniques from the old days, but not the code. Things like BSP trees are still used today, but the original implementation is most definitely NOT still used.


So everyone recoded the entire process, and made it completely new without using older code, but decided to name it the exact same thing and use it the exact same way.

Sounds plausible.

Kllrnohj wrote:

I can prove this by simply pointing out that Quake I, II, and III and Doom I and II have all been released under the GNU GPL. Any games still using Doom or Quake code either has a license to use it (which they don't because id doesn't publish the code until it stops selling) or is required to publish their own source code.


So having access to the code of an older game somehow discourages the developers from a newer game from using it?

Kllrnohj wrote:

Of course, what you are claiming is similar to trying to say that every implementation of a linked list is really just a piece of legacy code that has been carried forward. No one other than the inventor has ever created their own linked list - its really just been the same piece of code Rolling Eyes


I am "claiming" that games retain legacy code from older games. If the BSP method had been completely recoded as many times as you suggested, why is it still called BSP, and why does it retain the same original function?

Kllrnohj wrote:

Doom I and Quake I share nothing in regards to rendering and level layout. The two engines powering those games are night and day different. id Tech 1 was the engine that resulted from Quake I.


So, in a blast of innovation, id Software rethought their entire approach to rending a brush, but decided they would make the second, completely new renderer, make things look like the old one.

Provide proof on this claim, maybe I'm just not understanding what you meant.
Oh come on, this is great.
I have no idea what the truth is, but I love to see people battle out out! Remember, violence is always the solution.

Well, literary violence, in this case.
Sigfig wrote:
You don't have to license the engine to get access to the source code. Valve openly supports free modding of the Source engine. If you have a Source-based game, you can access the code for it.


Nope, not the core engines themselves. Graphics rendering, sound, networking, all those engines aren't provided by the Source SDK. I know this because I have USED the Source SDK. You, clearly, haven't. Which makes sense, since you already admitted you DON'T EVEN KNOW THE LANGUAGE YOU ARE DISCUSSING.

Quote:
Note: When did I say anything about a python game engine being "competitive"? I said it would draw developer attention.


The only attention it would draw would be people saying "Huh, that sure is stupid. Who would waste their time with that?"

Quote:
So everyone recoded the entire process, and made it completely new without using older code, but decided to name it the exact same thing and use it the exact same way.

Sounds plausible.


http://en.wikipedia.org/wiki/Algorithm

Quote:
So having access to the code of an older game somehow discourages the developers from a newer game from using it?


*facepalm*

http://en.wikipedia.org/wiki/GNU_General_Public_License

Quote:
I am "claiming" that games retain legacy code from older games. If the BSP method had been completely recoded as many times as you suggested, why is it still called BSP, and why does it retain the same original function?


Could it be because it still does the same thing?
http://en.wikipedia.org/wiki/Binary_space_partitioning

Also, game engines don't all behave and work the same way. Crysis, for example, uses Voxels for its terrain system, not BSPs.

Quote:
So, in a blast of innovation, id Software rethought their entire approach to rending a brush, but decided they would make the second, completely new renderer, make things look like the old one.


Things like this just make it obvious you've never worked with OpenGL or DirectX. Also, you keep using "brush". Do understand that a brush is *not* a primitive type. A brush is simply a piece of geometry which is itself made up of polygons. Games render using polygons. A brush is an abstract term that has no real meaning to a graphics engine. Also, games don't actually render polygons. They hand the polygons over to OpenGL or DirectX, which in turn passes it on to the driver where it is then rendered by the video card.

Also, optimizations and corner cutting that was needed in the Doom and Quake days aren't needed anymore. Hardware and APIs have changed over the years. Graphics engines must change as well. Heck, even the formats for storing models and textures have changed drastically.
Kllrnohj wrote:

Nope, not the core engines themselves. Graphics rendering, sound, networking, all those engines aren't provided by the Source SDK. I know this because I have USED the Source SDK. You, clearly, haven't. Which makes sense, since you already admitted you DON'T EVEN KNOW THE LANGUAGE YOU ARE DISCUSSING.


The graphics is standard D3D. Networking is run through steam.
The legacy code, the stuff we're referring to in this argument , is in there.

No, I don't know C++. I've tried to work with it before and was greeted with a whole army of new complications. I, however, fail to see how this pertains to the usage of legacy code in modern video games.

Kllrnohj wrote:

The only attention it would draw would be people saying "Huh, that sure is stupid. Who would waste their time with that?"


So you're saying that if someone found a way to make it, you would call them an idiot?

Kllrnohj wrote:


I know what an algorithm is. I'm not that misinformed. Smile

Kllrnohj wrote:


Oh look it's that freeware license that I obviously knew about before. Someone want to elaborate on how a link to a wikipedia article I've already read is related to this discussion?

Kllrnohj wrote:

Could it be because it still does the same thing?
http://en.wikipedia.org/wiki/Binary_space_partitioning

Also, game engines don't all behave and work the same way. Crysis, for example, uses Voxels for its terrain system, not BSPs.


If it's still going to do the exact same thing in the exact same way, why make it again?

Maybe retro-coding is as popular as 80's clothes.

Kllrnohj wrote:

Things like this just make it obvious you've never worked with OpenGL or DirectX. Also, you keep using "brush". Do understand that a brush is *not* a primitive type. A brush is simply a piece of geometry which is itself made up of polygons. Games render using polygons. A brush is an abstract term that has no real meaning to a graphics engine. Also, games don't actually render polygons. They hand the polygons over to OpenGL or DirectX, which in turn passes it on to the driver where it is then rendered by the video card.


I understand what a brush is. I understand that it is not a geometric shape. I've mapped for Source for a hell of a long time.

I also understand that it is not needed with todays graphics processors. If game developers decided to recode absolutely everything when they started a new project, we wouldn't be using them. A solely polygon-based format is much more efficient for both art design and rendering.

Kllrnohj wrote:

Also, optimizations and corner cutting that was needed in the Doom and Quake days aren't needed anymore. Hardware and APIs have changed over the years. Graphics engines must change as well. Heck, even the formats for storing models and textures have changed drastically.


That's what I said. If we don't need them now, why are we still using them?
dude, pay attention. It doesn't do the exact same thing the exact same way. It has the same end result, but it works completely differently.
Racial epithets (even jokingly) are unwelcome in this forum

EDIT: Oh hell yes they are anonymous admin
http://images.starcraftmazter.net/4chan/for_forums/troll_thread.jpg
Quote:
The graphics is standard D3D. Networking is run through steam.


Yeah, uh, no, no, not at all. The major components of the source engine are not included in the SDK. The graphics engine, sound engine, networking engine (which is *NOT* steam by the way) are where any "legacy" code (if it existed) would be.

Sigfig wrote:
The legacy code, the stuff we're referring to in this argument , is in there.


Proof. I have the steam SDK. Point me to a file where this legacy code exists.

Quote:
I, however, fail to see how this pertains to the usage of legacy code in modern video games.


Because you can't code with modern code much less know what is legacy code and what isn't. If you can't read the code, you can't know what the hell it is.

Quote:
So you're saying that if someone found a way to make it, you would call them an idiot?


*sigh* Python is slow. Extremely slow. It cannot make a decent graphics engine, or even a decent game engine.

There are OpenGL bindings for Python, go give it a shot. I've only seen it used once, and that was for the 3D for a chess game where the slow performance was irrelevant.

Quote:
I know what an algorithm is. I'm not that misinformed. Smile


Then why did you ask such a question if you knew it didn't make sense?

Quote:
Oh look it's that freeware license that I obviously knew about before. Someone want to elaborate on how a link to a wikipedia article I've already read is related to this discussion?


Because it *isn't* a freeware license, and you obviously *don't* know what the GPL involves. Go read the article and then re-read your comment. If you posses a brain, you should be able to figure out why what you said is wrong.

Quote:
If it's still going to do the exact same thing in the exact same way, why make it again?


There are many reasons. For one, its not the exact same way. Also, it is often coded to fit the system. Then there are things like legality issues. You cannot simply use old code in a commercial product. There are also cases where the algorithm is tweaked or improved, or in the case of Source's use of the BSP file format, heavily modified.

Quote:
I understand what a brush is. I understand that it is not a geometric shape. I've mapped for Source for a hell of a long time.


Wait wait wait, so you are claiming you know how graphics engines work internally because you can make a map? Bwahahahaha, yeah, I'm done with this.

Quote:
I also understand that it is not needed with todays graphics processors. If game developers decided to recode absolutely everything when they started a new project, we wouldn't be using them. A solely polygon-based format is much more efficient for both art design and rendering.


3D graphics engines have *ALWAYS* been solely polygon based (most exclusively use triangles, actually). There have *NEVER* been renders that worked directly on abstract concepts like "brushes".

Quote:
That's what I said. If we don't need them now, why are we still using them?


*facepalm* we AREN'T using them. That is what you don't seem to get. *NOBODY* is using Quake I and Doom I code.
Kllrnohj wrote:

Yeah, uh, no, no, not at all. The major components of the source engine are not included in the SDK. The graphics engine, sound engine, networking engine (which is *NOT* steam by the way) are where any "legacy" code (if it existed) would be.


The networking "engine" is not steam, but it runs through steam (anti-piracy measure). In my above post I acknowledged the fact that the major components (graphics engine. sound engine, etc) were not in the sdk. However, if you currently have access to the code, please at least look through it and find what I'm referring to. Currently you're just fighting back with a "NO IT'S NOT IN THERE." argument.

Kllrnohj wrote:

Proof. I have the steam SDK. Point me to a file where this legacy code exists.


From a basic search, I found one that even has "legacy" in it's filename. c_te_legacytempents.cpp/h From that same basic code search, I received a page of results full of implementation of legacy code or the containment of it. For example: in vtf.cpp/h (used for the material system) you can see pieces of code left over from when the game mounted from .wad files.

Kllrnohj wrote:

Because you can't code with modern code much less know what is legacy code and what isn't. If you can't read the code, you can't know what the hell it is.


I don't think my inferior knowledge of C++ impairs my ability to see "//THIS IS CODE FROM GOLDSRC"


Kllrnohj wrote:

*sigh* Python is slow. Extremely slow. It cannot make a decent graphics engine, or even a decent game engine.

There are OpenGL bindings for Python, go give it a shot. I've only seen it used once, and that was for the 3D for a chess game where the slow performance was irrelevant.


The argument I was making here is not if it was possible, but instead if someone actually did a decent job of it, other people would at least give it a look.

Kllrnohj wrote:

Then why did you ask such a question if you knew it didn't make sense?


When did I refer to the usage of algorithms in games?

Kllrnohj wrote:

Because it *isn't* a freeware license, and you obviously *don't* know what the GPL involves. Go read the article and then re-read your comment. If you posses a brain, you should be able to figure out why what you said is wrong.


"The GNU General Public License (GNU GPL or simply GPL) is a widely used free software license,"

Maybe I'm using the wrong terminology. "Freeware" means free software, correct?

Kllrnohj wrote:

There are many reasons. For one, its not the exact same way. Also, it is often coded to fit the system. Then there are things like legality issues. You cannot simply use old code in a commercial product. There are also cases where the algorithm is tweaked or improved, or in the case of Source's use of the BSP file format, heavily modified.


So using the exact same name for a piece of code with the exact same purpose isn't copyright infringement?

If you're going to modify it, wouldn't that be a modification? It doesn't seem like a good idea to me to erase your entire code when optimizing it.

Kllrnohj wrote:

Wait wait wait, so you are claiming you know how graphics engines work internally because you can make a map? Bwahahahaha, yeah, I'm done with this.


I said I knew what a brush is. You can't map for a game that uses them for long without figuring out what they are, and how the engine uses them.

Kllrnohj wrote:

3D graphics engines have *ALWAYS* been solely polygon based (most exclusively use triangles, actually). There have *NEVER* been renders that worked directly on abstract concepts like "brushes".

I'm not talking about the renderer here. The game code in newer games are still using brushes to record where a polygon should be drawn. It seems a much better choice to use solely models.

Kllrnohj wrote:

*facepalm* we AREN'T using them. That is what you don't seem to get. *NOBODY* is using Quake I and Doom I code.


If we aren't using them, why are we still using them?

Let me clarify here, if you don't already understand:
I'm talking about game code, not a graphics engine or a sound engine.

The fact that engines now use brushes, as we have discussed above, means that unnecessary optimization from older games is being done in modern engines.
sigfig, you're missing the distinction between libre-ware and gratis-ware. The GNU GPL is for libre-ware.
Sigfig wrote:
From a basic search, I found one that even has "legacy" in it's filename. c_te_legacytempents.cpp/h From that same basic code search, I received a page of results full of implementation of legacy code or the containment of it. For example: in vtf.cpp/h (used for the material system) you can see pieces of code left over from when the game mounted from .wad files.


Right, because comments like "the old game event manager interface, don't use it." really scream vital to the game, right?

Quote:
I don't think my inferior knowledge of C++ impairs my ability to see "//THIS IS CODE FROM GOLDSRC"


Then either you or visual studio is lying, as there is no such comment anywhere within the SDK.

In fact, a search for goldsrc turned up very few results, and involve things like "GoldSrc style animations" - most likely for the ported version of HL1: Source (which you seem to have forgotten about). An old game using old code? Say it isn't so! Rolling Eyes

Quote:
When did I refer to the usage of algorithms in games?


BSP, for example, is a data structure combined with an algorithm. It is not a piece of code.

So pretty much your entire argument is that algorithms have only ever been coded once and just re-used by all games.

Quote:
"The GNU General Public License (GNU GPL or simply GPL) is a widely used free software license,"


Keep reading

Quote:
Maybe I'm using the wrong terminology. "Freeware" means free software, correct?


Yes, it does, but the GNU GPL is not freeware.

Quote:
So using the exact same name for a piece of code with the exact same purpose isn't copyright infringement?


Correct.

Regardless, it is the *ALGORITHM* that is named, not the block of code. Hence the link to algorithms.

Quote:
If you're going to modify it, wouldn't that be a modification? It doesn't seem like a good idea to me to erase your entire code when optimizing it.


Modifying code can often be more difficult than scraping it and starting over. Regardless, most games do *not* start out with a derivative of an id tech engine, so there is nothing to modify.

Quote:
I said I knew what a brush is. You can't map for a game that uses them for long without figuring out what they are, and how the engine uses them.


Completely false. While a map could have brushes in it, the first thing an engine will do when it loads it up is convert it to a polygon mesh. Engines do not use brushes. Not only that, but most often the editor will convert things like brushes to polygon meshes (or a triangle strip or fan if it can) during the export process.

Oh, and if you truly mapped for Source games for a long time as you claim, then you would know that you can export your map into XSI and that it is ALL POLYGONS.

Quote:
I'm not talking about the renderer here. The game code in newer games are still using brushes to record where a polygon should be drawn. It seems a much better choice to use solely models.


Again, no, they don't. They never have. Also, brushes are built out of polygons. How the hell do you use a collection of polygons to specify where a polygon should be drawn? That doesn't even make any sense.

Brushes and models are the same thing, a collection of polygons. To the engine they are no different, other than models can have extra information like a skeleton, animations, etc...

Quote:
The fact that engines now use brushes, as we have discussed above, means that unnecessary optimization from older games is being done in modern engines.


You, sir, are an idiot.
  
Register to Join the Conversation
Have your own thoughts to add to this or any other topic? Want to ask a question, offer a suggestion, share your own programs and projects, upload a file to the file archives, get help with calculator and computer programming, or simply chat with like-minded coders and tech and calculator enthusiasts via the site-wide AJAX SAX widget? Registration for a free Cemetech account only takes a minute.

» Go to Registration page
Page 4 of 5
» All times are UTC - 5 Hours
 
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

 

Advertisement