特濃ゲーム開発塾2012でenchant.jsを使ったゲーム開発について喋りました

岩手でゲームを作ろう的な旨のセミナーで喋りました。

僕は初日の担当で、とりあえずゲームを一本作れるようになりましょう、というのが目標。初めは変数がどうだコールバックがどうだというお話を考えていたのですが、どうもプログラミングを話で教えるのは根本的に無理な気がしてきたので、座学ゼロでオール実技にしました。
f:id:blankblank:20120807135536j:plain
各々が課題をこなしていくだけでは面白くないのでレース形式にしました。ルールはこんな感じです。

  • 参加者は二人一組のチーム
  • 用意された課題を順にこなしていく
  • 課題ができたらgithubにpushする
  • 正解するとポイントゲット

教室の前には各チームのポイントが表示されたスコアボードが表示されています。これはgithubへのpushを検知するnotifierにもなっていて、node.js + WebSocketで書いたサーバーをgithubのWebHookで叩いています。

f:id:blankblank:20120808094359p:plain
チームごとにenchant.jsのキャラが割り当てられていて、ラップトップにアイコンが貼ってあります。

f:id:blankblank:20120807130657j:plain f:id:blankblank:20120807130710j:plain
spaceチーム knightチーム

課題はこんな感じです

  • Stage 1
    • クマを表示させろ!
    • 泣いてるクマを表示させろ!
    • クリックされたら泣くクマを表示させろ!
    • クリックした場所に移動するクマを表示させろ!
    • ドラッグした場所に移動するクマを表示させろ!
    • 勝手に移動するシロクマを表示させろ!
    • 勝手に移動するシロクマ10体を表示させろ!
    • ドラッグした場所に移動するクマと勝手に移動するシロクマ10体を表示させろ!
  • Stage2
    • クマをクリックする"ゲーム"を作れ!
    • クマが10体のシロクマを避けるゲームを作れ!
    • クマが次々に流れてくるシロクマを避けるゲームを作れ!
    • 時間を表示させろ!
    • BGM, 効果音を鳴らせ!
  • Stage3
    • クマから弾を発射させろ!
    • 弾に当たったシロクマを消せ!
    • 敵も弾を撃ってくるようにしろ!
    • シューティングを作れ!
  • Stage M
    • もぐらたたきを作れ!
  • Stage B
  • Stage P
    • Pongを作れ!

enchant.jsはもちろんのこと、JavaScriptも触ったことが無い人がほとんどだったので座学ゼロは不安だったんですが、最終的にはどのチームもそれなりに進みました。チーム作業にしたのと、事前課題としてcode.9leapやっといて下さいっていうのが効いたと思います。レース形式も思いのほか盛り上がって安心でした。

講義の様子はFacebookページにもアップされるのでこちらもよろしくお願いします。