◆ 色々あるけど たまーにこういうゲームライブラリがあるとか聞くのはほとんどなかった
気が向けばなにかするかも

前にゲーム系なの使ってみるのもありかなと書いたのでとりあえず調べてみました

ゲーム作れるライブラリってたまに聞きますが いざ調べてみると出てくるものに聞いたことあるものはほとんどなかったです
出ては消えていく小さなものが多いんでしょうね
一番の有名っていうのよりはそこそこマイナーどころのほうが好きですけど ある程度は知名度あってメンテされたり開発続いてないと困るのでとりあえず今ググってでてくるものを対象にしました




国内のでは enchant と tmlib が有名みたいです
英語でぐぐると phaser や playcanvas などがありました

phaser [公式] [github]

Pixi.js を 2D 部分の描画に使ってる サウンドや物理演算も使える 2D のゲームエンジン
初心者でも使いやすいらしい

PlayCanvas

webGL ゲームエンジン
トップページでも 3D モデルがあるように 2D だけじゃなくて 3D も扱えるゲームエンジン

Crafty [公式] [github]

わかりやすく説明まとめられてるページが見当たらなかったですが 2D 用みたいです

pixi

2D のグラフィック描画するライブラリ
コレ自体はゲーム用じゃないですが ゲーム系ライブラリの中で使われてるってよく聞きます
少し前に SIer クエスト が話題になりましたが あの綺麗でなめらかなゲームの描画も pixi だそうです
ツールは RPG ツクールで その内部で pixi が使われているんだとか

three

pixi が 2D なのに対して 3D での定番がこの three.js みたいです
webGL を使いやすくしたライブラリで ゲームに限らず 3D のものを作るときに使えるライブラリらしいですが ほぼゲーム用みたいになってるらしい

enchant

国内製のライブラリで 名前は昔から何度か聞いたことあるけど個人的に興味がもてないやつ

tmlib

最近知ったライブラリでマイナーどころかと思ってたら意外と使われてるものらしいです
2D 用ですが three.js を取り込んで 3D も使えるようになったらしいです
http://tmlife.net/programming/javascript/3d-game-tmlibjs-threejs-webgl.html

驚いたのはこのマリオがいるサイト 昔 JavaScript 始めたころに何度かお世話になったことのあるサイトでした
ここの管理人さんがつくってたんですねー
今は この新しいサイトに移ったようで ライブラリも新しい phina を作ってるようです
マリオは新しいサイトでもまだいます

もうひとつ驚いたことがあって このブログの最初ころの記事に canvas でローディング画面を作ったのがあります
http://var.blog.jp/archives/24984467.html

これがなんと tmlib を使っていました

ネットでたまたま見つけた jsdo.it のサインカーブのプログラムを改造したものですが 短いコードのわりにライブラリ依存すぎてライブラリ知らないとどう変えていいのかわからなくて苦戦したものです
なんか amd の非同期読み込みみたいな define があったりで メソッドや変数が何表してるのかもわからなくて とりあえずロードしてる JavaScript のソースを見てみると 2万行近くあって読むのを放棄しました
そのときは tmlib なんて聞いたことないし ググってもムダだろうと書いてる値を変えたり関数の実行をしないようにしたりでどう変えると結果がどう変わるのかだけを見てローディング画面を作ったものです
そのせいで分かる人が見ればムダだったりおかしなコードが入ってるかもしれないですけど

それとその元の jsdo.it はそこの管理人さんが作ったものでした
知らないうちに tmlib 使ってたんですね!

いまもう一度ソースをちらっと見て思ったのですが 最初の無名関数内での "use strict" の意図ってなんなのでしょう?
(function() { "use strict"; })();
コレ最初に書いても strict モードはそのスコープ内だけで全体は strict モードにならないですし……
きっと意図はあるんでしょうが私にはわからなかったです

phina

↑で書いたように tmlib の後継ライブラリ
いまから tmlib 始めるならこっちのほうがよさそうです

こっちでも define 使って書く書き方みたい
作ってる人の本職はゲームプログラマらしいので 使い方もゲームではよくあるやつなのかなと考えてみたり

その他

海外のサイトでゲームエンジンをまとめてくれてるところがありました
HTML5 Game Engines
Cocos2d-X
Construct 2
Crafty
EaselJS
enchant.js
GameMaker
GC DevKit
ImpactJS
Isogenic Engine
Kiwi.js
LimeJS
lycheeJS
melonJS
Panda.js
Phaser
pixi.js
PlayCanvas
Quintus
Three.js
Turbulenz
voxel.js
WADE

色々あるようですね
ゲームで有名な cocos2d-x も html5 / JavaScript のライブラリがあるみたいです

Unity

Unity がどんどん有名になって最近良く耳にするしユニティちゃん動かしたいし JavaScript が使えるっていうから少し調べてみました

結果 JavaScript じゃなくて UnityScript だそうです
JavaScript っぽいけど 全然違うもので どちらかというと ActionScript よりだとか
クラスあったり動的型付けが使えなかったりと 実際つかってないですが 調べているとこれなら JavaScript じゃなくて Boo か C# でやったほうがいいのでは? と思えるほどでした

他にも違いは色々あるようです
http://loumo.jp/wp/archive/20130805085511/

まとめ

いろいろあって特にこれやりたいってないので思い立ったらなにかするかもしれない そんなくらいです