ここ最近はいろんなブラウザゲー環境を試してみて、それぞれどんな良いとこ悪いとこがあるかどうかを調べてた。Flashで作ったものはwonderfl (http://wonderfl.net/user/ABA/codes)やKongregate (http://www.kongregate.com/accounts/abagames)へ、JavaScriptで作ったものはjsdo.it (http://jsdo.it/abagames)へ投げた。Unityは大昔にちょっと触っただけ (http://d.hatena.ne.jp/ABA/searchdiary?word=unity)。
この辺を触った際のごく個人的な印象に基づいて、それぞれの環境の良し悪しを考えると以下のようになる。触ったことない環境は想像。そこは違うぞ、という点があれば教えていただけると助かります。
Flash
いいとこ
- ActionScriptは非常に書きやすい。そのActionScriptを書くだけでゲーム開発が完結できる
- 比較的安定したフレームレート、オーディオハンドリング
- 圧倒的なプラグイン普及率
わるいとこ
- モバイルデバイスのブラウザ上では動かない。AIRでなんとかして
- Stage3Dを使った3Dの扱いがローレベルで若干面倒
- ジョイスティック未対応
JavaScript+HTML5
いいとこ
- JavaScript開発者コミュニティの広さによる豊富なライブラリ
- モバイルデバイスブラウザも含めたクロスプラットフォーム動作
- WebGLによるOpenGL経験者に優しい3Dハンドリング
わるいとこ
- ブラウザ依存。クロスプラットフォームといってもモバイルデバイスも含めた広範な対応をするのは死にそう。特に音周り
- 動作パフォーマンスも環境によって全然違う
- 安定したフレームレートはどうやると実現できるのですか
- WebGL対応環境はブラウザとGPU両面からかなり限られる
- ジョイスティック未対応。将来的には対応? (http://dvcs.w3.org/hg/webevents/raw-file/default/gamepad.html)
Unity
いいとこ
- ジョイスティックが使える
- ゲーム専用だけあってフレームレート/オーディオ/3D管理はこなれている
- 物理/パーティクルなど豊富なゲーム向け機能が簡単に活用可能
- 様々なプラットフォーム上で動作
NaCL (Native Client)
いいとこ
- 高いパフォーマンス
- SDLユーザーは開発がやりやすい?
わるいこと
- Chromeでしか動かん
- 新しすぎてドキュメントがあまりない
そのほかにも将来的にはWebKitでJavaScript以外の言語が動くようになるとか (http://www.infoq.com/jp/news/2011/12/google-webkit-dart-multi-vm)、ストリーミングゲームがChromeで動くとか (http://jp.techcrunch.com/archives/20111124chrome-getting-native-gamepad-webcam-and-webrtc-support-in-early-2012/)、いろんな話があるけど現状あんまり考えなくてもいいよね。