- 2007-05-27 (日) 0:04
- 成長期
キーボードのUPボタンを押すと自機が上へ。
キーボードのDOWNボタンを押すと自機が下へ。
キーボードのZボタンを押すと自機が前へ・・・・・・
自機だけが前へ!!
カメラは固定なので、あっという前に画面前方に小さくなって、
消えてしまったピンクのトラ(最初の頃はテクスチャをピンクに
してました)。しかも後ろに下がるというボタンを作っていなか
ったので、ひたすら前に進むしかありません。
どこかのダメゲームプログラマーと同じで前のめりです。
しかしシューティングゲームやアクションゲームを何個も
作った今でも、自機が最初に動くと嬉しいもので、
当時のミナミは初の3Dゲームだったというのもあり、
何度も何度も地平線の彼方へ飛ばしていました。
帰って来ないですけどね。
本来なら、ここでやるのはカメラのZ値に、
自機のZ値に加算している同じ分の加速を入れるべきなのですが、
同時に同じ値を入れるなんて事は、
当時にミナミがすぐに思いつくはずがありません。
でも、そこらの小学生でも思いつきます。
そこでミナミがした処理はカメラのZ値だけに速度を入れる!
ほら!自機と一緒にうご・・・・・・・自機が置いてぼりに!
当たり前です。
というわけで、いちいち遠回りしないと正解に辿り着かない
ダメゲームプログラマーですが、どちらのZ値にも値を入れると
いう事を自力で発見し、なんとか前に進むようになりました。
カメラのスピード処理と自機のスピード処理を完全別々にした
ので、後で大問題になるのですが、ここではあえて省略しておきます。
カメラ、ズレまくり!!
左右の動きは動く範囲が一画面と決まっていますし、
コースにカーブもないので、自機のX値を加算するだけで、
なんとかなります。
同様に上下の動きですが、
落とし穴に落ちようが、ジャンプで高く飛び上がろうが、
画面からピンクトラが消えるのは仕様です。
前後の動きだけで精一杯のミナミに、
上下左右の動きまで気をつかえなんて無茶です。
カメラの動きというのは、絶対というぐらいに最後まで調整が
必要です。2D、3D限らずです。
よって、カメラはできるだけ自由にカスタマイズできるように
作っておく必要があり、値を入れたら動くようにするのが基本です。
上記でカメラと自機の動きが完全別々と書きましたが、
参照する値は同じでいいんですよね。
自機と同じようにカメラも進むわけですから、同じ値が入るのが
当たり前なわけで、その値をカメラの関数の引数に入れれば、
同じように動くわけですが、完全に別々に作った為、
カメラの加速値&速度と自機の加速値&速度が別々にある!!
よって、カメラ自体も自機の動く処理と同じぐらい長いプログラム
があり、しかも自機と同じぐらいガッチリと作っているので、融通
がまったく利きません。
カメラと自機がズレるのを修正する意外は、
ここで作ったのから最後までカメラをいじりませんでしたよ。
ズレるのも最後まで直ったわけじゃないんですけどね。
ここまでの処理って確かに最初に作るのですが、実際は仕様に合わせて
変更していくものなんですよね。それなのに、ここで決めうちでガッチリ
と作ってしまった為、カメラと自機の動きに合わせて、ゲームの仕様も
作っていかないといけないハメになり、ダメゲームプログラマーぷりを
発揮してしまいました。
最初で自由の幅が狭まったゲームなんて、
これ以上作りたくありません。
次回は障害物との当り判定の話。
2Dの時は当りを作らなかったり、誤魔化したりしてましたが、
さすがに今回はマズイので真面目に作りました。
しかし、これも悪戦苦闘。
処理落ちまくりでした。
(XP搭載マシンで良かったよ。編へ)
- Newer: ダメゲームプログラマーが意識改革した本
- Older: チャットの方が気分が楽なんです



![プログラムランキング [人気blogランキング]](http://humanfactory.net/dame/images/r01.gif)
