社内LTでゲームフレームワークPhaserについて話をしました

久しぶりのエントリになってしまいました。内容はどうあれアウトプットも大事にしていきたいのですが、ここ最近は社内のBacklogに閉じてしまっているのが悩ましいところです。

さて先日、社内でLT大会がありました。
テーマに縛りがなかったため、色んな話があって盛り上がり、面白かったです。

そこで自分はゲームフレームワークPhaserフェイザー)について話しました。
持ち時間は5分間なので、簡単に紹介して面白いよー、って話だったんで、内容は薄めです。そもそも最近ちょっと手を出しただけなので、深いことを話す知識は持ち合わせていないのですが…。

スライドは以下のURLで公開してます(実際に使ったものから少し修正を加えています)。

http://tq-jappy.github.io/slides/phaser.html

今回、新しい試みとして、プレゼンのスライド自体もPhaserを使って作りました(動作確認はChromeでのみ行っています)。

簡単な操作メモ。

ページ 操作 内容
全体 [←]キー 前のスライド
[→]キー 次のスライド
P.6 アニメーション [H][J][K][L]キー ガイコツが歩きます
(viのキーバインドと同じです)
[Z]キー かぼちゃの回転速度を上げる
(押す度に高速回転します)
[X]キー かぼちゃの回転速度をリセット
P.7 物理エンジン [Z]キー 物理エンジンを適用

※ スライド中の画像は公式のロゴ以外、ぴぽや倉庫様のものを使わせていただきました。

Phaser自体がHTMLとJavaScriptさえあれば動く環境なので、スライドもHTMLとJavaScriptで作っておくと、スライドとデモをシームレスに見せることができ、なおかつ、いつでも誰でもデモをその場で試せるのがポイントですね。
かなり昔のRuby会議で星一さんがStar Rubyについて話をした時に、スライドをご自身のゲームライブラリであるStar Rubyで作っていて、面白い手法だなぁと思っていたので、一度やってみたいと思っていたのでした。

ただ、急ぎで作ったのでバグが結構あります。

時間内に話さなかったことをQA形式にて。

Q. UnityとかCocos2d-xとかenchant.jsにしなかったのはなぜ?
A. 各サイトをざっと見て、Phaserが一番楽しそうだったので。また、UnityやCocos2d-xは日本語でもいっぱい情報があり、聴講者に知っている人がほとんどいなそうなものを紹介したかった、という意図もあります。

Q. UnityとかCocos2d-xとかenchant.jsとは何が違うの?
A. そこまで詳しくないので変に比較はできないですが、以前Pygameを触っていた時と比べると、Phaserの場合、複雑なゲームにも対応できる豊富なAPIを備えている一方で、初学者が楽しくゲーム開発するためのハードルも低いのが強みなのかなぁと思います。