ゲームライブラリ調べてみました
- カテゴリ:
- JavaScript
- コメント数:
- Comments: 0
◆ 色々あるけど たまーにこういうゲームライブラリがあるとか聞くのはほとんどなかった
◆ 気が向けばなにかするかも
◆ 気が向けばなにかするかも
前にゲーム系なの使ってみるのもありかなと書いたのでとりあえず調べてみました
ゲーム作れるライブラリってたまに聞きますが いざ調べてみると出てくるものに聞いたことあるものはほとんどなかったです
出ては消えていく小さなものが多いんでしょうね
一番の有名っていうのよりはそこそこマイナーどころのほうが好きですけど ある程度は知名度あってメンテされたり開発続いてないと困るのでとりあえず今ググってでてくるものを対象にしました
国内のでは enchant と tmlib が有名みたいです
英語でぐぐると phaser や playcanvas などがありました
初心者でも使いやすいらしい
トップページでも 3D モデルがあるように 2D だけじゃなくて 3D も扱えるゲームエンジン
コレ自体はゲーム用じゃないですが ゲーム系ライブラリの中で使われてるってよく聞きます
少し前に SIer クエスト が話題になりましたが あの綺麗でなめらかなゲームの描画も pixi だそうです
ツールは RPG ツクールで その内部で pixi が使われているんだとか
webGL を使いやすくしたライブラリで ゲームに限らず 3D のものを作るときに使えるライブラリらしいですが ほぼゲーム用みたいになってるらしい
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" の意図ってなんなのでしょう?
きっと意図はあるんでしょうが私にはわからなかったです
いまから tmlib 始めるならこっちのほうがよさそうです
こっちでも define 使って書く書き方みたい
作ってる人の本職はゲームプログラマらしいので 使い方もゲームではよくあるやつなのかなと考えてみたり
HTML5 Game Engines
色々あるようですね
ゲームで有名な cocos2d-x も html5 / JavaScript のライブラリがあるみたいです
ユニティちゃん動かしたいし JavaScript が使えるっていうから少し調べてみました
結果 JavaScript じゃなくて UnityScript だそうです
JavaScript っぽいけど 全然違うもので どちらかというと ActionScript よりだとか
クラスあったり動的型付けが使えなかったりと 実際つかってないですが 調べているとこれなら JavaScript じゃなくて Boo か C# でやったほうがいいのでは? と思えるほどでした
他にも違いは色々あるようです
http://loumo.jp/wp/archive/20130805085511/
ゲーム作れるライブラリってたまに聞きますが いざ調べてみると出てくるものに聞いたことあるものはほとんどなかったです
出ては消えていく小さなものが多いんでしょうね
一番の有名っていうのよりはそこそこマイナーどころのほうが好きですけど ある程度は知名度あってメンテされたり開発続いてないと困るのでとりあえず今ググってでてくるものを対象にしました
国内のでは 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
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 じゃなくて UnityScript だそうです
JavaScript っぽいけど 全然違うもので どちらかというと ActionScript よりだとか
クラスあったり動的型付けが使えなかったりと 実際つかってないですが 調べているとこれなら JavaScript じゃなくて Boo か C# でやったほうがいいのでは? と思えるほどでした
他にも違いは色々あるようです
http://loumo.jp/wp/archive/20130805085511/