概要
ブラウザ上で実行可能なHTML5+JavaScriptなゲームエンジンがいろいろ出てますね。
どれが実際使いやすいのか分からず、とりあえず触ってみた感想をまとめてみました。
かなりざっくり(雑に…)触ってるので、モックを作ったものもあれば、
サンプル動かしただけのものなどが入り乱れてます。
こんなものでも参考になれば幸いです
要件
オープンソースであること
おさえたい評価項目
- 学習コスト
- 実績
- フォーラムの有無・活発さ
学習コストは導入から開発・運用まで含めて考えてます。
また、実績があればプロジェクトに導入しやすいということで、実績の有無を載せたいと思います。
フォーラムはわからないことがある時に聞ける環境が
公式で提供されていると安心するのでおさえておこうと思いました。
※実際にフォーラムに書き込みしたものはCocos2d-jsのみです
PlayCanvas
公式フォーラム:
http://forum.playcanvas.com/
Github:
https://github.com/playcanvas/engine
| 評価項目 | 評価(◎・◯・△・✕) |
|---|---|
| 学習コスト | ✕ |
| 実績 | △ |
| フォーラム | ◯ |
3Dに特化したゲームエンジンで、ブラウザ上のエディタで3Dモデルの配置やちょっとした編集まで可能。
素晴らしい、と思ったが、ローカル上にそのエディタを作れず、しかも課金しないとプライベートに出来ない様子。
エディタに頼らずに頑張れないか試しましたが、ドキュメントがエディタベースになっているので、エンジンだけを使おうとするとソースコードを読まないと、把握できない印象です…
サンプルは公式に載っているものが幾つかありますが、ソースコードを覗いたりは難しいかもしれません。
フォーラムは多少活発で、日に何度か投稿があって返信もあるよう。
Cocos2d-js
公式フォーラム:
http://discuss.cocos2d-x.org/latest
Github:
https://github.com/cocos2d/cocos2d-js
| 評価項目 | 評価(◎・◯・△・✕) |
|---|---|
| 学習コスト | △ |
| 実績 | △ |
| フォーラム | ◯ |
わりと情報が落ちてるのと、JSの情報がなくても、C++で作られたものをみると分かったりすることもあります。
ただ、Cocos2d-x自体がちょっと複雑で、導入が結構めんどくさい。
Cocos StudioやIDEなどを使わずにどこまでできるかが分かりづらい。
Cocos2d-xの実績は多いものの、jsを使ってという実績は少ない印象。
フォーラムにも投稿したことがあって、返信も来ることがありました。
ただ、Cocos2d全体のフォーラムなのでjsの情報を探したり投稿に反応してもらうのは難しいかも…
enchantjs
Github:
https://github.com/wise9/enchant.js
| 評価項目 | 評価(◎・◯・△・✕) |
|---|---|
| 学習コスト | △ |
| 実績 | ◯ |
| フォーラム | ✕ |
日本語でドキュメントが読める(感動)。
サンプルはネットに結構落ちてるし、書籍も出ているので学習コストはそれほど高くない印象。
モック作るなら結構早く作れる。
ただし、フォーラムはないようでした。
CreateJS
公式フォーラム:
http://community.createjs.com/
※もうなくなってます
Github:
https://github.com/CreateJS
| 評価項目 | 評価(◎・◯・△・✕) |
|---|---|
| 学習コスト | ◯ |
| 実績 | ◎ |
| フォーラム | △ |
ゲームエンジンとはちょっと違ってますが…
SoundJSはAudioSpriteを認識できるようになっているし、PreloadJSというプリロードを扱うやつもいます。
ドキュメントは充実していて分かりやすい!
フルスタックなものではないので規模感によって使い分けれるといいかなと思うのと、
既存の足りない部分をこいつで補うのはアリかもしれないです。
Flashから変換するためのツールが提供されているためか、実績は多い印象。
フォーラムはもうなくなっていますが、HTML5 Game Devsとか、StackOverflowにいってね!
っていうページがあるので、そっちにいけばきっとなんとかなる(希望的観測)。
HTML5 Game Devsはブラウザゲームの大きなフォーラムになっていて、ここで紹介したものならだいたい載ってます。
PixiJS
Github:
https://github.com/pixijs/pixi.js
| 評価項目 | 評価(◎・◯・△・✕) |
|---|---|
| 学習コスト | ◯ |
| 実績 | △ |
| フォーラム | ✕ |
あまり使いこなせてないが、2Dなら結構優秀そう。
CanvasとWebGLを実行環境の合わせて自動で選択してくれる機能があるが、実際使うとそんな役に立たないかも?
実際にソースコードが見れて動くサンプルが置いてあるので助かります(かゆいところに手が届かない感はありますが…)。
フォーラムはないので、上記のHTML5 Game Devsなどで見に行く感じになるかと。
PhaserJS
Github:
https://github.com/photonstorm/phaser
| 評価項目 | 評価(◎・◯・△・✕) |
|---|---|
| 学習コスト | △ |
| 実績 | ◯ |
| フォーラム | ✕ |
PixiJSや物理エンジンを取り込んでるので不安定な気がするし、そこに合わせて動かないといけなくなるのが辛そう。
物理エンジンはそんなに変わらないかもしれないけど、ゲームエンジンはそうもいかないだろうからちょっと怖い。
ただ、Github上ではスターが一番ついているので期待は大きい?
こいつもPixiJSと同じくソースコード付きのサンプルが公式で置いてあるので学習はしやすい。
フォーラムは見当たらなかったので、HTML5 Game Devsなどを当たることになりそうです。
turbulenz
Github:
https://github.com/turbulenz/turbulenz_engine
| 評価項目 | 評価(◎・◯・△・✕) |
|---|---|
| 学習コスト | ✕ |
| 実績 | △ |
| フォーラム | ✕ |
ちゃんと試せてないけど、一度だけ触ったので、おまけ的に書いておきます。
会員登録しないといけなかったり、python叩かないと動かなかったり導入がめんどくさい。
でも実績はあったので載せておきます。
フォーラムはあるかもしれないけど、見つけられてないです。
さいごに
JavaScriptのゲームエンジンはまだまだ2Dが主流で、
物理エンジンまで入ってるゲームエンジンはまだ少ない印象です。
3DゲームはThreejsやCreateJSと物理エンジンを組み合わせて使う感じになるのでしょうか…
もうちょっと詳細にまとめたかったんですが、うまくまとまらず、
また暇を見つけて更新出来たらいいなぁと思ってます。
間違った情報などあれば指摘して頂けると幸いです