李海彬@Golang Language Community(Golang语言社区)によるHTML5ゲームエンジンの徹底評価 @ cloud.tencent.com の日本語訳です。
李さんより許可をいたただいています。またこちらは昨年末の記事になるので今年誰か書かないかな?
HTML5ゲームエンジンの徹底評価
最近インターネット上で「イケてるHTML5ゲームエンジン15 2016年盤」という記事を読みました。HTML5ゲームを開発のソリューションはたくさんありますが、比較されていませんでした。みなさんのお役にたてるように数日かけて、先ほどの記事に登場した12の無料オープンソースエンジンの比較分析を徹底的に行いました。
技術的な製品を比較するためには、技術的な視点だけでなく、結果に影響を与える多くの非技術的な内容も含めて、一般的には複数の比較軸があります。この記事では次のような軸で比較しています。する複数の次元があります。この記事では、以下の次元から複数の比較を行います。
- 2D / 3D
- プログラミング言語
- デザインコンセプトと機能
- ワークフロー
- パフォーマンス
- ドキュメント
- 採用事例
2D・3D対応とプログラミング言語の比較
ゲームのもっともシンプルな分類方法の一つは2Dと3Dで区別することです。ゲームエンジンにおいては2Dと3Dはまったく異なる製品の種別だと考えられています。もとの記事で言及されていたエンジンはとても人気があるHTML5ゲームエンジンです。多くのエンジンは、2D、3Dもしくは両方に対応しており、テーブルにまとめました。
プログラミング言語
HTML5ゲームエンジンにとって、スクリプトはJavaScriptである必要があります。JavaScript言語のみがブラウザーの上で実行できます。ですがTypeScript、CoffeeScriptやLiveScriptなどのようなAltJsがたくさんあります。言語間の直接の位置づけは異なり、言語の哲学は同じではありません。いくつかのゲームエンジンの言語選択はかなり興味深いものです。
エンジン | 2D描画 | 3D描画 | JavaScript | TypeScript |
---|---|---|---|---|
Three.js | no | YES | YES | no |
Phaser | YES | no | YES | YES |
Pixi.js | YES | no | YES | YES |
Egret | YES | YES | YES | YES |
enchant.js | YES | no | YES | no |
craftyJS | YES | no | YES | no |
Turbuluenz | YES | YES | YES | YES |
cocos2d-js | YES | no | YES | no |
PlayCanvas | no | YES | YES | no |
melonJS | YES | no | YES | no |
Quintus | YES | no | YES | no |
Hilo | YES | no | YES | no |
TinyUnity※ | YES | no | YES | YES |
※TinyUnityは訳者が追記/TypeScriptが使えるとJavaScriptも実質使えるということでYESとしています
2D・3D対応とプログラミング言語の比較の結論
前記事の表の通り、以下の3つのエンジンが2Dと3D両方に対応しています。
- Egret
- Turbulenz
- PlayCanvas
HTML5ゲームの分野で利用されているプログラミング言語はJavaScriptとTypeScriptだけです。しかし、ほとんどのHTML5ゲームエンジンはJavaScriptを使用しています。 TypeScriptをサポートするエンジンは4つだけです。
現在のフロントエンド技術界隈の状況をふまえると、おそらく多くのフロントエンドのフレームワークやエンジンはTypeScriptに対応するでしょう。AngularJSからはTypeScript対応を開始したとアナウンスされました。フロントエンド界隈ではTypeScriptの認知度は高く、マイクロソフトはオープンソースコミュニティー界隈で上手にやっているといわざるを得ません。
・・・続く・・・
https://qiita.com/motoyasu-yamada/items/0139a933ded6f478f92a