スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

BlenderゲームのGPL回避と、BPPlayerを使った暗号化

久々のBlender記事。先日、Blender Game Engine (以下、BGE)でゲームを作ったがいいが、ライセンスをGPLにしたくないのですが、どうしたらいい?との相談がありました。

正直、僕は中身はオープンにする以外考えてなかったので、ライセンス?何それ?おいしいの?状態でしたが、正直気になるところなので、まとめてみます。


○ GPLとは?
一般公衆ライセンス(General Public License)。簡単に言うと、中身を誰でも見られるようにして、誰でも改良して使っていいけど、あなたが改良したものもGPLにしてよね。っというライセンスです。

GNUライセンスに関してよく聞かれる質問
http://www.gnu.org/licenses/gpl-faq.ja.html#WhatDoesGPLStandFor


○ BGEで作ったもののライセンス

Blenderで作成したファイル、つまり、blendファイルについては、そのライセンスの決定権は自身にあります。GPLだの何だのを気にする必要はありません。

ただし、BGEで出力した実行ファイル(exe、app等)に限り、GPLのプログラムが内包されるので、ライセンスGPLにしなくちゃいけません。

Licensing of Blender Games 日本語訳
http://wiki.blender.org/index.php/Doc:JA/2.6/Manual/Game_Engine/Licensing

このリンク先にあるライセンス保護するための4つの方法というのが記載されており、それが全てですが、・・まぁ僕なりにまとめてみます。


○ ゲーム内の素材のライセンスはどうなるの?

BGEで実行ファイル(exe)を出力した場合、そのファイルはGPLになります。
では組み込まれた素材たちのライセンスはどうなるの?

はっきりした情報を見つけられなかったのだけれども、普通に考えて、ゲーム内の音源やその他素材は、その素材の製作者がつけたライセンスのままになるはずです。となると、その素材のライセンスが商用は駄目っと言っていれば、自分のゲームは商用じゃなくても、派生ゲームを自由に作れて、それが商用可能なGPLライセンスのゲームに組み込むのは問題があるような気がします。

まぁ、ソースは公開しても、素材は添付せず、「派生ゲームは作っていいけど、素材は別ライセンスだよ。気を付けてね」でも、個人的には良いと思うんだけど。

とはいえ、自分で作ったものもGPLにしたくなかったりとあるので、自身のものも含めてGPLにならないようにすることを考えてみましょう。


○ GPL感染を防ぐには?

前述のとおりblendファイルならGPL云々を考える必要ありません。

実行ファイルにするのは、blendファイルを開くって部分だけで、中身はblendファイルのままにしておきます。
すると、読み込む部分(実行ファイル)だけGPLで、ゲームの中身については、自身で決めたライセンスで良いわけです。
sc_201506201546135a1.png
こんな感じのゲームロジック

blendファイルには、画像、音源、動画などのデータを内包することが出来ます。一般的なファイル形式ではないので、ただゲームを遊ぼうとする人達にはブラックボックスです。blendという拡張子をつけなくても動かせるので、言わなきゃ何のファイルかわからないし。ただ当然 blendファイルなので、Blenderで開けば、中身は丸見えだし、音源など素材を抽出することも簡単です。

まぁ、素材を抽出して、ライセンス外の利用をすれば、悪いのはあなたではなく、勝手に抽出して利用した人なので、あなたが気を病む必要はないと言えばないのですが、誠実なあなたは「ちゃんと素材を暗号化して、素材を守らねば」と思うでしょう。


○ blendファイルを暗号化するには?

そのためのソフトウェアを使うのがお手軽のようです。ソフトウェアには、BPPlayerや、GameKitなどがあります。
これらのソフトウェアがしているのは、blendファイルの暗号化です。で、実行時、解読したものをBlenderPlayerに渡します。

で、BPPlayerを軽く触ってみたのですが、そんな難しいこともなかったので、方法を書いていきます。

BPPlayer
http://blenderartists.org/forum/showthread.php?130089-BPPlayer-BGE-Security-(1-06-Win32-Linux64-MacOSX)


○ BPPlayerの操作手順

ステップ1:素材データをblendファイルに内包する
File => External Data => Pack All into .blend
sc_20150620150622100.png

ステップ2:BPPlayerをダウンロード
BPPlayer v1.06
http://blenderartists.org/forum/showthread.php?130089-BPPlayer-BGE-Security-(1-06-Win32-Linux64-MacOSX)

試しにBPPlayer.exeを起動してみると、こんなゲーム?が開始されるはず。
sc_20150620153456109.png


ステップ3:
BPPlayer => blendblockConverter => BPPlayerGUI.exe を開く
sc_201506201509545b7.png

ステップ4:設定
・Import Main Blendを選択。最初にスタートするblendファイルを選択する。
sc_20150620151345f55.png

・単一のblendファイルじゃない場合は、Pack File にblendファイルを追加
sc_20150620151512405.png

・Export Block Nameを選択し、BPPlayerのフォルダに移動し「data.block」というファイル名を選択する。このファイル名はBPPlayerがデフォルトで読み込むファイル名。既存のサンプルファイルがあるはずだから上書きしちゃう。
sc_201506210948290bb.png

・設定ファイルの保存
File => Save As (Config FIle)
sc_20150620152158a15.png

・blockデータの出力
Export Type が Export as Block File になっていることを確認し、Exportを選択。
sc_20150620152730492.png

・成功
sc_20150620152848961.png

これで、BPPlayer内にある data.blockがあなたの作ったゲーム内容に入れ替わりました。


○ BPPlayerを起動!
あなたのゲームが開始されるはずです。


これで、中身は見えないし、ライセンスもクリアです。
簡単なゲームなら問題なく動作しましたが、ゲームの中身が複雑になってきたとき、どうなんでしょうね。
関連記事

コメント

わざわざ記事を書いてくださりありがとうございます。
素材データをblendファイルに内包するやり方や、
BPPlayerの使い方などとても助かります。
blendファイルが3つで構成されているゲームなので、
若干複雑?かもしれませんが試してみます。

BPPlayerの最新バージョン1.07がリリースされていたので試してみました。
素材データをblendファイルに内包し、blendファイルの暗号化に成功しました。
素材やblendファイルを晒すことなくちゃんと起動出来ました。

これもTiBraさんのおかげです。
今回の件で僕の我が侭ではあったにも関わらずちゃんと対応などしてくださったり、BPPlayerの使い方やblendファイルに素材を内包するやり方など、新たに勉強になりました。
本当にありがとうございました。





>匿名希望Aさん
それは何より。良かったです。
なかなか余裕がなくて細かいところまで、お手伝いすることは難しいですが、BGE普及に役立つような情報提供はしていきたいので、また何かあれば。
そうでもしないとなかなか記事書かないし^^;

コメントの投稿

非公開コメント

このブログについて
□ ブログ内容
決まった趣旨はありません。
興味を持ったこと・日常で行ったことを何でも書きます。

3DCG・プログラミングなどが多めです。

□ 現在の活動
・ウェブサイト制作
 (http://tiblab.net)
・3Dゲーム制作
 (コックパニック)
検索フォーム
ユーザータグ

Blender キャプチャ blendファイル BGE Python GameEngine ムービー Android CG  Red5 Terragen C# C++ 

カテゴリー
プロフィール

TiBra

Author:TiBra
趣味でCG制作、プログラミング等を行っています。メイカーズに憧れています。

ネットを通じた交流を広げたく思っていますので、コメント・メールはお気軽にどぞー

戯言程度のことは、こちらのブログに投稿しています。基本戯言なので、実質移転しているようなものです。

Mail:tibraあっとlive.jp
HP:TibLabmemocode
動画:VimeoFC2動画ニコニコ
ファイル:SkyDrive
企画:3Dゲーム作業実況

Blogリンク
不都合がございましたらご連絡ください。
当ブログのリンクバナー
FC2 ID
FC2カウンター
RSSフィード+解析コード
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。