- 2008-04-21 (月) 0:21
- 成長期
まだまだ蒸し暑い日が続く8月の下旬。
会社の冷房が止まりました。
これは本気で死ねます。
ただでさえマシンが熱くなってきているというのに、
そんな中で冷房が止まった日には
汗だく!!
廊下やトイレがかなり涼しいです。
とりあえずその時の対策方は、
うちわで扇ぐしかなかったのですが、
少し向こうを見ると・・・・・
USB扇風機を使っている人間がいる!!
なんて世の中には便利なのものがあるんだと
思った瞬間でした。
でも音が意外とうるさい。
動いてくる物体を、自分の身体を張って止めるという
AIを作る事になりました。
画面は上からの見下ろしで、表示自体は2Dでも、
擬似ですが3D座標になっております。
これを作ると、
どれだけ3D座標系が楽かわかりますよ。
今は3Dポリゴンでやってますが、
Y座標が本当にY座標である感動。
Y座標に値を入れるだけで、
自機が飛ぶんですよ(当たり前)!!
横縦移動が2方向に移動量を足すだけで動きます(2Dもだ)。
つまり仮座標を変換しなくてもいいんですね。
いや、まあ、変換だけなのですが。
3Dでも上からの見下ろしは、
影がないと飛んでるようには見えないです。
だからプレイヤーと一緒に、
影だけはセットでもらうようにしてます。
つまらないミスで処理を失敗すると、
影も一緒に飛んでいますけどね。
縦横の移動量だけでなく、
上方向の移動量も影に足してみたり。
足に変なのがくっついています。
話をメインに戻しまして、最初に作るのは、
その物体の座標に寄っていくという処理ですね。
これは前に作っているので問題ありませんが、
次に求められるのは、その物体を
止めれるのか止めれないのかを判断する事になります。
つまり止めれるのなら、回り込んで止めたり、
前に詰め寄りながら止めたりして、
後ろに抜けさせないように作らないといけませんし、
もし止めれないのなら、
止める努力をしているように見せないといけません。
これが難しい。
止めるか止めれないかを判断するプログラムが
完成するかしないかは置いといて(させましたよ)、
それが完成したと仮定して、CPUが
その物体を止めれないと判断した時、
CPUは無駄な動きをする必要がないんですね。
ゲームしていてまったくドキドキしません。
動かなかったら間に合って、動いたら間に合わない。
瞬時にわかる、その後の行方。
手抜きじゃないのに、どう見ても手抜きです。
だからといって中途半端に動かすと、
どう見てもわざとらしいです。
タタタタと近寄ってくるだけ。
もっと頑張れよ!とツッコミを入れたくなるでしょう。
なので、間に合わないにしても、
微妙にコツが必要だったりします。
まあ、間に合わないんだから、
仕方がないじゃんと開き直ってもOKですが。
見せ方のコツとしては、
とりあえず前と横だけには進まない。
前か横に進むと、回り込んだら取れる!
という風に見えてしまうからです。
なので、やや後ろ方向に進みながら、
物体を逸らすといい感じになります。
まあ、回り込まないで最短距離で進めば、
止めれたんじゃないの?とか言ってくる奴もいますが、
無視しましょう。
それで、いろいろ工夫して、取れるようになると、
今度は物体がどんな動きをしても、
そこを抜く事ができなくなるので注意です。
鉄壁は悪です。
基本的にはドSなので、鉄壁CPUは好きなのですが、
ゲームにならないらしいので怒られます。
昨年はおまけで鉄壁CPUを作ったのですが、
イカサマと言われました。
高度な処理と言ってください。
その仕様、今年は様々な理由で削除されました。
というわけで先に、その物体に対してCPUが、
間に合う間に合わないの処理から作っていく事になります。
回り込むにしても、どこまで回り込めば間に合うのかなども
ありますし、上にも書きましたが、
最短距離で進めば間に合うなどもあります。
さらに余裕で間に合うなら、
前に進みながら止めにいかなければなりませんし、
あまり計算すると・・・・・・処理が落ちます。
単純な移動なら速さと距離で時間が求めれますが、
回転による移動速度の減少とか、
ためが入るモーションとか考えると、
ループで計算する事になりますからね。
一瞬で膨大なフレーム計算する必要があったりして、
処理が落ちたり、下手をしたら、
戻ってこなくなったりします。
だいたいよくわからない部分で止まると、
計算が無限ループしている時が多々あります。
止まっているというより、
超処理落ち!!
次回はその処理を作っていく過程のお話です。
まあ、これに関しては2Dの方が楽だった気が
しないでもないですが。
やる事は同じなのになぜ?
(処理を減らさないと!!編へ)
- Newer: データーベース勉強中
- Older: ゲーム作りは難しいです
![プログラムランキング [人気blogランキング]](http://humanfactory.net/dame/images/r01.gif)
