Advertisement

You're blocking ads, which pay for BlenderNation. Read about other ways to support us.

Make Your Game Run on Any Platform

17

boardgirl.jpgBlender can create stand-alone versions of Game Engine content but it can only create a version for that platform that you work on. Enter blenderStarter, a clever script created by Jan Albartus that separates the Stand Alone executable from the game data.

The script has already been updated for Blender 2.42 so you're good to go.

An additional advantage of this method is that your pubished games are no longer forced to be licenced under the GPL, because they are no longer linked to the GPL-ed Blender software.

Jan Writes:

So I can make games without having to worry about the GPL, right?

That is correct, games are program output and therefore not covered by the GPL. The Blender team is committed to making sure that Blender can be used for both GPL and non-GPL games without any license conflicts. With stand-alone games however, any data that is included inside the actual stand-alone executable is covered by the GPL, if this is a problem then you should set up the stand-alone player so it reads from external .blend files. see Blender FAQ

About the Author

Avatar image for Bart Veldhuizen
Bart Veldhuizen

I have a LONG history with Blender - I wrote some of the earliest Blender tutorials, worked for Not a Number and helped run the crowdfunding campaign that open sourced Blender (the first one on the internet!). I founded BlenderNation in 2006 and have been editing it every single day since then ;-) I also run the Blender Artists forum and I'm Head of Community at Sketchfab.

17 Comments

  1. It's a clever idea, but there could be other concerns about "run games everywhere", even on the same platform..
    since 2.33 i can't anymore model/run any game in blender on my notebook, probably due to a poor video chipset (SIS, drivers updated) , because it crashes the app.. i know that ati cards (maybe others manufacturers too) also have some sort of compatibility issues, so i think there are other problems about "game portability", although i'm sure they will be solved in future.. probably with a new notebook! ;-D

    cheers! Marco

  2. Hi, Im a newbie here (using Blender for about 4 months), I have concerns with this part of the post "any data that is included inside the actual stand-alone executable is covered by the GPL," --- only one question: If I use a GPL program (like Blender) Im forced to give away the resultant job... what if I used it to create an animation for a client, and he dont want me to "open sourced" the final job?

  3. Jul, you don't need to worry about that, the GPL only covers the source code itself, which means anything that you output using Blender (models, images, animations, etc.) is owned by you and you are free to do what you want with it. What is not allowed by the GPL is if you change the blender source code without also releasing your changes to the public.

  4. Yeah, the problem this is meant to solve is that when you output a gamefile from blender, it attaches your data to the executable code from blender. It's convenient, but this means you'd be infringing the copyright on blender if you tried to release the whole blob under your own license.
    This program splits the two chunks back out so you can have the GPL'ed blender (which belongs to the Blender Foundation) separate from your game data (which belongs to you.)

  5. so, does having the game data in a separate .blend destroy the inherit copy protection (with regard to game content, not dissemination of the game itself) that a .exe afforded?

    couldn't someone just open the .blend that comes with the game to steal the assets?

    i do not and have never made games, so this is purely curiosity.

  6. I still don't fully understand what is "blender executable" especially on Mac platform. When you save the run time, it makes an application. However, on Mac applications are special folders that contain lots of files including icons, help files, etc, etc. there is only one "executable" file in there, as I understand for blender games in the /contents/MacOS/ folder. The rest are not executable, right? There is a .blend file in another folder in there. but it's just a .blend file, nothing more nothing less, and blend files are not executables. So, is it GPL or not?

    I understand that only the contents/MacOS folder is covered with GPL. but maybe I'm wrong. Can anyone make sense of this legalese

  7. Well, I don't know Macs very well, but under Windows, the trouble is that it's all shipped together as a single unit (the .exe file) which for all legal intents and purposes is like sending your friends your latest annoying powerpoint slideshow on a cd along with a whole copy of Microsoft Office. The GPL makes exceptions that allow you to redistribute copyrighted software under it as long as you follow the (fairly small) requirements. One of those is that you must keep object code covered under the GPL separate from non-GPL stuff.

    If the application folder is compressed as a single object, it /may/ cross the line to being a 'derivative work', and thus in violation of the GPL, but I think you're probably in the clear. If you're really in doubt and need to know, you could always just email the Free Software Foundation, and they'll sort it out for you. They are the experts on the subject.

  8. what's all the confusion for? - Basicly, any blend file that you create in blender is automaticly licenced under the BAL (Blender Artistic License) which just means that you get the copyright for the .blend that you produce and AFAIK the content of the .blend aswell (you can read about the BAL at http://www.blender.org somewhere I think) - however, this is fine for ordinary files, but to play a game contained in a .blend file you have to have blender itself installed and running on your system. As you have probably gathered, this isn't much good if you want to distribute your games since it means that you have to distribute a whole copy of blender with each one to make them playable. Luckily, the programmers of blender thought of this and they included an option to save a game as a runtime (in the file menu), unfortunately, this means that your games will only run on the platform they were compiled for - unless you run all the different platforms you want them to be available for yourself; but this isn't the only problem, because, what really happens when you compile a game in blender is that blender just takes your blend file and appends it onto the end of an executable (the blenderplayer file that can be found in the same folder as blender itself). This executable is compiled separately from blender; but, like blender, it is released under the GPL (General Public License) and the source code is freely available. The problem with this is that according to the GPL, anything that includes a GPL'd executable in an archive with itself or is combined with it must also be GPL'd aswell, which means that if you compile your game with blender's default method - which combines it with the blenderplayer executable, your game must be GPL'd too. What this script does is separate the blenderplayer part from the .blend file that would normally be appended on to it so that you can retain the copyright for your game's content without having to GPL it, meaning that you only have to GPL the blenderplayer bit; and also, you don't have to provide a complete copy of blender with your game in order for it to run (it also makes it possible to compile games for other platforms without having them on your PC aswell). Of course, if you are intending to release your game under the GPL anyway, it won't come in so handy... -epat. ;)

  9. Well, it's interesting if you don't have all plateform to compile your game.
    And the fact that the compiled file is not your game don't change anything :
    your game pass from a .blend to a .gam. so it's like a GPL.. your file is totaly editable!

    I don"t understand the fact that your game is not under GPL license with your system ? O_o
    there actually no solution to protect/Crypt your blend file. the command blender.quit() is a joike ...

  10. Adrien Lourdelle
    Well, the command blender.quit() is really not a joike. I just try and it is work. But I am wonder, can it be passed somehow?

  11. I am evaluating Blender for game development. I just happen to read about the queries posted above regarding GPL. Can anybody please elaborate more on GPL?

  12. when i press "p"for runing the game,blender 2.49 display an error like "blender.exe has encountered a problem and needs to closed.we are sorry for he inconvenience.what shall i do pleas help me.

Leave A Reply

To add a profile picture to your message, register your email address with Gravatar.com. To protect your email address, create an account on BlenderNation and log in when posting a message.

Advertisement

×