2012年2月28日火曜日

ADC MEETUP ROUND 04 Social Gaming 観にいきました。

猫も杓子もソーシャルソーシャルなので

観にいってきました!

はじめに

 いろんなセッションがあって全部聞いた結果結局ソーシャルっていうのが自分のなかで消化できてないんだけど(実際やってみればいいんだろうけど、登録するとメールがたくさんくるっていう噂のせいでためらい中)全部紹介できるほどの筆力がないので一番ささったやつだけ。

T-Mobile Angry Birds Live

 Angry BirdsがリアルAngry Birdsやったという話。


これやりたい。
あー、これがソーシャルかー、って感じですね。

おわりに

 というかそもそもFlashのイベントだからソーシャルそのものの話よりFlashの話になるから、ソーシャルのなんたるかはよくわからないのは当然なのかなとか思ったり、DeNAのあとにGREEの発表だったりして妙にどきどきしてしまったけど特になにもなかったのでよかったです。

あと、Adobe謹製のパフォーマンス計測ツール、Monocle超使いたい。

僕もいつかは「ソーシャルゲーム」作りたい。

2012年2月18日土曜日

leapfest2012にいってきました


enchant.jsすごいですねー。HTML5+JavaScriptで簡単にゲームが作れるパワフルなライブラリ!そんなenchant.jsイベントが秋葉原で開催されたので観にいってきました。

leapfest?
leapfest
leapfestでは、昨年5月1日にスタートし、12月31日に終了したゲーム開発コンテスト「9leap(ナインリープ)」プロジェクトの表彰式や、初音ミクで知られるクリプトンフューチャーメディア伊藤博之氏、コミPo!製作委員会の田中圭一氏、そして国際ゲーム開発者協会(IGDA)の日本支部代表である小野憲史氏などのスピーチや、ゲーム開発者たちのライトニングトークなどなど、多彩な内容をご用意しております。
です!

要するに9leapのオフラインイベント的な。講演あり、授賞式あり、その場で審査あり、LTとか9分間コーディングバトルとかもある。充実しまくりでした。

当日のイベントの様子は以下にまとめられています。Ustのアーカイブへのリンクもあるので要チェックです。

4Gamerにも当日のレポートがアップされていました!

感想
ゼビウスでおなじみの遠藤(雅信)さんの話で、ホラー系のゲーム超嫌いだけど遊んでる。会社で、仕事として。でも気持ち悪くなるから1日2回しか遊べない、っていうくだりが面白かったです。

LTではグルコース安達さんが発表でグダグダしつつも安定の面白さで良かったです。LT直前に会場きて、LTコーナー終わったら颯爽と帰っていたのが印象的でした。流しのLTerみたいなかっこよさ。

あとコンテストの受賞者若い。みんな若い。平成生まれとか怖い。

enchant.js本
なんと来場者全員にenchant.js本↓を配布してて超太っ腹でした。


まだぱらぱらとしか読んでないんですが、enchant.jsの解説に入る前に2章まるまるJavaScriptの文法の解説に割いててJavaScript初めての人にも安心だったり、第5章でゲームデザイン(ゲーム作りの流れとか)を説明してたり、作例もシューティング、ARな3Dゲーム、ノベルゲームとか充実してたりするので普通に良い本だと思います。もちろんenchant.js自体の解説は公式本なので安心のクオリティです。

作った
僕も9leapにいくつか投稿してます。ぜひ遊んでみてもらえるとうれしいです!

まとめ
昼ご飯休憩がないとか、終わる時間が16時とかいろいろスケジュールにびびることもありましたが楽しいイベントでした。 
また次回もあるらしいんで今度はステージ立てたらいいなあとか思いました。9分コーディングバトルとかで。



※2012/02/20追記
4Gamerの記事へのリンクを追加。

2012年2月14日火曜日

「ActionScript3.0 パフォーマンスチューニング」読んだ


ActionScript3.0 パフォーマンスチューニング - 野中 文雄 (著)

引き出せ!ということなので、引き出したいと思って読んでみました。
パフォーマンスチューニングについてまとめられた本てあんまりみかけないから期待しつつ。

感想
 なんというか、「ちょっとパフォーマンスチューニングてのをしたいんだけどどうしていいか右も左もわからない」人向けには割といいんじゃないかと思いますが(けど、それパフォーマンスチューニングじゃないんじゃないかみたいなとこもちょいちょいある)、ある程度実力のある人にとっては既に知っている内容が多く、そういう人にはオススメできないかもと思いました。本書が対象とする読者が、
  • 自分の意図した動作を自分のスクリプトとして書きたい。
  • スクリプトはどのように組立てればよいのか、どうすればより効率的な処理になるのかを知りたい。
  • ステートメントひとつひとつの意味を理解して、自分で応用できるようになりたい。
なのでパフォーマンスチューニング入門書みたいなそんな感じですね。

問題
 それはさておいて、この本若干問題がありまして、それがパフォーマンスの計測をしていないこと。パフォーマンスがどれだけ改善されたかをみるためにも計測は基本中の基本だけど、「試してみたところ速くなりました」みたいな表記はるもののどれだけ速くなったかは特に言及されておらずちょっと物足りなさを感じてしまう。「速いのかー。そうかー。」で終わっちゃいそう。もったいない。逆に言うと自分でどれだけ速くなったか調べてもらうという意図があるんじゃないかとか。わかんないけど。

計測
 ちょうどここPDFプレビューが見られるので「変数と関数にはデータ型を指定する」のサンプルを例にどのくらい改善されるのか見てみたいと思います。
測定のために書いたのが次のスクリプトで、処理1がダメな例とされるスクリプト01-01-006、処理2が良いとされるスクリプト01-01-05。
// 初期化
var my_array:Array = new Array(100000);

var t1:int = getTimer();

// 処理1
for(var i = 0; i < my_array.length; i ++) {
 var element1:Object = my_array[i];
}

var t2:int = getTimer();

// 処理2
var nLength:uint = my_array.length;
for(var j:uint = 0; j < nLength; j ++) {
 var element2:Object = my_array[j];
}

var t3:int = getTimer();

trace("処理1の処理時間: " + (t2-t1) + " msec");
trace("処理2の処理時間: " + (t3-t2) + " msec");
結果は
処理1の処理時間: 25 msec
処理2の処理時間: 12 msec
てことで自分の環境だと2倍ぐらい速くなりました。
やばい。テンション上がる。もっと速くしたい。
というモチベーションループが廻りますね。多分。

その他
 Flashのパフォーマンスチューニングについてはこちらの特集がためになります。 身内なので紹介するのは気が引けるけどそれを差し引いても良い内容です。
最後は地道な努力が身を結ぶということで。

2012年2月12日日曜日

WP7のPrismでInteractionRequestを使う


WP7のPrismでInteractionRequest使うときにはまったのでメモ。

はじめに
出したい!と思って以下のエントリも参考にしつつ実装してみる。
そしたら、XAMLを書くところで、
エラー 2 The tag 'InteractionRequestTrigger' does not exist in XML namespace 'clr-namespace:Microsoft.Practices.Prism.Interactivity.InteractionRequest;assembly=Microsoft.Practices.Prism.Interactivity'.
とかなってうまくいかない。困った。

Prism for Phone updated for Mango
調べてみたらPrism for Phone updated for Mangoでこんなことに。
Microsoft.Practices.Prism.Interactivity was also updated to a 7.1 SDK project as well as the following updates:
- Removed BindingListener and InteractionRequestTrigger
- Updated ApplicationBarButtonCommand
そして。
InteractionRequestTrigger was deprecated in favor of EventTrigger provided by the Expression Blend SDK for Silverlight.
ということでInteractionRequestTriggerがなくなってる
そのかわりEventTrigger使えっていうことなので、EventTrigger使って書いたのがこちら↓。