前回、移動を気持ちよくしたいという話を書きました。今回はその続きで、移動の滑らかさのために自作した機能をまるごと捨てた、という判断の記録です。
「乗り越え」がうまく作れなかった
このゲームには、段差や壁をよじ登って乗り越える動きがあります。障害物を越えて先へ進む、よくあるあれです。
最初は、これを自分で作っていました。壁を見つけたら手をかけて、体を持ち上げて、と動きを一つずつ組んでいく方法です。動作としては成立します。ただ、滑らかにならない。どこかでカクッとする、壁にめり込む、乗り越えたあとのテンポが崩れる。
何日もかけて微調整しましたが、ここを直すと別のところが崩れる、という繰り返しでした。一つの機能のつもりが、なかなか抜け出せませんでした。
滑らかさは「機能」ではなく「結果」だった
調べていくうちに、一つ分かったことがあります。
あの自然で滑らかな動きは、単体の機能として作れるものではない、ということです。膨大なモーションのデータベースから、状況に一番合う動きをリアルタイムで選び続けることで、結果として滲み出てくる質感でした。
つまり、僕がやっていた「動きを手で一個ずつ組む」やり方では、原理的にあの滑らかさには届かない。継ぎはぎでどれだけ調整しても、本物の質感は出ないということです。
自作を捨てて、本物を土台にした
そこで、自分で作った乗り越えを捨てることにしました。
代わりに、Unreal Engine の公式が用意している移動システムを、そのまま土台として使う。その上に、自分のキャラクターの見た目や、このゲームならではの要素(前回のスティックを弾くダッシュなど)を薄く乗せる形にしました。
自作するところは自作して、使える出来合いのものは使う方針です。プレイヤー気持ちよく感じるものを作りたいと考えています。一人で全部を担う開発では、どこを作り込んで、どこは出来上がったものに任せるか、その見極めが一番大事なスキルなのだろうと思いました。
土台は借りる、自分の色だけ足す
これは乗り越えに限った話ではなく、このゲーム全体の作り方の方針になっています。
滑らかな移動、乗り越え、マルチプレイの同期。こうした土台の部分は、専門の人たちが作り込んだものを遠慮なく使う。そのうえで、駆け引きのある戦闘や、移動の手触り、自分だけのキャラクターといった「このゲームの色」を、土台を壊さないように薄く重ねていく。
借りたものの良さを消さずに、自分の個性だけを足す。一人で一定の品質に仕上げるための、現実的な進め方だと今は考えています。
次回は、協力プレイの戦闘で重視している「ラグで操作を遅らせない」設計の話を書きます。

