QuakeII Indie Platform
by Prairie Games · in General Discussion · 03/15/2003 (5:10 am) · 98 replies
I have spent the last couple days reviewing Quake II again... in the context of an indie game project I may be launching...
I don't think Q2 is a very good fit for my retail interests... but for my indie development it could very well be...
Things I like about Q2:
1) The codebase is reasonably small, it's division lines are clear.. I can reasonably expect to refactor the code... the code has been bullet tested across many projects
2) Q2 has a small and streamlined art/code pipeline without tons of confusion for supporting "AAA" art content, which I don't have resources to produce anyway
3) The most lacking part of Quake2 for this project is skeletal animation which is trivial to add via Cal3d... this has 3dsmax and Milkshape exporters
4) It performs *incredibly* well on modern hardware, and will give people with older gear a smooth/enjoyable experience
5) It's networking was designed pre-broadband... again efficiency.. fully supports cooperative play
6) GPL means I can host a CVS with no worries.. allowing me to use Open Source development methodology... I view this as *extremely* important
7) Q2 is $10k for closed source use which I find reasonable... in a pinch, I can GPL the codebase and still sell the game for $$$.. GPL doesn't mean noncommercial, get it straight already :)
8) The platforms, doors, triggers, destructible brushes, etc are still very cool... has some excellect premade/editable game functionality
9) If I want to go lowend/avoid *all* hardware issues, it has a software renderer ...
10) I am *very* familiar with the q2 tools source code, and the engine I have found to be readily digestible
-J
I don't think Q2 is a very good fit for my retail interests... but for my indie development it could very well be...
Things I like about Q2:
1) The codebase is reasonably small, it's division lines are clear.. I can reasonably expect to refactor the code... the code has been bullet tested across many projects
2) Q2 has a small and streamlined art/code pipeline without tons of confusion for supporting "AAA" art content, which I don't have resources to produce anyway
3) The most lacking part of Quake2 for this project is skeletal animation which is trivial to add via Cal3d... this has 3dsmax and Milkshape exporters
4) It performs *incredibly* well on modern hardware, and will give people with older gear a smooth/enjoyable experience
5) It's networking was designed pre-broadband... again efficiency.. fully supports cooperative play
6) GPL means I can host a CVS with no worries.. allowing me to use Open Source development methodology... I view this as *extremely* important
7) Q2 is $10k for closed source use which I find reasonable... in a pinch, I can GPL the codebase and still sell the game for $$$.. GPL doesn't mean noncommercial, get it straight already :)
8) The platforms, doors, triggers, destructible brushes, etc are still very cool... has some excellect premade/editable game functionality
9) If I want to go lowend/avoid *all* hardware issues, it has a software renderer ...
10) I am *very* familiar with the q2 tools source code, and the engine I have found to be readily digestible
-J
#3
03/15/2003 (8:12 am)
I agree, the Quake 2 source base is an EXCELLENT indie platform. =)
#4
Of course, Quake2 is a great game. The only thing I find limiting is the reliance on BSP rendering, which makes big open areas problematic, but with speedier machines that isn't as big a problem nowadays.
03/15/2003 (8:33 am)
Of course you would say that Brian :)Of course, Quake2 is a great game. The only thing I find limiting is the reliance on BSP rendering, which makes big open areas problematic, but with speedier machines that isn't as big a problem nowadays.
#5
I know that you can sell GPL code for as much as you want. But for a commercial indie game, relying on the fact that you can sell GPL code seems very risky to me. Essentially with the GPL you cannot protect yourself against "piracy", in fact you actively encourage it. It seems hard enough to make money as an indie already; don't need a GPL monkey wrench thrown in.
Plus, with a GPL multiplayer game, extra cheating issues creep in.
Are there any commerical games available now that use the GPL Q2 engine?
Not trying to start another licensing flamewar, just voicing my concerns about it. Maybe I'm wrong.
Edit: clarifed multiplayer line.
03/15/2003 (8:37 am)
$10K is well beyond the means of most indies. This is where the torque license shines ($100 up front, then $10k if and only if your revenues exceed $500k)I know that you can sell GPL code for as much as you want. But for a commercial indie game, relying on the fact that you can sell GPL code seems very risky to me. Essentially with the GPL you cannot protect yourself against "piracy", in fact you actively encourage it. It seems hard enough to make money as an indie already; don't need a GPL monkey wrench thrown in.
Plus, with a GPL multiplayer game, extra cheating issues creep in.
Are there any commerical games available now that use the GPL Q2 engine?
Not trying to start another licensing flamewar, just voicing my concerns about it. Maybe I'm wrong.
Edit: clarifed multiplayer line.
#7
03/15/2003 (9:12 am)
Bradley: it's not the fact that QII is Multiplayer but that's it's GPL and the source would be very easy to get your hands on if you wanted to cheat/hack/script it.
#8
Your content does not need to fall under the GPL license. Again, GPL does not mean noncommercial, it doesn't mean communism, it doesn't mean giving away your work for free.
Multiplayer hacks and cheats... hm... doesn't matter for a single player game, or one that doesn't get off the starting line.
If your game isn't worth the $10k to close the source, it probably isn't worth worrying about having it open. In this case, the engine is FREE.
-J
03/15/2003 (9:13 am)
Quote:Essentially with the GPL you cannot protect yourself against "piracy", in fact you actively encourage it.What? Encourage piracy? Huh?
Your content does not need to fall under the GPL license. Again, GPL does not mean noncommercial, it doesn't mean communism, it doesn't mean giving away your work for free.
Multiplayer hacks and cheats... hm... doesn't matter for a single player game, or one that doesn't get off the starting line.
If your game isn't worth the $10k to close the source, it probably isn't worth worrying about having it open. In this case, the engine is FREE.
-J
#9
Yes you can make it illegal to redistribute the content. It will still get distributed. In torque engine games, the content is somewhat protected by ignition in the binary. You couldn't use ignition with a GPL binary, so your game has no copy protection.
For your second point, how will I know what my game is worth, until I start selling it? I have to pick GPL or 10k for the initial release. If I pick the GPL, I can change it later if I hold the copyright, but at that point it might be too late.
03/15/2003 (9:43 am)
@JoshuaYes you can make it illegal to redistribute the content. It will still get distributed. In torque engine games, the content is somewhat protected by ignition in the binary. You couldn't use ignition with a GPL binary, so your game has no copy protection.
For your second point, how will I know what my game is worth, until I start selling it? I have to pick GPL or 10k for the initial release. If I pick the GPL, I can change it later if I hold the copyright, but at that point it might be too late.
#10
Yes, multiplayer hacks don't matter for single player or games that don't see the light of day. However, some teams will release a single player game then add multiplayer later.
03/15/2003 (9:47 am)
@JoshuaYes, multiplayer hacks don't matter for single player or games that don't see the light of day. However, some teams will release a single player game then add multiplayer later.
#11
03/15/2003 (10:02 am)
I was under the impression that you couldn't sell a game with the Quake 2 source code, even if you included the source. For that you need a seperate license with id Software.. at least I think so...
#12
The GPL is the GPL... id Software didn't use some kind of "id Software GPL" ...
GPL is *not* my favorite Open Source license, but that is neither here nor there...
I am not going to debate Torque in this thread, I'll leave that up to the people who "know".
-J
03/15/2003 (10:10 am)
Robert,The GPL is the GPL... id Software didn't use some kind of "id Software GPL" ...
GPL is *not* my favorite Open Source license, but that is neither here nor there...
I am not going to debate Torque in this thread, I'll leave that up to the people who "know".
-J
#13
To answer the question -- Quake 2 happens to be a GPLed game that still seems to sell reasonably well. The fact of the matter is that unless you're differentiating on technology, whether your code is available is not an issue to the market except for a few limited instances*.
For most indies, technology isn't going to be the difference between their game and another, it's going to be design and content. This obviously is self-evident if using someone else's technology.
Content, however, CAN can be copyrighted with a GPL code base.
Indie developers, for whatever reason, worry far too much about being ripped off than is generally warranted. If you're targeting the hardcore gamer crowd, you will be ripped off no matter what you try to do to stop it. If you are targeting the value or casual markets, you probably won't be ripped off at all. Everyone hears about file sharing and ISO warez sites, but the people that use them are so far in the minority that it's not even statistically significant.
That said, there are numerous places the Q2 code base can and should be cleaned up, which is something I'm actively doing. www.q2x.org for more information.
The most glaring deficiencies are lack of a skeletal renderer and inability to render large open areas. Unfortunately these are not priorities for Q2X.
-Hook
* The one area GPL hurts is when you're trying to do network encryption for an on-line game. But even in that instance, I _think_ (and I could be entirely wrong here), that if you break out your code independently of the actual GPL code and simply call into it, that you're okay. I can't imagine this not being the case, because that would mean that you couldn't write GPL OpenGL code without distributing source to the OpenGL driver, which I find doubtful.
So what I would do is have the packet encryption/decryption routines in a separate DLL that is kept closed source, as long as it is not based on GPL code (obviously).
03/15/2003 (10:12 am)
I think any concerns about Q2's license are unfounded. Programmers, overall, worry WAY too much about their code being particularly special.To answer the question -- Quake 2 happens to be a GPLed game that still seems to sell reasonably well. The fact of the matter is that unless you're differentiating on technology, whether your code is available is not an issue to the market except for a few limited instances*.
For most indies, technology isn't going to be the difference between their game and another, it's going to be design and content. This obviously is self-evident if using someone else's technology.
Content, however, CAN can be copyrighted with a GPL code base.
Indie developers, for whatever reason, worry far too much about being ripped off than is generally warranted. If you're targeting the hardcore gamer crowd, you will be ripped off no matter what you try to do to stop it. If you are targeting the value or casual markets, you probably won't be ripped off at all. Everyone hears about file sharing and ISO warez sites, but the people that use them are so far in the minority that it's not even statistically significant.
That said, there are numerous places the Q2 code base can and should be cleaned up, which is something I'm actively doing. www.q2x.org for more information.
The most glaring deficiencies are lack of a skeletal renderer and inability to render large open areas. Unfortunately these are not priorities for Q2X.
-Hook
* The one area GPL hurts is when you're trying to do network encryption for an on-line game. But even in that instance, I _think_ (and I could be entirely wrong here), that if you break out your code independently of the actual GPL code and simply call into it, that you're okay. I can't imagine this not being the case, because that would mean that you couldn't write GPL OpenGL code without distributing source to the OpenGL driver, which I find doubtful.
So what I would do is have the packet encryption/decryption routines in a separate DLL that is kept closed source, as long as it is not based on GPL code (obviously).
#14
If your hypothetical case, I think you'd either have to GPL the network lib or LGPL everything else in the engine for others to modify it.
Of course, you're free to violate GPL and break out network code in your _own_ engine, since your're also the copyright holder and most people are probably not going to sue themselves.
03/15/2003 (11:13 am)
Brian, Operating system components (including device drivers such as OpenGL drivers) have a special exemption to the GPL, specifically to avoid the linking issue you describe.If your hypothetical case, I think you'd either have to GPL the network lib or LGPL everything else in the engine for others to modify it.
Of course, you're free to violate GPL and break out network code in your _own_ engine, since your're also the copyright holder and most people are probably not going to sue themselves.
#15
03/15/2003 (11:17 am)
The resources available for quake2 are very comprehensive.
#16
You are correct it seems.
http://www.gnu.org/licenses/gpl-faq.html#WritingFSWithNFLibs
So basically it seems that if you do write additional stuff and link it in separately as a third party library, and so long as that library is not itself using GPL'ed code, then you're good to go.
Therefore selectively shrouding _new_ source code is completely valid.
-Hook
03/15/2003 (11:25 am)
MarkM,You are correct it seems.
http://www.gnu.org/licenses/gpl-faq.html#WritingFSWithNFLibs
So basically it seems that if you do write additional stuff and link it in separately as a third party library, and so long as that library is not itself using GPL'ed code, then you're good to go.
Therefore selectively shrouding _new_ source code is completely valid.
-Hook
#17
You may be right that concerns about the GPL for indie games are unfounded. But, they still exist, and many people have them. The only way to make them go away is proof that they are not true. The proof I would need to see is a few successful indie game developers that use GPL source.
I'm a risk-averse person, just getting starting with indie game development is enough risk for me. With torque, I can pay a small price and forget about the GPL issues entirely.
03/15/2003 (11:49 am)
@BrianYou may be right that concerns about the GPL for indie games are unfounded. But, they still exist, and many people have them. The only way to make them go away is proof that they are not true. The proof I would need to see is a few successful indie game developers that use GPL source.
I'm a risk-averse person, just getting starting with indie game development is enough risk for me. With torque, I can pay a small price and forget about the GPL issues entirely.
#18
-brad
03/15/2003 (12:14 pm)
how does having the source code available make it easier to cheat? As long as it was programmed correctly to begin with, exposing your encryption techniques to the world should mean nothing. If you are relying on 'security through obscurity', you underestimate the tenacity of bored olds. And if you are relying on storing a static key and having it found out if you give out the source, you're an idiot and deserve to be beaten by a very mature and evolved encryption technique community. A determined person, if he/she cannot obtain the means to read the network stream by figuring out your 'ubersecret technique' will simply read/alter the memory after you've done it yourself. Source or not. There are ways to prevent this, but keeping the source secret/safe is not one of them.-brad
#19
No matter how many games were to ship based on GPL, you'd still have those concerns because there is no way to logically prove a negative.
What you CAN do is an existence proof -- if a single game that is based on open source code can sell well, then it is proven that it's possible. Quake 2 is that proof.
The Nebula Device is an open source game framework used by Radon Labs for their stuff, and they manage to sell and publish games as well (their license isn't GPL, but the issue here isn't GPL as much as it is open source). Nomads and Radon's other products are further proof that open source really isn't a liability at all.
I understand your point of view, but basically I believe that attitude is held by a lot of people as a result of feeling that somehow the code we write is mystically insightful and valuable. It's not.
The value in a game -- unless it's purely a technology oriented game -- is in the content and design. I think that's pretty obvious when you look at the top selling games of all time such as Myst, RC Tycoon, and The Sims.
Even so, let's look at this from the most cynical pessimistic way possible. You write a game using the Q2 source base and release it. Ostensibly a big chunk of your effort went straight into the content.
Now what?
Well, you have to worry about pirates. Are you saying that the game is now easier to pirate because people can find the source code? Of course not, because the content itself has to be pirated. If they pirate the content then they can get the binaries trivially as well.
Then you can say "But I want copy protection in my binary, and with open source it can be removed!" Which is true, but how valuable, really, is non-trivial copy protection?
ANY copy protection can be cracked. You can use CloneCD to backup SafeDisc protected CDs, and there are plenty of CD-keys, reg codes, etc. floating around the net that lack of source code will not prove to be a tangible barrier, AT ALL, to getting your game for free.
If your game is worth paying for, it will be warezed. That's an immutable law of the industry. So warezing is a "good problem to have", because it means people actually care about your product.
So if that's a concern, I think it's highly misplaced. If someone is going to crack your game, they're going to do it with or without source. Giving them source might make it easier, but we're talking a time difference of a few days or weeks -- in the long run, it's basically the same amount of time.
The only way to authoritatively defeat piracy is to have a central authenticator, and if you have that -- well, source code to the client won't make a bit of difference because the authentication is done on the server.
I just don't see any plausible general situation where open source game clients would be a significant detriment. There are horror stories, but they are generally based on unfounded fears, exceptional circumstances and unrealistic expectations about one's own software.
Don't get me wrong, if spending $100 gives you a safety blanket psychologically, then go for it. But I just don't feel it makes any difference at all in the market place unless you're competing on tech, and if you are -- you wouldn't be licensing someone else's engine.
If you're in the casual games market -- value games, puzzle games, etc. -- then whether your game is cracked or open source makes ZERO difference to the consumer. If you're targeting the hardcore market, it makes a bigger difference, but then again -- it's going to get warezed in that market no matter what, assuming it's worth it. If it's not, you have bigger problems.
So the $100 spent on Torque so that you can release a game "closed source" is pretty much there for psychological reasons only. If you're paying for Torque, it's hopefully for all the other aspects of Torque that are good, not the tertiary "it's not open source" reason.
-Hook
03/15/2003 (12:23 pm)
John,No matter how many games were to ship based on GPL, you'd still have those concerns because there is no way to logically prove a negative.
What you CAN do is an existence proof -- if a single game that is based on open source code can sell well, then it is proven that it's possible. Quake 2 is that proof.
The Nebula Device is an open source game framework used by Radon Labs for their stuff, and they manage to sell and publish games as well (their license isn't GPL, but the issue here isn't GPL as much as it is open source). Nomads and Radon's other products are further proof that open source really isn't a liability at all.
I understand your point of view, but basically I believe that attitude is held by a lot of people as a result of feeling that somehow the code we write is mystically insightful and valuable. It's not.
The value in a game -- unless it's purely a technology oriented game -- is in the content and design. I think that's pretty obvious when you look at the top selling games of all time such as Myst, RC Tycoon, and The Sims.
Even so, let's look at this from the most cynical pessimistic way possible. You write a game using the Q2 source base and release it. Ostensibly a big chunk of your effort went straight into the content.
Now what?
Well, you have to worry about pirates. Are you saying that the game is now easier to pirate because people can find the source code? Of course not, because the content itself has to be pirated. If they pirate the content then they can get the binaries trivially as well.
Then you can say "But I want copy protection in my binary, and with open source it can be removed!" Which is true, but how valuable, really, is non-trivial copy protection?
ANY copy protection can be cracked. You can use CloneCD to backup SafeDisc protected CDs, and there are plenty of CD-keys, reg codes, etc. floating around the net that lack of source code will not prove to be a tangible barrier, AT ALL, to getting your game for free.
If your game is worth paying for, it will be warezed. That's an immutable law of the industry. So warezing is a "good problem to have", because it means people actually care about your product.
So if that's a concern, I think it's highly misplaced. If someone is going to crack your game, they're going to do it with or without source. Giving them source might make it easier, but we're talking a time difference of a few days or weeks -- in the long run, it's basically the same amount of time.
The only way to authoritatively defeat piracy is to have a central authenticator, and if you have that -- well, source code to the client won't make a bit of difference because the authentication is done on the server.
I just don't see any plausible general situation where open source game clients would be a significant detriment. There are horror stories, but they are generally based on unfounded fears, exceptional circumstances and unrealistic expectations about one's own software.
Don't get me wrong, if spending $100 gives you a safety blanket psychologically, then go for it. But I just don't feel it makes any difference at all in the market place unless you're competing on tech, and if you are -- you wouldn't be licensing someone else's engine.
If you're in the casual games market -- value games, puzzle games, etc. -- then whether your game is cracked or open source makes ZERO difference to the consumer. If you're targeting the hardcore market, it makes a bigger difference, but then again -- it's going to get warezed in that market no matter what, assuming it's worth it. If it's not, you have bigger problems.
So the $100 spent on Torque so that you can release a game "closed source" is pretty much there for psychological reasons only. If you're paying for Torque, it's hopefully for all the other aspects of Torque that are good, not the tertiary "it's not open source" reason.
-Hook
#20
1. When using the GPL, anything linked to it statically or dynamically becomes GPL. The LGPL allows dynamically linked code to be used without forcing a license on it. Both licenses force their license on statically linked code.
2. Selling a game that uses GPL code would basically be selling all of your code with the GPLed binary packaged with it. You are allowed to charge for packaging and this way it just so happens the only way to get the binary is through this package where you also have to buy these other files. Now as to source code. You do not have to stick it on a website or ftp. Not everyone has to have your sourcecode. If someone has the binary you have to give them source code. Now this means that the source code is also only available through this packaged art and files you have to buy. You could probably leave it out of there but you would have to send the source code to anyone who requested it.. if they had a binary (packaging it means you know they have the binary and you know they supported your game so they get the reward of source code :) ) One thing to understand about this is they also get the right to distribute your source code and your binary freely. They could even put it on an ftp for download if they wanted too. But they CAN NOT distribute the other content they paid for that they dowloaded. If so that is warez.
3. Everyone in the world is not a programmer. Who will be interested that this game is opensource and under the GPL? modders. Who will love you because your game allows them to make any modification they want? modders.
4. You can put copy protection into your binary. Now you may say "Hey they will just remove it." Again. Not everyone in the world is a programmer. The ones who can remove it or want it removed could have easily went to a warez site and redownloaded a cracked exe for your closed source game. Like was said before... you just make it easier for them to crack, and these people do it for the challenge.. its possible they wont even crack it cause its so easy, not likely, but possible.
5. Cheating in multiplayer is inevitable. People find many ways to cheat. This is why its important to join a good server with an admin that will kick or ban them. It would help if your game is designed so that most of the "secure" action takes place on the server so client mods can't cause a lot of problems. Multiplayer is only a small pie... There are lots of single player games you can make. if you are making a MMORPG Id probably stay away from GPL anyway cause youd have to keep releasing source each time you patched the game.
The negatives reviewed: Ok, so we dont have to worry about people stealing our game (any more so than usual). We don't have to worry about cheating much more than usually because cheating happens you just help them to not have to reverse engineer your code.
The posititves reviewed: Free engine. Free help through a community project setup around the engine. Modders have an easier time with your game.. which means the life of your game just grew by a lot. (look at halflife... it is mods)
Are there any other fears of this?
-Tim aka Spock
03/15/2003 (12:55 pm)
This has already been hit on but I wanted to throw my 2 cents in as well since I have sold a GPLed game.1. When using the GPL, anything linked to it statically or dynamically becomes GPL. The LGPL allows dynamically linked code to be used without forcing a license on it. Both licenses force their license on statically linked code.
2. Selling a game that uses GPL code would basically be selling all of your code with the GPLed binary packaged with it. You are allowed to charge for packaging and this way it just so happens the only way to get the binary is through this package where you also have to buy these other files. Now as to source code. You do not have to stick it on a website or ftp. Not everyone has to have your sourcecode. If someone has the binary you have to give them source code. Now this means that the source code is also only available through this packaged art and files you have to buy. You could probably leave it out of there but you would have to send the source code to anyone who requested it.. if they had a binary (packaging it means you know they have the binary and you know they supported your game so they get the reward of source code :) ) One thing to understand about this is they also get the right to distribute your source code and your binary freely. They could even put it on an ftp for download if they wanted too. But they CAN NOT distribute the other content they paid for that they dowloaded. If so that is warez.
3. Everyone in the world is not a programmer. Who will be interested that this game is opensource and under the GPL? modders. Who will love you because your game allows them to make any modification they want? modders.
4. You can put copy protection into your binary. Now you may say "Hey they will just remove it." Again. Not everyone in the world is a programmer. The ones who can remove it or want it removed could have easily went to a warez site and redownloaded a cracked exe for your closed source game. Like was said before... you just make it easier for them to crack, and these people do it for the challenge.. its possible they wont even crack it cause its so easy, not likely, but possible.
5. Cheating in multiplayer is inevitable. People find many ways to cheat. This is why its important to join a good server with an admin that will kick or ban them. It would help if your game is designed so that most of the "secure" action takes place on the server so client mods can't cause a lot of problems. Multiplayer is only a small pie... There are lots of single player games you can make. if you are making a MMORPG Id probably stay away from GPL anyway cause youd have to keep releasing source each time you patched the game.
The negatives reviewed: Ok, so we dont have to worry about people stealing our game (any more so than usual). We don't have to worry about cheating much more than usually because cheating happens you just help them to not have to reverse engineer your code.
The posititves reviewed: Free engine. Free help through a community project setup around the engine. Modders have an easier time with your game.. which means the life of your game just grew by a lot. (look at halflife... it is mods)
Are there any other fears of this?
-Tim aka Spock
Torque 3D Owner Phil Carlisle
I agree, for a specific type of game, Q2 is absolutely knockout.
I just prefer C++ to be honest.
Phil.