2011年10月19日水曜日

Python Developers Festa 2011.10に参加しました

Python Developers Festa 2011.10に参加しました。
同日開催のTokyo.SciPy #2に参加するため、午前だけの参加となりました。
今回も楽しく過ごせたので、いつも主催や準備などをされている方には感謝しています。



今回、いくつもやりかけで放置されているのを課題として持ち込んで、黙々と作業をしようと思っていたのですが、@nobonoboさんのハンズオン「cocos2d で遊ぼう」がおもしろそうだったので、急遽参加することにしました。
ハンズオンに参加したのが一人だったので、講師を独り占めしてしまいました。ありがたいことです。ゲームの話が出来て楽しかったです。

午前中のみで、さらに私の準備がまずかったのですが、ゲームを作るのに最低限のところまではいけたと思います。


やったこと
  • cocos2dのオブジェクトの説明
    • director, scene, layer,  sprite, menu
  • オブジェクトの関連についての説明
  • イベント・イベントハンドリング
  • アクション
  • アニメーション
  • スクロール・多重スクロール(parallax)
  • スケルトン(skeleton)
  • パーティクルもあるよ
  • タイルマップ(Cocographというエディタが使いやすい)
  • あたり判定は標準でも用意されているが、ゲームのタイプによっては、性能や実現したいこと次第で自分で作る必要がある。動きの量が大きいときは障害物を突き抜けたりするので考慮が必要
  • 動きの量に応じたアニメーション(アクションゲームの歩きパターンとか)は標準で用意されていないので自分で作る必要がある
  • フレームレートを意識する
  • まずtestやsampleを見るのがおすすめ。各オブジェクトや機能の使い方がわかる
  • PyWeek が参考になる

少しですがゲームのプログラムについて知識があったのでなんとなく、用語の意味がわかったので、cocos2dのオブジェクトや機能を知る上で役に立ちました。
おもしろいなーと思ったのは、アクションのstepにdt(前回からどれだけ経過しているか)というパラメータがあることです。普通のGUIのイベントハンドラでは見かけないので(発生時間は入ってたりしますが)


反省
cocos2dをArch Linuxのパッケージからインストールしておいたのですが、VM上の環境ではOpenGLまわりの問題で動きませんでした。ホストのWindows側にインストールしてハンズオンは継続できましたが、時間のロスがもったいなかったです。

帰った後VMware(ソフトウェアレンダラ)に環境を移して試しましたが、別のエラーがでてダメでした。その後Mesaをgitからもってきてビルドしたら、accelerationなしで動くようにはなりました。どうもvmwgfx_drvと新しいDRMなら3D accelerationが効くようになってきているようなのですが、DRMのバージョンが合わずあきらめて、古いドライバ+新しいソフトウェアレンダラで動かしてます