kumaryu日記
2010-07-06
_ 日記
大変なことになった。
iPod nanoがいつもの机の上になく、探していたらズボンのポケットに入っていたのである。洗濯済みの。
とはいってもiPod nanoは爆発したわけでもなく、いつもどおりなので安心。以前とちょっと違うことと言えばボタンを押そうがケーブルを挿そうがうんともすんとも言わないことぐらいで。
…よりにもよって全く不満なく使ってたiPod nanoでやらかしますか!
もー、32GB版とか出てればちょうどいいからとかいって買い替えたけど、iPod nanoアップデートがあるとしても9月だろうしなぁ。つか16GBでも1万7千円くらいはするんだよいてーよ。
そんなことよりruby-listにもやっとRubyゲーム会議の告知を出しました。
いやさぼってたわけじゃないよ。分散させることで忘れられがちな告知を思い出してもらうためになんたらかんたら。
すいませんメール出すの苦手でさぼってました。でも分散させる意図もほんのちょっぴり言い訳程度にあったんですよ。こんなに遅くするつもりは無かったけど。
_ [Silverlight][Ruby] SilverlightとIronRubyでゲーム
大変なことになった。
敵AIを簡単に作ってちょっと遊んでみたら、致命的にクソゲーだったのである。
いやクソゲーじゃない。ゲームと呼ぶのもはばかられるおぞましい名状しがたき物体であった。
そんな予感はしてたけど想像を上回って面白いくらいに面白くないので、さっぱりと捨てました。無かった。
さて、SilverlightとIronRubyで何かゲームでも作ってみるか。時間ないけど。
とりあえず何故かSilverlightとIronRubyでSTGっぽいゲームが作れそうなコードが手元にあるので、普通にSTGっぽいものを作ろうかと思う。
まあマウス&1ボタンのみでSTGやってもろくに遊べないし、処理速度的にも不安があるからまんま普通のSTGにはしないけど、ほとんどのところは普通のSTGにするつもり。
配置とかアニメーションとかのツールを作っていくのが妥当だろうけど、そこは時間的に大変厳しい*1ので出来うる限りの手抜きをしたい。
Expression Designでちょこちょこイメージを描いてたら、思ったより良さげだったので方向性はすぐ決まった。
そこから敵のイメージを切り出してExpression Blendに貼ってアニメーションつけたら、なかなか手軽に良さげになったじゃないですか。
そのままxamlに保存して読み込んで表示させてみたらなんなく出た。これは希望がもてる。
ステージをどうしようかと思ったけど、いろいろ考えるとめんどいので、やっぱりBlendででっかいイメージを作ってスクロールさせることに。地形と衝突判定どうしよう?めんどいからSilverlightのコントロール用のヒットテスト使えばいいんじゃね!!
スクロール速度の調整とかもめんどいからBlendでアニメーションつければいいよね!
と思ったんだけどさすがにスクロールは無理かも。こまったね。
というのも、Silverlightのアニメーションって非同期前提。Storyboardを一通り再生しといてね!っていうのは出来るんだけど、非同期でいつのまにか進めてて取れるといえば再生終わったよイベントくらいなので細かい制御はほぼ無理っぽい。
キャラクタアニメーションなら定常状態、弾撃つ、死亡、てなぐらいだし死亡以外は派手に動きもしないようにするからゲーム動作と同期取る必要もなくてSilverlightのアニメーション使えるんだけど、衝突判定取りたい地形がゲーム動作と同期できないってのはまずいわな。
Storyboard#beginせずにStoryboard#seekとかやったらどうかと思ったんだけど、やっぱり動いてる状態じゃないと反映されないみたい…。編集はExpression BlendでおてがるにやりたいからStoryboardは是非とも使いたいんだけど無理なのかなぁ。
UIのアニメーション用であってゲーム用じゃないからユーザーコード側から細かい制御できないのはわかるんだけどね。でも今は時間ないから無理矢理でも手抜きしたいんだよ!
さてこまったね…。
*1 Rubyゲーム会議に持っていきたいのでもう2ヶ月無いし、本配布もたぶん9月中頃