JavaScript ゲーム製作勉強会 Vol.2

JavaScriptの勉強会でしかも今回はゲームが題材とのことで、面白そうだったので参加してみました。


内容については、hirataraさんがいらっしゃったこともあり詳細にメモを取っていないので簡単に感想だけを。


詳しい内容については、@hirataraさんのエントリーを参照してください。

「ngCore の話」 - @shibukawa さん

  • iOS版の「忍者ロワイヤル」をやってみて、ngCoreスゴイなぁと思っていたので話が聞けるのを楽しみにしていました。
  • ngCoreについては、気にはなっていたもののどういうものか全く知らなかったので、簡単に概要を知ることが出来てとても勉強になりました。
  • node.jsでビルドサーバーを立ててそこにスマートフォンからHTTPでアクセスして開発していくスタイルだそうで、圧縮して1つのjsファイルにしてくれたりととても便利そうでした。
  • Box2Dが使えたりと忍者ロワイヤルを見ればわかる通り2D向けのゲームだとかなり凝ったものが作れそうでした。パフォーマンスに関してもネイティブには負けるもののウェブアプリよりは早いため、弾幕シューティングはキツイものの多くの要件は満たせそうに感じました。
  • 後は、独自にオブジェクト指向をサポートしていたりと、JavaScriptに慣れていない開発者に対してのサポートも充実しているなぁといった印象を受けました。
  • こちらのサイトから登録すると使えるようにですが、渋川さんもおっしゃていた通りもっと気軽に個人で使えるようになるととても面白いんじゃないかなと期待させられました。
  • 今度もどんどん開発が行われるようなので注目していきたいなと思いました。

「IMPACT入門」 - @Seasons さん

  • ゲームエンジンについては、あまり情報を追っていなかったので、IMPACTは知らなかったのですが、HTML5 + JavaScriptでゲームを作れるドット絵な2Dゲーム向けのフレームワークだそうです。
  • 無償版はなく有償版のみで、$99の買いきりだそうです。
  • 開発の流れとしては、素材作成→エンティティの作成(JavaScript)→レベル作成→テストプレイの流れで行われるそうです。
  • 個人的にはレベル・エディタがとても面白いなぁと思いました。chrome推奨なブラウザで動くエディタになっていて、マウスで画像やブロックを配置していき、コリジョンやイベントもマウス操作で設定出来るのがとても面白いなぁと思いました。動作もかなりサクサクと動いているように見えました。
  • またiOSのアプリにするのも簡単にできるそうで、さらにChrome Web Storeにも出すことが出来るそうです。
  • Software Designの9月、10月に連載があるそうなので是非とのことでした。

スマホ向けCanvasゲームの作り方」 - @chikathreesix さん

  • DeNAでのガラケー向けのFlashスマートフォン向けにCanvasに移植したときのお話でした。
  • 少し前に自分もガラケーFlashのゲームをスマートフォン向けにCanvasで移植したことがあったので、とても楽しみにしていました。
  • CSS3とCanvasの使い分けやCanvasの基本的なところから、Android 2.1のバグについてや、Canvasのパフォーマンスに関してなどとても勉強になりました。
    • CSS3向け
      • シンプルなアニメーション、HTMLベースで作れる
    • Canvas
      • 複雑なアニメーション、衝突判定が必要なアクションゲーム
  • 座標を小数点で指定しているのは自分が書いた中でもやってしまっている部分もあるので、今後はちゃんと整数で指定するようにしようと思いました。また、自分が移植したものはsetInterval回してアニメーションさせるようなものではなかったので、アニメーションのさせ方などはとても勉強になりました。
    • 座標に小数点を用いない。
    • setIntervalの間隔に依存したコードは書かず、経過時間を取得してその差でアニメーションを設定する。
    • パフォーマンスはFPSで計測する。
    • ディスプレイに描画する部分はiphone4遅い。
    • drawImageで拡大するのは遅い。
      • あらかじめ拡大した画像を作っておく。
  • Canvasの基本とAndroid 2.1にバグについては以前書いたのですが整理できてよかったです。
  • また、DeNaで使っておられるというAS3ライクなCanvasフレームワークに興味を持ちました。Canvasって確かに面倒な部分も多いので、フレームワークを作ることや、既存のものを使うという選択肢も考えるべきなのかなと思いました。
  • 個人的には、CanvasとCSS3はどちらかのみではなく、要素によって使い分けながら一緒に使っていくのがいいと思っているのですがどうなんでしょうか。。Canvas内の操作とDOM操作が混ざってしまうことになりますが。


ネイティブな話からウェブアプリの話まで、JavaScriptでゲームを作ることの選択肢を色々見ることが出来た勉強会でした。話を聞いていて、改めて複数人がかなわる規模の大きな開発になった時のJavaScriptの開発スタイルを身につけないとなぁと感じました。


発表者の皆様、主催者の皆様ありがとうございました。
https://sites.google.com/site/akibajs/vol2