2011年11月19日

HTML5ではゲームが作れない


sonna_esani.gif
「釣り針でかすぎだろ・・・」

いえいえ、田中流儀のゲーム個人制作では、でかい障壁があるんです。
結論から書きますが、それは「ロイヤリティ効果音・BGMをhtml5で利用するのが難しい」という事です。

「ロイヤリティ素材使うな」 「flash使え」 「Unity使え」と2秒で結論を出したあなたは、よく訓練された開発者かフリーランスですので、ブラウザバックを押して頂いても大丈夫です。
まぁ、たまにはライセンスの話も面白いですよ!


・ゲーム制作の強い味方「業務用素材集」が使えない


私はゲーム制作に「Sound Ideas」や「HollywoodEdge」、「Nash music library」などの
業務用素材集を多数利用しています。

http://www.sound-ideas.com/
http://www.hollywoodedge.com/
http://www.nash.jp/fum/

Sound Ideas社の効果音はパッケージで買うと5万、10万という価格ですが、
その数と品質に比べれば安いです。ほんとに。

今だと円高なので直輸入がオススメで、以前SoundIdeasで注文した時は、
夏のセールで30%引き、送料無料の上に3日でカナダから届きました。
SI社愛してる。

正規輸入代理店であるクリプトン・フューチャー・メディアさん。
初音ミクもいいですけど、こっちも力を入れてください。
高いわ、遅いわ、セールしないわで、いい目がありません。

話がソレました。
私はゲーム制作において効果音を非常に重視していて、
気に入った音が見つからないと、モチベーションが湧いてこないくらいは偏っています。

こういう時頼りになるのが、素材集なのですが、
これらをhtml5で利用することは、悲しいかな『重大なライセンス違反』なのです。

CDS.jpg
「俺の自慢のコレクションが!」



・何がライセンス違反なのか

html5では仕様上全てのソース・コードがバイナリ化されず、ネットワーク上にぶちまけられます。このためお客さんが直接mp3、wavをダウロードできる環境が生まれてしまい、
これがライセンスに違反になるのです。

詳しい人なら「swfはバイナリ化されてるけど、もにょもにょすれば・・・」
と思われるかもしれませんが、各社に利用条件を問い合わせたら「flashなら使っていいよ!」と答えが返ってきたので問題ありません。
ベンダーがいいって言うなら、いいんです。

ちなみに、html5の要件で問い合わせたら「重大なライセンス違反だ、貴様死にたいのか」的なメールが返ってきました。怖い。



・フォントも同じ問題を抱える

fontg2.jpg
「モリサワ 見出ゴMB31 Pro」

現状、html5ではフォントの埋め込みなどはできないようです。
これもデザインを統一したり、それを動的に生成したい場合の一つの障害です。
もっとも、完全な動的生成を許しているフォントライセンスはADOBEフォントくらいですが。

静的な埋め込みにしろ、動的にしろhtml5の場合はサーバー上にフォントファイルを直置きすることになるでしょう。
もう、絶対許されません。 フォントベンダーはお固いのですから。

「画像にしろ」というのは適当な妥協点ですが、動的生成だけは難しい。
ちなみに「全フォントを画像にして、並べ換えて動的生成」もライセンス違反です。
これも各ベンダーごとに、非常に微妙な線引きをしており、確認がめんどくさい部分です。

厳密に解釈すればゲームは全部動的ですから、あまり細かく縛ると、ベンダーとしてもゲーム屋にライセンスできなくなります。だから、お固いライセンスの中にも、曖昧なラインを残してるのでしょう。



・それは致命的な問題か?

timei.jpg
「致命傷だが、命に別状はない」

業務では、それほど致命的ではないでしょう。
僕には致命傷です。

これが仕事であれば効果音・BGMはクライアントから提供されるでしょうし、
予算があればサウンドエンジニアさんに発注しても構わないわけです。
この場合、ライセンス違反の問題は解決します。

ただ、経験上クライアントさんから「直接BGMをダウンロードできないようにして欲しい」という注文がつく可能性はあります。
この場合は・・・どうしましょう。
僕なら、クライアントに「html5とはそういうものだ」と説得を試みます。

ぶっちゃけ、音がなくてもゲームは作れます。
モバイル環境では常に音を出している人は、むしろ少ないでしょう、
PCでフラゲーでも、音を出さないで遊ぶ人は結構います。

それなら、音は鳴らさない前提で作るのも、ありかもしれません。
この場合もライセンス問題は解決です。

基本的には、回避可能な問題と言えるでしょう。
僕の気持ち以外は。


・それでも俺は隠蔽したい

サイト上のリソースをお客さんが自由にゲットできるという状況を、非常に嫌がるクライアントさんもいます。
ゲーム開発者側としても、ゲーム内以外からはアクセスできない画像なり音なり、コードなりは欲しいです。
これはメジャーな要求なので「それがhtml5の思想というものだ」といわず、解決手段が欲しいところです。


・本当に必要な事はあなたが知っている

ここがエントリーの一番のキモなのですが、
「リソースを隠蔽する手段はあるよ!タイトルで釣りやがって、この勉強不足のクソ虫田中野郎が!!」
という方はぜひtwitterメールで教えていただけると、田中の未来がひらけて助かります!!
なにとぞ、お願いします!


---- 以下追記 ----


・<追記>html5にもバイナリ化する仕組みはある・・・が?

autumnmotorさんから寄せて頂いた情報ですが、Data URLという機能を使えば、ドキュメントに対してbase64で埋め込みを行うことができるようです。
ライセンス順守に一歩近づきました。

ただ、html5の仕様で動く以上、デコードのロジックを公開せざるを得ないようで、その気になれば、流用できるようです。「右クリックで一発保存!」は回避していますが、これをライセンス順守と見なすかどうかは、ベンダーの判断によるでしょう。

また、k0rinさんからの情報では、
・IE8以前では32KB制限がある (またIEか)
・IE9以降もオーディオ再生に難点 (またIEか!)
 そうでもないらしい!
という難点があるそうです。
またIEか!!

さらにbibrostさんからは
・ほんとにバイナリを変換して埋め込むだけで、セキュアとは言いがたい
・ロードの機構が複雑になる

という指摘も頂いています。

ご意見を寄せてくださってありがとうございます。
DataURLについては、もうちょっと掘り下げて調べてみないと、なんとも言い難いようです。
しかし、こう考えるとflashさん、なかなか面倒がないな。



・<追記>html5に対応したフォントサービスがある

maki_sakiさんから寄せて頂いた情報ですが、
フォントプラスという、html5上で自由にフォント指定ができるサービスがあるようです。
CSSを使って、フォントサーバーからフォントを「取り寄せる」という仕組みのようですね。
ぉぉ、一つ解決した。

ライセンス価格も比較的安めで、趣味でも本腰を入れてやっていれば許容できる範囲かな?
ただ「ゲーム」はライセンス上特別扱いを受ける場合が多いので、利用前にはかならず、詳細つけて問い合わせたほうがいいですよ!





 ブログの内容とはあまり関係ありませんが…


【Unity始めたいあなたには、この本!】


Unityではじめるゲームづくり (DVD付) (ゲープロシリーズ)
ミシェル・メナード
ソフトバンククリエイティブ
売り上げランキング: 657

バンダイナムコゲームスが翻訳に協力しており、僕の先輩もちょっと関わってます。
この翻訳協力チームが作成した「解説スライド」の出来が素晴らしいです。
これだけでも値段つけて売れたのでは? 


posted by TANAKA U at 23:57 | TrackBack(2) | ゲーム制作日誌