"Tunnel Flying!!"は
タイムアタック型のミニゲームなんですが、
この手のゲームで達成感を得るにはどうしたら
いいだろうと考えた結果、
コースの調整に踏み切りました。
1ヶ月ほど前にアップしたテスト版から
モデルのパラメータ調整を行って、
その後も何度かテキトーにテストプレイしていたんですが、
ちょっと簡単になりすぎて
基本的にアクセル全開で行けてしまう
コースが多すぎるな、と思ってました。
また、HighSpeed Modelの
最高速を落としたことで
今までぎりぎりの操作を要求されていた箇所が
易化してしまった、というのも気になってました。
なので、休みだった今日
コース調整を行いました。
調整したのは
コース1、4、6、7、8
の5コースです。
コース1、8は
HighSpeed Modelで
「全開でいけるけど操作がちょいシビア」に
なるように調整しました。
コース4、6は
どのモデルでもヌルいなと思ったので
カーブを追加しました。
(特に6)
コース7はカーブがキツすぎたので緩くしました。
(それでもHandling Model優位は変わりませんが)
壁に触れたら1発アウトのルールなので
初見殺し的なコーナーも有りますが、
数は少ないので覚えられる・・・と思いたいです。
そもそも壁接触→1発アウトにしたのは
跳ね返りの処理を実装しようとすると
色々と面倒だなぁと思ったから、なんですけどね。
面の法線ベクトルの向きを算出して
自分の方向と法線ベクトルのなす角を算出して
跳ね返り後の方向を求めて
何フレームか操作不能にして
スピードも減速させる
ざっと思いつく処理の流れを書いてみましたが、
跳ね返り後の方向を求めるのが
非常に面倒そうです。
変数増やさないと行けないし
(カメラの向いている方向の角度を保持する変数と
自分の飛んでいる方向の角度を保持する変数が必要
現状はカメラの向き=自分の飛んでいる向きで処理を組んでいる)
速度ベクトルと加速度ベクトルの向きが
一致しない状態が発生すると面倒だな、
ということで、壁接触で一発アウトになりました。
他にも向きを変えられる範囲を
左右→±45°
上下→±30°
に限定してたりします。
これは、
「仮想的に作った空間の中にトンネルを一旦全部作成して
自分から見える範囲だけ描画する」
という(多分)本来の3Dゲーの作り方ではなく、
「今いる自分の位置からある程度『先』の部分までの
トンネルだけを逐一描画する」
というやり方で作ったので、
進行方向と真逆の向きを向かれると
トンデモナイことになっちゃうのが
方向制限の理由です。
デバッガーもどきのプレイをする
プレイヤーって必ずいると思うので、
なるべく「想定外」を減らすために
色々と制限を設けています。
これだけ制限かけてるから、ゲーム紹介の時に
「1人称視点のなんちゃって擬似3Dゲーム」
って書こうかなぁ・・・
公開まであと2ヶ月少々。
もうちょっと弄るかと思います。