GNU GPL - Can I Hide the "Secret Recipe" Behind My Blender-Made Games?

I’m not trying to be greedy.
Just that it’d be helpful to make money on the side.

Is there a way to make a game with Blender,
and sell it,
AND hide how I made it?
(I’ll obviously give credit to Blender and tutorialists)

Because,
I think I have to provide the .blend file with the game I sell.
But then people can (more easily) steal my game idea, make new levels for free, etc.

What’s the reason Blender.org wants us to separate .blend files from .exe blenderplayers?
(So that I don’t use a workaround that goes against what Blender.org intended.)

Do I have to show my python code???

An answer in “plain-English” would be appreciated,
Thanks,
sdhy.

P.S. I’ll figure out my business-plan once I know if it’s worth it to try.

If you do a shitty game nobody is going to steal anything from it. If your game successes than nothing will stop anyone to steal from it.

In fact, making it exe means putting the whole game under GPL so they will be legally athorized to steal anything from it. (And doing an .exe to .blend conversion is easy).

Actually no matter how you distribuite it, they can still steal from it, that’s why it’s called “stealing”, all you should care is to make sure you don’t give them a license to do it legally.

As for the python files you can compile them, it will make it harder to see and modify the code, but of course “decompilers” exists. In the same way you can try encripting the whole game, but again it can be decrypted (and since you’ll need to decompile it at running time and BGE is open source it won’t be hard to decrypt the files).

So if you want to make sure you don’t get stolen, contract a good lawyer, if you only want to make money then just go ahead and may God have mercy on your soul.

However as a piece of advice, there are uncountable Skyrim mods, GTA mods, Minecraft mods… making your game succesful without getting stolen is impossible, it all reduces to “If you have not been stolen yet, is becouse your game isn’t succesful enough”.

So forget about hiding anything, it’s not going to work, nor in BGE nor in any software you ever make. Once it’s on the client side, you can’t control it anymore.

Hmm… Okay. Thanks for the reply, elmeunick9.

What did you mean by they will be legally authorized to steal anything from it?

And I guess I should look for practical barriers to theft
(to make stealing a little less worth it)
while focusing on a game that most people will pay for
perhaps with low affordable pricing.
And sell what I can.

I might rephrase/edit my question.

Thanks.

this is an interesting question to ask, and since I´m planning to create a bigger game in BGE as well, I´m looking forward to hear what you can find out about GPL. Sadly I don´t know anything about the topic, but it seems to be quite a problem. Though there are some games that were sold, which were made in BGE. Maybe someone like “haidme” could tell a bit about his experience.

Use bpplayer and store assets in .block files
These are protected by copyright

Bge api is gpl
If you import it, your code is GPL

We all give away mountains of code and people don’t now how or care to use it.

Chances are if you are smart enough to understand what I am doing, you could probably implement it yourself, redesigned for your own needs.

Games are like science, and science works best if we share in our discovery.

1 Like

Yeah… :smiley: going against what gave you the chance, just makes it statistically more probable to fail :eyebrowlift:.

But then people can (more easily) steal my game idea

If I wanted to “steal” your game idea, I’d look at your game, not your code (which is probably terrible anyway). You might be able to sue me for plagiarism, but it’s probably not going to be worth it.

Now let’s imagine you really made the questionable decision of making a game in the BGE: If you don’t distribute your code as GPL-compatible, you will be violating the GPL license. Any of the BGE copyright holders (i.e. its authors) could sue you for everything you have (i.e. next to nothing). Probably not worth it, either.

However, you still hold all the copyright, whether you license GPL-compatible or not. Your code does not automatically become GPL either (this is a common misconception).

GPL-compatible in essence means you need license your code so that anybody can read, re-use, modify and give it away themselves. You are not allowed to “hide” it, no matter how embarrassing it is. Your code on its own is almost certainly useless, though. You can disallow copying of your non-code game assets, for instance.

make new levels for free, etc.

If you are so successful that people will literally make new levels for free, you should embrace it. Try getting that far first, then worry about it.

I strongly recommend you read about why the GPL exists. It is actually a very neat hack of the copyright system, and it has enabled projects like blender to exist at all (by blocking companies or individuals donating code from being allowed to block access).

GPL: The user must be able to have access to the source code for your game. In the case of BGE, this is any python code that has ‘import bge’ (GPL is actually a very neat hack of the copyright system), but does not include blend files.

Files under GPL can be sold. However, you cannot sue people who modify them, and you cannot legally stop people selling their versions. Likewise, you cannot stop people distributing a copy without paying you either.
HOWEVER. Because the blend files are not covered by GPL, you can still sue/claim infringement for your game. In essence, the protectable part of your game is the blend files, the python and exe is free/shareware.

What elmeunick9 was talking about was about culture.
There is nothing stopping you going into your next-door neighbours house and stealing from it. Well, the police may catch you, but it is mostly cultural norms that prevent you from doing so.
In theory it should be the same with software, and it is slowly heading that way. People should not pirate software because it is wrong, not because it is impossible to do so. There’s a nice saying:
“Without a cultural shift, a military victory will not hold”
In other words, forcing people to not steal something will not prevent them from doing so - they’ll find loopholes and workarounds. But if you can convince people not to steal, then they won’t.

In a game that I play, the source code is available on line. You’d expect hacking/cheating to be a big problem, but it’s not. Cheating is so frowned upon in the community (not by threat of ban either, just by loss of respect) that people simply don’t do it.

As BPR said, anyone with the skills required to reverse engineer your game could easily make their own.
It’s probably just the art assets that you’re looking to protect, as these can have a substantial monetary value all on their own (see sites like turbosquid where individual models can be slld for hundreds of dollars).

I wrote a tutorial here;

About how to prepare your blend files and art assets to be streamed to the BGE from a remote source.
This way your assets would only exist on the player’s computer while they are playing and be lost as soon as the game exits.
The game itself would only consist of a launcher and the python code for your project (required).

The downside here is that the player would need to go online to play. This would probably put off most potential players,unless your game was super good.

If you’re interested in this type of setup though you might want to try blend4web, a related game engine which makes embedded games for the web.

Yes, you can even sell Blender. The GPL does not prohibit that.

Make it so complicated that nobody except you understand it (see obfuscating).

The licence on the Blenderplayer is GPL, you are not allow to change it.
The licence on the blend is whatever you want. You could even create a licence that does not allow to look at the blend (regardless if it is technically possible or not).

You “idea” is already published then. A blend is not needed. Your customers will already see the “idea”.
New levels are not your work. So it is not yours. The assets of your blend are your work. You legally protect them via your licence. Unfortunately there is no good technical protection.

When you bind your blend to the blenderplayer into a new application, the complete application has to be published under GPL. The idea of GPL is that anyone can recreate the same application from the sources. This way anyone can use and develop it. The blend file is part of the sources as the application (your game) can’t be recreated without it. This makes your blend file published under GPL too, with all the rights and limits of the GPL.

When your blend files are external, they are no sources but data. This means the application (the game) can be build without the blend. The user can create the application files without your blend files (as they are not part of the application). As your blend file is not part of the sources you can publish them with any licence you like.

When it is part of the application. There are opinions that say they become GPL as soon as they are running in the blenderplayer due to shared memory, but I disagree with that opinion (I think that would make windows GPL as well ;)).

the FFS says importing a GPL lib into a py script, makes that script GPL*