ゲームプログラミング/ゲーム開発ツール
ここでは番外編としてゲーム開発ツールを使用する際に留意するべき事柄について記述します。
開発ツールのライセンス条件
[編集]ゲーム開発ツールのなかには、そのツールで開発したゲームソフトに義務として「この開発ツールで開発したソフトウェアは、ソースコードを必ず公開しなければならない」などの条件をつけている場合があり、このような条件を「開示義務」または「ソース開示義務」などといいます。ソース開示が嫌な場合は、開示義務のあるツールは使わないのが正解です。
ゲームに限らず、ソース開示を義務としている開発ツールは多くあるので、ライセンスには気を配る必要があります。「有料ソフトの販売を禁止」とか「アダルト作品の開発は禁止」などの条件をつけている場合も存在します。ですからゲーム開発において、ツールのライセンス条件の確認は、非常に重要です。
GPL(ジーピーエル)というライセンスがあって、Linuxなどのオープンソースで使われています。このGPLを組み込んだプログラムは、ソースを公開しなければいけません。ですから、ソース公開したくないプログラムには、GPLソフトウェアは組み込めません。
ゲーム業界でも、GPLライセンスのソフトウェアを組み込んでしまったために、呼出し元ソフトウェアでのソースコードの一部を公開することになったゲームがあります。2005年頃、『ToHeart2』という美少女ゲームが、xvidというGPLソフトを取り込んだ疑惑によって、GPL違反の疑いでソース公開になりました。(w:ToHeart2#GPL違反とソース公開)
GPLでも、たとえばLinuxサーバ上でソース非公開のアプリを動かすように、GPLのソフトウェアを非公開ソフトとは独立した状態で使う場合は、ソース公開の必要はない、と考えられています。(これが必要有りとなると、オンラインのプログラムやネットゲームは全てソース公開しなければならなくなり、非合理な結果になる。)特定のプログラム自体にGPLソフトウェアのコードを取り込んだ時、ソースコード公開が必要になります。
オープンソースの中には、どのような利用法であっても、利用者にソース公開を求めないライセンスもあります。BSDライセンスとMITライセンスはソース非公開で利用できます。ゲーム制作ツールの吉里吉里Zは、修正BSDライセンスで公開されています。
もしライセンスのことがよくわからない、またはライセンスの学習に時間をかけたくないなら、オープンソースのツールを使うなら、BSDライセンスを使うのが安全です。
w:DXライブラリは、GPLでもBSDライセンスでもありません(DXライブラリ説明書「DxLib.txt」には、どこにも「GPL」とも「BSD」とも書いていない)。DXライブラリは単にソースコードが公開されていて、著作権者の「山田 巧」氏が著作権を保持しているオープンソースなライブラリです。
このように、ネット上でソース公開されているソフトウェアには、ライセンスの複雑な解釈を嫌ってか、「BSD」や「MIT」などのライセンス条件を名乗らないオープンソースソフトウェアもあります。
昨今ではオープンソースやフリーソフトウエアの発展などの背景もあり、「自作ゲームのソースコードやソースファイルも開示しよう」と思うゲーム作者もいるかもしれません。しかし、ソースコードを開示していることが原因でトラブルに巻き込まれる場合もあるかもしれません。自分の作ったゲームのコードが悪用され、トリッキーないたずらや嫌がらせ、誹謗中傷などを受ける可能性も全くないわけではありません。
そこで、ライセンスに利用による損害に対する保証が無いことを明示するのは、ある程度有効でしょう。大抵の著名なフリーソフトウェアライセンスにはこの条項があります。他者の悪意を完全に防ぎ失くすることは難しいのですが、ある程度の対策は見出されていますし自身でも見出していく必要があるでしょう。
拡張性の悪さ
[編集]ゲーム開発ツールを使う場合、そのツールが実装していない機能は使用できません。Visual Basic や Visual C++ には普通にある関数でも、開発ツールには無い場合も多い。
また、一旦はゲーム開発ツールを使って目的の機能を持ったシステムを作ったとして、さらなる機能をそのシステムに追加しようとするときに大幅な作り直しが必要になる場合があります(拡張性の悪さ)。システムがモジュール化されていても、そのモジュール部分では大きく改変する必要がある場合もあるでしょう。
Windowsの場合、本来なら Visual C++ などを使って、プログラム文法のいろいろな事に留意しながらプログラムを書きますよね。開発ツールを使う場合、 Visual C++ のコードを書かずに、ほぼマウス操作だけでプログラムを作ろうとしているわけですから、何かしらの制限があります。拡張性の悪さは、プログラム文法などの学習の負担を減らすためのトレード・オフのようなものです。
移植性の悪さ
[編集]また、もうひとつの問題点として、C言語など一般のプログラム言語への移植性の悪さがあります。
ソースコードが公開されていない開発ツールの場合、異なる開発環境にゲームのソースファイルを移植するのは、ほぼ不可能です(仮に、開発ツールのランタイムを模倣できたとしても、著作権などの法的な懸念が生じる可能性あり)。ゲーム開発ツールで作ったソースをVisual C++のソースに置き換えるのは簡単にはできない。ほぼ全面的に新たに書くことになるでしょう。
ですからゲーム開発ツールによるゲーム制作では、あまり大作を作ろうとしないほうが安全です。開発ツールで作る作品は、比較的に小規模な作品に、とどめておくことを推奨します。