2021年の夏に行われた第16回ぷちコンぷちスタの実装振り返りの続き.
第16回のぷちコンテーマは「みち」であった.ぷちスタである程度の土台はできていたのであとはそれを改良…としたかったが時間の都合もあって思いのほか改良できなかった.
「みち」の意味としては「道」「未知」があったが,今回の作品では一応エンドレスランナーは「未知の道」的なことで盛り込んだ形だろうか.
とはいえ,コンセプトとしては弱く,アンリアルクエスト系の課題としては十分だったが,ぷちコンの作品としては不十分だったかもしれない.
ぷちスタEx課題編
Ex課題を組み込みつつぷちコン作品としてのブラッシュアップ.
コースギミックの追加
まず通常の床ますにおいては,コインのほか(1/3),後述のジャンプ力アップコイン(1/6),スピードアップコイン(1/6)や,触れるとダメージを受けるトゲ(1/3)など生成物のバリエーションを増やした.
さらに床の種類も増強.そもそもエンドレスランナーを直線状にひたすら続けていくと,座標の問題からいずれエラーになってしまう.今回の作品はハイスピードで進行するのでそこそこ限界は早い.
そこでこれを緩和するため,左右に進行方向を変えるマスを新設した.
画像は左転回用のもの,下側から侵入し,左側に抜けていく.
斜めになっているトリガーに侵入すると,プレイヤ変数であるForwardAngleに-90を加算し方向転換する.右に展開するものも同様.今見ると2重処理の危険性があるのでOnceノードを挟んでおいた方が安全そうである.
この回転マスは,画面の動きに変化をつけ,技術的な座標問題も緩和することができる良い仕事をするものとなった.
また,立体的なギミックとして中央または両端をジャンプ台のような坂にするマスも組み込んだ.
ジャンプ力やスピードによっては壁の外にぬける可能性があるため,Boxコライダによって見た目よりも高く壁を設置している.中央が坂になっているマスではトゲが出ない代わりにライフ回復アイテム(青いコイン)が出現し,残機を回復できるようになっている.
さらに,「未知」の要素を高めるために,特殊なオブジェクトが生成されるマスも設置.
ぶつかって弾くとコインより多くのスコアが手に入る.そして破壊タイミングが生成したマスと同期しているので,ぶつかり方次第では何回も得点を得られるギミック.
選んだオブジェクトは謎の三角のやつ,グレイウーマン,ドア,岩,イス
アイテム(加速アイテムなど)を追加
プレイヤ―の状態を変えるアイテムにはジャンプ力アップコイン(緑)と,速力強化コイン(赤)の二つを用意した.
ジャンプ力のほうはJump Z Velocity,速力のほうはMaxWalkSpeedとRunSpeedを加算することによって能力強化を実装.しかし初期状態においても十分速いのでこれらのコインを拾うと操作性が悪くなり,難易度が上がってしまう.そこで今回は拾った強化コインの数に応じて,スコア加算のレートを向上することで,この強化コインの利点と欠点のバランスを取ることにした.
スライディングの追加
結論から言えば今回の作品にスライディングは盛り込んでいない.
スライディングのアニメーションはグレイマンのデフォルトには用意されていないので,別途用意する必要がある.
のでスライディングは実装しなかったが,ゲーム上必要なモーションがあったためアニメーションの制作は行う必要があった.今回はこれをControllRigを用いて作成した.
同様の手順を用いればスライディングも実装可能であるだろう.
必要なモーションはゲームオーバー時の転倒モーションである.これはグレイマンであればラグドール化するだけで良いのだがVRoidのVRMはコリジョンが初期設定されていないのでそのままでは働かず,キャラクタが溶解四散してしまう.私は当時はまだこのセットアップがわかっていなかったので,ラグドール化の代わりに転倒のモーションを作成することにしたわけだった.
VRMでのコントロールリグの作成についてはVRM4Uの公式の記事に書いてあるのでこちらを参照.
コントロールリグができてしまえば,BlenderなどのDCCツールと同じようにシーケンサにキーフレームを打ち込んでいくことでアニメーションを作成することができる.
ただ操作ミスのせいか,このコントロールリグが消滅してしまうことが作業中よくあったので,何度かやり直すことにはなってしまった.コントロールリグまわりは不慣れなのでまた機会があれば習得していきたい.
いい感じの転倒の様子をシーケンサで作ってこれを保存すればアニメーションの作成は完了.
エフェクトの追加
このゲームはスピード感を推したいところがあったので,スピードが一定以上になった際にエフェクトを発生させるようにした.
画像は前記事の2で前に進みながら左右に移動できるノードの終端のAdd Movement Inputから.
ここで速度ベクトルの大きさが一定以上(ここでは3000)かを判定し,それを満たしていれば1度だけパーティクルコンポーネントとして足元にSparkを生成するというもの.
逆に一定値を下回った時に,上で生成したパーティクルを削除する.
この際,パーティクルコンポーネントが存在しない場合があるのでIsValidによって判定し,存在している時のみ削除を実行させることでエラーを防いでいる.
キャプチャじゃぼけぼけになってしまうが,スピードにのると青い軌跡を表示させることができている.
ぷちコン提出作品「Tail Wind」
最終的にぷちコンのほうに出した作品はこれ.タイトル画面は撮影しなおさずに床材のままで.
内容自体はぷちスタ提出時とそこまで変わっていないが,ギミックやアイテムの追加により少し見栄えは向上.しかしアクションゲームなのでなかなか紹介動画映えするシーンを撮影するのが難しい.
この作品はUnreal Engine 5.0 Early Accessを用いて2021年の8月後半くらいに制作されたものです.
編集能力やプレイ能力によってもゲームの魅力をより伝えることができるかもしれない.
コメント