スポンサーサイト

上記の広告は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を起動!
あなたのゲームが開始されるはずです。


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

Charactor Motion 【Blender Game Engine】

BGE関連の記事のコメントでCharactorMotionなるものがあると聞いていたのですが、軽く試してみました。



とりあえず、ジャンプだけ。
前は地面との間に当たり判定を設定し、多重ジャンプを防止するようにさせていたのですが、それすら不要になりました。便利ー。

Re:車の挙動を再現したい【Blender Game Engine】

こちらの記事は「GameBlender(Blender Game Engine)とは」の質問コメントが多くなってきたので、切り取り、記事にしたものです。

最初の方は別の質問内容になってますが、次第にタイトルの内容になっていきます^^;

続きを読む

Re:初めてのゲーム作り 2/5について【Blender Game Engine】

こちらの記事は「GameBlender(Blender Game Engine)とは」の質問コメントが多くなってきたので、切り取り、記事にしたものです。

内容:動画「【Blender】初めてのゲーム作り 2/5【GameEngine】」に関する質問

続きを読む

簡易AI

どことなーくプレイヤーから逃げるAI。8方向に移動します。



赤がAIで、青はプレイヤーです。

ウェイト方式を試してみているところで、各方向に重み付けを行い、どの方向かはランダムに選択されます。(ウェイトを正規化した値がその方向に向かう確率になります)

上記の動画はプレイヤーが①方向にいるとすると、①~⑧のウェイトを順に、0.1、0.5、1.0、1.8、2.0、1.8、1.0、0.5、の重み付けを行ってみた結果。向かってくる方向が選択される確率はは15%程度なはずですが、体感的にはけっこう向かってくる感じなんすなぁ。

distance2.jpg


うじゃうじゃー



続きを読む

スタートロゴ

このブログの過去の記事を見てない人からすると、???っとなること請け合い。

up_20130804225256e4c.jpg

[作業ログ]
・Camera->Orthograhic に変更
・Render->ShadingをSingletextureに
・Render->System->Use Material Cachingをはずす
・Lamp->Diffuse以外チェックをはずす


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

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ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。