Canvas/WebGL対応の2Dゲームフレームワーク「Odin.js」
Odin.jsはJavaScript製のソフトウェア(ソースコードは公開されていますがライセンスは明記されていません)です。
Webブラウザを使ったHTML5ゲームがどんどん増えています。それに合わせて関連のフレームワークやライブラリも増えています。今回はその一つ、2D系のゲームに向けて作られたOdin.jsを紹介します。
[](http://images.moongift.jp/2013/07/Screenshot 2013-07-08 8.20.52.1373331083.png)
デモです。矢印キーでキャラクターを動かしたり、ADキーで板を傾けられます。
[](http://images.moongift.jp/2013/07/Screenshot 2013-07-08 8.21.18.1373331088.png)
傾けると、キャラクターが転がっていきます。
[](http://images.moongift.jp/2013/07/Screenshot 2013-07-08 8.21.26.1373331093.png)
おっとっと。
[](http://images.moongift.jp/2013/07/Screenshot 2013-07-08 8.21.37.1373331098.png)
こちらは物理エンジンのデモ。多数のキャラクターが落下していきますが、ほぼ60fpsでスムーズに描画されます。
[](http://images.moongift.jp/2013/07/Screenshot 2013-07-08 8.21.58.1373331104.png)
拡大もできます。キャラクターが四角と丸い枠に収まっているのが分かるでしょうか。
[](http://images.moongift.jp/2013/07/Screenshot 2013-07-08 8.22.21.1373331111.png)
こちらはたくさんのオブジェクトを描画しているデモ。これもまたスムーズに描画されます。
[](http://images.moongift.jp/2013/07/Screenshot 2013-07-08 8.22.55.1373331117.png)
いわゆるニュートンのゆりかごのデモ。本物ほどスムーズではないですが、オブジェクト同士の関連性は描けているんじゃないかと思います。
[](http://images.moongift.jp/2013/07/Screenshot 2013-07-08 8.23.15.1373331121.png)
二人のキャラクターが干渉するデモ。ぶつかったりできます。
[](http://images.moongift.jp/2013/07/Screenshot 2013-07-08 8.23.37.1373331127.png)
矢印キーでの移動がキャラクターの向いている方向ではなく、画面上の方向なのでちょっとした宇宙遊泳気分です。
Odin.jsはHTML5のCanvasとWebGLを使ったゲームエンジンになります。完全にクライアントサイドだけで動くのではなく、コードはnode.jsで描くのが特徴的です。
MOONGIFTはこう見る
ゲーム開発において難点になりがちなのがサーバとの連携部分ではないかと思います。だからこそOpenFeintやiOSのGame Center、AndroidのPlay Gamesに注目が集まるのでしょう。ゲームによくありがちな機能を提供してくれれば、開発者はクライアントサイドの開発に専念できます。
HTML5においてもそれは変わらないと言えます。サーバサイドとどう連携をとるかによってゲーム自体の広がりも変わってくるでしょう。Odin.jsのように予め組み込まれていると測定したり、ログを取ったりするのが楽になるかも知れません。