|
Nix
|
 |
« Reply #15 on: November 23, 2011, 05:15:19 PM » |
|
Then don't use it. There are plenty of free tools available
|
|
|
|
|
Logged
|
|
|
|
|
boblan
|
 |
« 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_
|
 |
« 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
|
 |
« 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
|
 |
« 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
|
|
|
|
|
Netsu
|
 |
« 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
|
 |
« 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
|
 |
« 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
|
 |
« 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
|
|
|
|
|
Vino
|
 |
« 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
|
 |
« 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
|
|
|
|
|
Netsu
|
 |
« 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
|
 |
« 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  )
|
|
|
|
|
Logged
|
|
|
|
|
Netsu
|
 |
« Reply #28 on: November 24, 2011, 01:45:57 PM » |
|
Thanks again  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
|
|
|
|
|