Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length

 
Advanced search

891471 Posts in 33544 Topics- by 24778 Members - Latest Member: sleepyzombie

June 19, 2013, 07:33:06 PM
TIGSource ForumsDeveloperTechnical (Moderators: Glaiel-Gamer, ThemsAllTook)Id Tech 4 open source
Pages: 1 [2]
Print
Author Topic: Id Tech 4 open source  (Read 2246 times)
Nix
Level 10
*****



View Profile
« Reply #15 on: November 23, 2011, 05:15:19 PM »

Then don't use it. There are plenty of free tools available
Logged
boblan
Level 0
*



View Profile Email
« Reply #16 on: November 23, 2011, 05:42:58 PM »

C-style interfaces are much more compiler friendly than most of their C++ counterparts.  C++ has all these nasty rules about variable linkage that wreak havoc on the linker.

So while a "C with classes" code base may not get Scott Meyer's endorsement for C++ design of the year, or stand out as a good C++ guide, it is a good tool when combating growing build times.
Logged
_Tommo_
Level 7
**


frn frn frn


View Profile WWW
« Reply #17 on: November 23, 2011, 05:55:21 PM »

C-style interfaces are much more compiler friendly than most of their C++ counterparts.  C++ has all these nasty rules about variable linkage that wreak havoc on the linker.

So while a "C with classes" code base may not get Scott Meyer's endorsement for C++ design of the year, or stand out as a good C++ guide, it is a good tool when combating growing build times.


And, really saves you a lot of time being more predictable (less obscure errors), using a fraction of the language's features, and being less dependent on compiler quality (which on consoles you can't really take as granted).

Personally I like that much more than Boost or any other "C++ to the fullest" mindfuck, carmack really knows how to make stuff.
While I would like it more if it were a tad more high level on the data structure part, like const char*s and pointers to raw memory being passed around naked. And I don't like the formatting.
« Last Edit: November 23, 2011, 06:04:16 PM by _Tommo_ » Logged

moi
Level 10
*****


i disagree


View Profile WWW
« Reply #18 on: November 23, 2011, 07:07:06 PM »

you can still purchase a license if you don't want to release source.

And how is this supposed to help us poor indie authors?


honestly I don't think it would really help any indie dev to use the engine source code of this rather than to use a ready-made solution such as unity or any other.

It's just for hobbyist programmers.
Logged

lelebęcülo
Klaim
Level 10
*****



View Profile WWW
« Reply #19 on: November 24, 2011, 05:12:30 AM »

C-style interfaces are much more compiler friendly than most of their C++ counterparts.  C++ has all these nasty rules about variable linkage that wreak havoc on the linker.

So while a "C with classes" code base may not get Scott Meyer's endorsement for C++ design of the year, or stand out as a good C++ guide, it is a good tool when combating growing build times.


Let's not mix everything together : the problem with this engine code is more about putting all non-function members of classes in public instead of private, for example the simplest example of bad style.

If we go the way you're saying, I don't see the point in using C++ at all.

I see some inheritance used with public members almost everywhere. Nice use of C++.

Anyway, it's not really important, this code is old anyway. I heard somewhere that Carmack started to really use C++ only recently or something like that but I'm not sure it's true as I didn't see any sources.
Logged

http://www.klaimsden.net | Game : NetRush | Digital Story-Telling Technologies : Art Of Sequence
Netsu
Level 10
*****



View Profile WWW
« Reply #20 on: November 24, 2011, 05:16:09 AM »

I tried to read through the licensing, I see there are some additional points, but it's just too mangled for me.
Can someone tell me whether I can distribute this as binary code linked dynamically to my closed source (and possibly commercial) app? How about the other way around (link my closed source code to this)?
Logged

0rel
Level 4
****



View Profile WWW
« Reply #21 on: November 24, 2011, 06:45:18 AM »

Let's not forget that the engine is still very GOOD! (At least I think I can learn a lot from it, efficient usage of the MD5 format for example...) And that it is cool of id to release it again as an open source project, no matter whether it is GPL or another license... - In a way they are still very independent!!(?)
Logged
rivon
Level 10
*****



View Profile
« Reply #22 on: November 24, 2011, 09:08:27 AM »

I tried to read through the licensing, I see there are some additional points, but it's just too mangled for me.
Can someone tell me whether I can distribute this as binary code linked dynamically to my closed source (and possibly commercial) app? How about the other way around (link my closed source code to this)?
GPL is copyleft license meaning if you use it, you have to distribute your app/library under the same license. No commercial use ofc.
If you want commercial/closed-source you can buy commercial license from id Software...
Logged
Raptor85
Level 2
**

126746725
View Profile WWW Email
« Reply #23 on: November 24, 2011, 11:24:31 AM »

I tried to read through the licensing, I see there are some additional points, but it's just too mangled for me.
Can someone tell me whether I can distribute this as binary code linked dynamically to my closed source (and possibly commercial) app? How about the other way around (link my closed source code to this)?
GPL is copyleft license meaning if you use it, you have to distribute your app/library under the same license. No commercial use ofc.
If you want commercial/closed-source you can buy commercial license from id Software...
It would be more correct to say "derive" from it instead of use it, modules that don't directly link to the GPL code don't need to be opened.  To directly answer his question though, no you cannot dynamicly link to get around the GPL unless it's GPL with linking exception (like many libraries use)

Note that your CONTENT however does not need to fall under GPL, only your derived code of the engine, your dialog, art, sound, maps etc can fall under a different license as long as the code for your version of the engine is available to rebuild, you can still release commercially.  Commerical use of GPL code is actually encouraged.
Logged

cross-platform rapid development game engine
Currently running a kickstarter to fund development of Aether
Vino
Level 3
***


View Profile Email
« Reply #24 on: November 24, 2011, 12:26:52 PM »

honestly I don't think it would really help any indie dev to use the engine source code of this rather than to use a ready-made solution such as unity or any other.

It's just for hobbyist programmers.

I must disagree. It has physics, multiplayer, animation, shaders, scene management, and the 3 major platforms supported OOTB. And it's C++. I'd say that depending on the kind of game a person wants to make it may be a good starting point. For example, the Steel Storm[url] guys use one of the earlier id engines, i'm pretty sure.

But if it's gpl, so much for that idea.
Logged

Raptor85
Level 2
**

126746725
View Profile WWW Email
« Reply #25 on: November 24, 2011, 12:43:24 PM »

indeed, that's a great example acctually since it was recently in the humble bundle, steel storm is darkplaces engine, which is GPL and a super, super heavily modified quake engine. It's also commercial. fun game too. (the full source is in a zip file in your install folder when you install the game).  There's actually been a decent number of sucessful indie games based of the idtech engines.
Logged

cross-platform rapid development game engine
Currently running a kickstarter to fund development of Aether
Netsu
Level 10
*****



View Profile WWW
« Reply #26 on: November 24, 2011, 12:45:03 PM »

It would be more correct to say "derive" from it instead of use it, modules that don't directly link to the GPL code don't need to be opened.  To directly answer his question though, no you cannot dynamicly link to get around the GPL unless it's GPL with linking exception (like many libraries use)

Note that your CONTENT however does not need to fall under GPL, only your derived code of the engine, your dialog, art, sound, maps etc can fall under a different license as long as the code for your version of the engine is available to rebuild, you can still release commercially.  Commerical use of GPL code is actually encouraged.

Thanks, that's the answer I was looking for. This makes multiplayer games less cheat proof, but other than that, I think I won't have a problem with opening the sources providing I don't have to supply any content.

What about code interpreted by the app? Do I have to provide publicly any scripts the game is running?
Logged

Raptor85
Level 2
**

126746725
View Profile WWW Email
« Reply #27 on: November 24, 2011, 01:02:57 PM »

That's a bit more gray area, it really depends on how the scripts are being used. If the scripts are pure content (like a lua script that simply dictates the specific behavior of a character when talked to), then no, but if they're tying to engine functionality and extending what the engine can do. (like a java interpreter that processes all movement/physics/etc code, basicly using it like unrealscript) then yes, as even though it's indirect you're still deriving.  The general purpose of the GPL is that when someone buys your game, they should be able to see how it works and modify it to their liking, or build a new game with it using their own art/content/etc.

Oh, as for cheating, not necessarily true, just follow rule 1 of network gaming, don't trust the client, and an open source client is no less secure than a closed source one. (Just make sure to implement banlists and maybe a little server side aimbot detection, but those you'd need even if closed source Smiley )
Logged

cross-platform rapid development game engine
Currently running a kickstarter to fund development of Aether
Netsu
Level 10
*****



View Profile WWW
« Reply #28 on: November 24, 2011, 01:45:57 PM »

Thanks again Smiley Looking forward to toying around with this tech when I finish the game I'm currently working on, hopefully there will be some resources written by the community by then.
Logged

Pages: 1 [2]
Print
Jump to:  

Theme orange-lt created by panic