強火で進め

このブログではプログラム関連の記事を中心に書いてます。

「leapfest 2012」でLTをして来ました

「leapfest 2012」でLTをして来ました。内容はenchat.jsとUnityの比較。

leapfest 2012 | PeaTiX
http://peatix.com/event/2823

LTの内容


あまり、 vs と付けるのは好きじゃないけど丁度いいのが思いつかなかったので vs と付けました。どっちも良いライブラリだと思ってますし、どっちも大好きです。



まずは2Dゲームを作る場合の比較。まあ、Unityは3Dゲーム向けのものなのでこの様な結果に。



しかし、Storeで公開されている様なライブラリを導入すれば2Dゲームも簡単に作れるようになります。



次に3Dゲーム。今度はenchant.jsが苦手にしています。



この弱点はgl.enchant.jsの登場により解消されました。



次はゲームパッド。Unityは標準で対応。流石にenchant.jsもこれは無理かな?…



これについても実は「FirefoxのNightlyビルドで有れば使用可能」。

FirefoxゲームパッドAPIを使うサンプル - 強火で進め
http://d.hatena.ne.jp/nakamura001/20120111/1326300136

という事で実際に試してみましょう。こちらで試せます。こちらFirefoxのNightlyビルドのもので無いと動作しませんのでご注意下さい。
※画面をクリックしてフォーカスをゲーム画面に当ててからゲームパッドを操作してみて下さい。
※今回はこちらのゲームパッドでテストして作成しました。こちらのパッドでは「左のアナログパッド」で移動、「2と書かれているボタン」でジャンプします。他のパッドでは割り当てが異なると思いますので色々なボタンを押してみて該当するボタンを見つけて下さい。


結論、「適材適所で使うのが一番」。

Unityだと3Dモデルの配置などまでサポートしているので大規模な3DゲームなどであればUnityが適しています。これから紹介するようなもので有ればそもそもenchant.jsで無いと実装出来ないので自動的にenchant.jsという選択になります。

iPadを忘れて出来なかったネタ

みなさん、「スライドのページ数これだけかよ、制限時間にビビってるのか?このチキン野郎」と思った方が多数だったかと思います。自分としてもLTはギリギリの制限時間を攻めるものだと思っているのですが実はもう1つiPadを使ったネタを準備していたのですがiPadを持って来るのを忘れて出来なくなった為、あんな短いLTとなってしまいましたorz

iBooks 2(バージョン 2にアップデートしたiBooks)が入ったiPadこちらにアクセスしてファイルをダウンロードして下さい。

次に本の中の「RPGもつくれるよ」のページのenchant.jsのロゴをタップしてみて下さい。

これが残念ながらLTで披露出来なかったネタです。

このiBooksファイルの作り方についてはこちらのエントリーにて解説を書きました。

iBooksファイルにenchant.js(JavaScript)製ゲームを埋め込む方法 - 強火で進め
http://d.hatena.ne.jp/nakamura001/20120218/1329561744

enchat.jsでゲームパッドを使う事について

enchat.jsでゲームパッドを使う場合はゲームパッドによってボタンやスティックの割り当て番号が異なる事が問題になったりします。

今回のデモの様に使うボタンが1つの場合にはそんなに問題にならないのですが複数のボタンを使うような場合には「攻撃ボタンがそこだとダッシュのボタンと同時押しは難しいよ」などという話が出てきます。

この問題について、Unityではデフォルトでゲームパッドのボタン割り当て用のコンフィグがデフォルトで付いていてプログラムがその部分を準備しなくて大丈夫な仕様となっています。

まぁ、enchat.jsでも同様にコンフィグ画面を準備すれば対応できるのですがコンフィグまでしてゲームパッドを使って遊んでくれるかなぁ?という懸念が有ったりします。

けれども、文化祭や何かのイベントでの出展など使用するマシンが限定される環境で使うのでは有れば全然アリでは無いかと思います。

ゲームパッドを使うサンプルはこちらから一式をダウンロード出来ます。
※こちらは「もっと綺麗なコードに書き直してenchant.jsのプラグインを制作する」「自分のゲームをゲームパッド対応にする」など色々な用途にご自由に使って頂いて問題有りません。