BGArmor is a Blender Game Engine and UPBGE tool that allows you to package your game data files and launch them separated from the blenderplayer executable. It’s available on Windows and Linux.
This project was inspired by BPPlayer, but it aims to be more compatible and portable. It also features a project development structure to aid the game development workflow and ease the release process.
BGArmor also aims to provide a toolchain of tasks to automate the process of game release, including tasks to package the game data files and generate releases, a launcher and blenderplayer icon changer and others.
Take a look at the Quickstart Guide on the manual to learn how to implement BGArmor in your project.
Note About Licensing
BGArmor is under the MIT license and do not bundle any Blender or UPBGE components, however any BGE and UPBGE game should comply with the GPL license. In summary, although a game packaged with BGArmor do not exposes its source code, the source code should be publicly available somewhere else.
IMPORTANT: Before using this release, copy the engine runtimes to engine/Windows or engine/Linux and update launcher folder contents to fit your game’s needs. Use the new script win-build-release.bat or lin-build-release.sh to easily build your game release.
New data.dat format specification, allowing a much faster compression and decompression. Due to this, now it’s impossible to open data.dat with file managers (such as 7-Zip)
Added optional DataChunkSize value to config.json. DataChunkSize specifies that, when building data, files bigger than the size specified (in MB) will be compressed in chunks of this size to avoid loading the entire file in memory. This fixes some Python memory errors reported when building data on low memory computers
Example game is not included on BGArmor’s release anymore (but it’s still available on the repository)
Some minor improvements on scripts
IMPORTANT: Visit the wiki or watch this video to learn how to use BGArmor.
Added feature to ignore files when building data (such as .blend1 and .pyc files). Filename patterns must be set in launcher/config.json. More info here.
The launcher executable now accepts alternative flags (-c/--console, -h/--help and -l/--log) and will pass to blenderplayer any other argument.
Auto rename launcher executable to game name on release.
Game persistent data folder is not hidden anymore, and can be found at AppData/Roaming/GameName (Windows) and ~/.local/share/GameName (Linux).
New logic behind temporary directories.
IMPORTANT: Visit the wiki or watch this video to learn how to use BGArmor.
I tried BGArmor today and it works perfectly. Thanks for your work. But if I want to distribute or sell my game, then I still have to respect the GPL license, right? So I have to share the textures, sounds etc. ?
Yes. Obfuscation of source code is against the GPL license, so as mentioned in the original post, you still have to make your source code publicly available even using this.
It depends on their license- if you didn’t make them yourself, odds are they have their own unique license that you must follow or face severe consequences
the GPL affects to UPBGE application (upbgeplayer) and python scripts. The blends (models, etc), texture, sounds, etc you can distribute under the license you want (considering that you created them), if they are not created by you, then you should distribute under the license of the models, etc allow.