The GPL Dilemma (in story form!) Also, please post asset protection links and methods

Please don’t hate me for this >_> please correct any legal inaccuracies, but a lot of things in this story were exaggerated for the purpose of reflecting the nightmares that may or may not possibly be going through a lot of aspiring blender game developer’s minds.

I want the Blender Game Engine dev’s to know we love them very very much, and that they do amazing work.

Also, I want this thread to collect all the current protection methods that legally keep your game non-GPL.

Enjoy!

==================
So you make your first Blender game and say, “Hey! Time to distribute and make some money!” So you pack a standalone, your .blend gets stored inside the .exe, and you start selling. It’s a good game! People start buying it- you can finally afford that pineapple pizza you’ve been lusting over.

However, eventually…

Some guy wises up to the fact that you used blender to make your game- figures out the GPL situation, and decides he likes your game so much, that he wants to replace/mod your files with his own stuff. Mr. Wiseguy is so proud of his new mod, he wants to share it his friends. Wait! That’s your game he just started distributing, how about some payback?

You call up a lawyer, they read the license, and return to you with a grim tone, “I’m sorry, but legally… they can do this. Essentially you were only charging a fee for giving the software out, not the actual software itself. Packing the .blend file in with the executable put you under the GPL license.” Your jaw on the floor, you recieve your lawyer’s bill, and this link:

http://www.blender.org/education-help/faq/gpl-for-artists/#c2130

Well crap, all that work down the drain. You give up game making, move back home and go back to the farm milking cows for a living. On the bright side, your childhood friend grew up to be a buxom blonde and you become real close and eventually marry and live in bliss- for a little while…

You toss and turn night after night, your wife tells you that you sometimes call out in your sleep, “that bastard… I should have separated the dot blend…”

You face up to the fact that game making is still in your blood, and you crack your knuckles over the keyboard again. You’ve become a better programmer and artist over the years, and a little wiser to the legalities of licensing.

You bang out an awesome game. In fact, it blows the old one away. You’re so proud of yourself, you prep it and get ready to distribute it- this time, you separate the .blend. Your character models and animations are -awesome-. The art is so beautiful and the game is so much fun that it becomes an instant hit! Companies are ringing your phone off the hook to buy the right to produce a sequel to your game, you’re in second heaven.

Your old nemesis, Mr. Wiseguy comes back around, and sees this great new game you made. He wises up the the fact that you used blender yet again to make this great game (He probably saw the blender icon in the top left of your game window… you couldn’t recompile and change it, if you did, your icon- your company logo- would become GPL too!). He navigates to your directory to deliciously extract your .blend file from the .exe and do his thing all over again! Ha! It’s a separate blend file! The bastard can’t legally do crap-- er wait… he’s grinning, why’s he grinning? He shouldn’t be grinning D: …

He doubleclicks.

Man that was even easier than last time. Seriously, it’s like you -want- him to steal your crap. He modifies the code, steals some models- actually, it’s not just him this time, everyone who’s even used Blender starts double clicking on this thing. That bright happy orange icon says “LOOK AT ME :D”. Legs spread wide, there it all is, all your hard work. Suddenly all your assets are in countless demo’s, game mods, and stupid walkarounds. Your game is modified so much and redistributed across anonymous communities, no one has a reason to buy your game. Sure, you could chase one or two guys down, but, there’s so many, you just don’t have the funds- and you don’t want to pull an RIAA and accidentally sue some poor granny from who knows where.

Also, you don’t want to remember it, but you think you saw your lead female in a cartoon porn popup somewhere.

You cry yourself to sleep. :\ The next morning you huddle into a little ball, and look into Panda3D. It’s a lot harder than what you’re used to, but, hey it’s Python. You’re amused for a little while, you find that it supports packing all your data into an encrypted file, the licensing is solid, and you can even change your icon on the fly. You smile a little, maybe you’ll be safe with this. Development goes a lot slower, and a lot of the things that were once really easy suddenly take a lot of work. Once in a while you catch yourself unconsciously reaching for the Pkey.

You wipe away a tear.

=============

Also, I want this thread to collect all the current protection methods that legally keep your game non-GPL.

I can think of 5 different methods to protect your game. However, all of them can be broken very easily if you know how they work.

The only “real” way to protect your work, would be to use the BPPlayer.

Haha… funny,

C-106 Delta has done a really good job making the BPPlayer, and it works very well.

Some people say use the Blender.quit() method to protect your dot blend files,
Don’t! its very very very easy to get around.

Edit:
I was also thinking, what if someone bought your game then uploaded it to some torrent site?
How hard would it be to make a security key generator and include a key for each version of your game.
Like each car has its own key, even though people can still steal a car without a key its a lot harder.

I was following some threads on the indie gamer forum some people say use some kind of DRM wrapper
some say don’t.

what are your thoughts on that?

When I read this kind of thread, I’m not sure if I get sad because some people just can’t comprehend the benefits of open sourcing. Or if I get happy because my competitors cannot understand open sourcing :S

When I read this kind of thread, I’m not sure if I get sad because some people just can’t comprehend the benefits of open sourcing. Or if I get happy because my competitors cannot understand open sourcing :S

Both open source and close source have their own advantages and disadvantages. Regardless if your application is open source or close source, people should be given the right to decide for themselves. The “Spirit of Open Source” is worthless if you force users to open their work. Personally, I think it is good habit to release a little open source content here and there, but only if you want to.

The Blender.quit() script link will at least stop casual users from ripping your assets and reduce the number of rip off merchants that are out there.

As far as I can tell, the only thing you need to do to keep your game non-GPL is to not pack the .blend into the .exe. Asset protection is a different matter.
<Edit: Packing the .blend into the .exe does not protect your assets, it is trivial to extract the .blend>

I’ve read about modifying files using a hex editor so they are unloadable. This is not a modification to source code so does not have to be released under GPL.

For commercial projects, I suggest using all the “known” methods and preferably some of your own.

This has been brought up many times, and imo really is why the GE hasn’t been used by a commercial company ( who would then of course help with improving it, the same way the Yo Frankie team and involved coders brought the GE right up to it’s current state ).

I have a feeling that, while a lot more game companies will use Blender 2.5 in-house ( esp with improved Collada for exchanging data ), the GE itself will remain only usable for open-source games and demonstrations.

However, that’s not a bad thing - it’s a great option if you don’t have a huge team and were never going to be making a A ( never mind AAA ) game - however, it would have been fantastic if commercial companies were able to use it without leaving their game open to being modded as soon as it is released ( Bullet, the physics engine being used, has been used in a LOT of both open source and commercial projects, and has benefited hugely as a result - not only in terms of fixes / optimisations being passed back into the code, but also in terms of credibility ).

Is there anything anyone can do to resolve this situation ( get the license changed ) - no ( not realistically - all the previous coders would have to be contacted to agree - if someone isn’t contactable, or isn’t alive still, this then isn’t possible from what I have read in previous arguments ), but I’d love to hear how it would be possible - this seemingly small change would be one major step in giving Blender GE credibility in the commercial games field.

I can remember someone mentioning that it’s impossible to ( imagine this was a reality of course ) for example have a commercial team use Blender GE for a game, and then port to PS3, due to the license. It is however entirely possible to use Bullet physics ( both open-source, but different open source licenses ).

Mal

meh, gtas, quakes, dooms, and valve games are fully moddeable, and even games like the elder scrolls, the sims and simcity give away modding tools for free, almost all the music I listen was ripped from games. In modding communities I have seen that excesive protection and obfuscation is seen as a reason to dislike a game.

Would a mod be kind enough to delete this thread? I did some more in-depth searching, found some mailing lists, etc., and I don’t want this post to linger on as a result. My apologies.

In the end, I’ve decided I’ll focus on learning how to make a good game at the conceptual level, which I can do with Blender. And as an aspiring game maker, probably the most important.

If I wish to use Blender for something commercial, I’ll use Moguri’s hash trick, the BPPlayer, or a simple hex edit. If I have to switch due to legal complications later on, at least I’ll have a track record of actually producing a game of quality, and maybe I can pitch a game and get developers. Making a name for myself is more crucial. Future publisher’s or clients won’t care what engine you use, just that you made something that was intrinsically good.

For designers, BGE is best. ^^

P.S. - It would be nice to have an official page to track the licensing issues either way. A small paragraph on the site could easily become its own page to cover things a lot more elaborately, and update as things change (possibly in 2.5 so I hear).

Well in the case of the second mr wiseguy you could contact your lawyer and sue for distribution of copyrighted material. Your .blends, while not protected, are legally yours and distribution of them is the same as pirating and selling copies of your original game.

Rorkimaru is correct, making content with opensource software doesnt apply the GPL to what you make with it.

That would be like saying source code had to be GPL because it was written in emacs and compiled with GCC. (which is totally not the case)

SO the premis for your concern is not right, you can go to reasonable means to protect yourself from WiseGuys but at the end of the day if people really wants to crack a game, they will.
Using blender doesn’t somehow give you less ownership of your game.

This is so true. Look at all the games released lately by big companies. Most of them have been hacked to death.

Even directx 8.1 was hacked (or 9, maybe more). Someone created a program that basically took a screengrab of all the data currently active in the gpu and converted it to a 3ds max file so you could take the textures, models and so on easily from any DX game.

You can go to extreem lengths to try and protect your assets but every effort is futile if the hacker has enough desire. A simple deterant like the autoquit script or better yet blendplayer is all you need

No, I don’t want to delete this thread. It’s a good overview of the issues. Deleting is only for spam and inflammatory materials.