html5のブラウザゲームについて
html5でブラウザゲームを作ってPCとスマートフォン両方対応にしたい、と言った話が出たりするのですが、今のところどうかと思うので現状html5でのゲーム制作の難しさについて書いてみました。
それほどhtml5などに詳しいわけではないので、的外れな物もあるかも知れませんが、クライアントさんから「html5とか言うのでゲームをですね~」とか言われたときのご参考までに。
また、ブラウザゲームに限った話ですので、一般的なサイト構築とは別の話です。
1.解像度やスペック、インターフェイスの問題でスマートフォン用とPC用のゲームは同じにするのは難しい
PCとスマートフォンでは画面の大きさが大きく異なるので、同じデザインでゲームを作るのは難しいです。また、現状スマートフォンの処理速度はPCに比べてかなり遅いので、処理の軽いゲームしか作ることは出来ません。そして、PCにはキーボードとマウスがありますが、スマートフォンは指でタッチする形式のため、同じ操作にすることは出来ません。マウスと異なり、指で操作する場合には画面が指で隠れるので、たとえばシューティングゲームを作ったとすると弾が指で見えなくなります。そのような問題が生じないゲームを作る必要があります。PCと同じ設計思想では開発できません。
2.開発ツールや手法が確立されていない
html5は新しい技術ですので、開発ツールや開発手法などが確立されておらずライブラリも少なく、ちょっとした事でも一から試していく必要があり、Flashなどに比べて開発に工数がかかります。またゲームを問題なく作れるようなレベルの技術者がまだ少ないので、何かあったときに他の人員に開発を引き継ぐのが難しいです。
3.PCではブラウザが非対応である可能性がある
PCなどではまだ、html5に非対応なブラウザが使われているので対策が必要です。
4.セキュリティの問題
html5ではソースコードがテキストで簡単に見られてしまうため、ランキングやポイントゲームなどのセキュリティで問題が生じます。一応、難読化するソフトもありますが、どの程度効果があるかは不透明です。swfにも逆コンパイルによる同様の問題がありますが、市販の難読化ソフトがそれなりの評価を得ています。
5.素材のライセンスの問題
html5では画像や音楽をサイト上に置くため、誰でも簡単にそれらをダウンロードすることが可能です。これはほとんどの業務用素材集で禁止されている事項なので、それらを開発で使えるかは発売元に確認する必要があります(そしておそらく使用不可と言われます。実質元ファイルを配布している状態ですから当然です)。バイナリファイルの内容をテキストにしてhtml5の中に埋め込む手法もあるようですが、どの程度実用性があり効果があるのかは不透明です。少なくとも、音声や画像ファイルをテキスト化した巨大なファイルをなんらかのツールを用いず従来のエディターで編集するのは現実的ではないでしょう。
この問題についてはこちらのサイトでも論じられています。
HTML5ではゲームが作れない TANAKA Uの自由帳 / NEXTFRAME(!)
http://nextframe.sblo.jp/archives/20111119-1.html
6.スマートフォンではゲームはアプリ中心でブラウザゲームはまだ少数である
スマートフォンではアプリのストアなどがしっかりしていることや、ブラウザの使い勝手がさほど良くないせいか現状ゲームなどはアプリ中心でブラウザ上ではまだまだ少数派です。よってPCならインストールが面倒と倦厭されるアプリも、スマートフォンだとユーザーがブラウザよりアプリの方がなれているのでそれが問題にならず、あえてブラウザゲームを作る理由があまり無いです。
7.ゲームを作っても発表する場があまりない
自サイトでゲームを公開するならともかく、海外のゲームサイトなどで作ったゲームを公開しようとするなら、html5に対応しているサイトは今のところほとんどありませんので、個人制作でゲームを海外で公開してお金にしたい場合、html5という選択肢はありえないです。これは海外のブラウザゲームはFlash優勢の状況がしばらく変わらないであろうと言うことを意味しており、よってゲーム関係のツールやライブラリなどもFlashの方が充実している状況が続くという事でもあります。
将来的には各種ツールやインフラなども充実してきて状況は変わるかも知れませんが、総じてhtml5はあくまでサイト構築用の仕様であり、ゲーム開発に向いているとは言えず、現時点で業務レベルで対応するのは時期尚早でしょう。スマートフォンとPCではスペックなどが違うので、コスト節約といって双方を同一のゲームにするならPCの方ではかなりクォリティを落とさなければならなくなり、数の多いPCユーザーの方を切り捨てるような形になります。
世間ではまるでhtml5によってFlashが駆逐されるかのようなことが言われていますが、少なくともPCブラウザのゲーム開発では、上のような問題が解決されるまで、少なくとも数年はFlashの優位は揺るがないと思われます。
スマートフォン用のサイトでは他に選択肢がないのでブラウザにこだわるならhtml5でゲームを作らざるを得ないですが、その場合はセキュリティやスペックの問題の起こりにくいミニゲームやサーバー連動型のゲームをおすすめします。ですが、たとえばゲームアプリを配布する方法もあるので必ずしもhtml5にこだわることもないでしょう。
そして、そもそもPCとスマートフォン両方で動くからと言って、将来PCとスマートフォンのサイトが同じになるかは不透明です。操作性や画面解像度の問題から、別に進化していく可能性の方が大きいのではないかと思います。
Flash liteがバージョンを重ねてPCと携帯電話で同じコードが使える、はずだったのにほとんど普及しなかったり、javaはいろんなプラットフォームで使える、けど実際のアプリの開発言語がjavaで席巻されたわけでもなかったりするように、「あらゆるプラットフォームで同一コードを!」というのはプログラマーの見果てぬ夢で、html5についても夢のままに終わる可能性もあります。
むしろ、あらゆる多様性を保ちつつ技術は進歩していくのが正常という気がするので、同一コードにこだわったり、Flash対html5みたいな構図自体が意味が無い気がします。適材適所でやれば良いんじゃないでしょうか。
今のところPCのブラウザゲームにhtml5は適材適所ではなさそうです。