これはメカニックでは、Alex Wiltshire が開発者を招待し、ゲームの最高の部分を作るために経験した困難な旅について話し合います。今度は登山プラットフォーマーセレステそして動きにおけるタイミングの重要性とコードにおける優しさ。
先月初め、Celeste のメーカーは、ゲームのスターである Madeline のソース コードをリリースしました。 5472 行にわたるコードと、JumpGraceTime、DashHJumpThruNudge、DuckFriction などの変数で、彼女の走る、登る、ジャンプ、ダッシュする能力を正確に定義し、あなたの手の中で彼女に命を吹き込みます。
プログラマーでない場合、コードが実際に何を意味するのかを理解するのは難しいため、Noel Berry に、コードがどのように合体して制御するのに非常に心地良いキャラクターを形成するのかについて説明してもらいました。セレステの中心となるメカニックである彼女のダッシュに焦点を当てると、その多くは、プレイヤーが彼女に期待したことを彼女にさせるゲームに依存しており、必ずしもあなたが実際にやったこととは限らないことがわかります。
ご想像のとおり、セレステのダッシュは瞬間的なスピードの爆発であり、マデリンは空中を含む 8 方向に実行できます。ただし、再度使用するにはマデリンを地面に触れさせて再充電する必要があるため、空中でダッシュできるのは 1 回だけです。これはシンプルな仕組みで、理解しやすいですが、すぐには分からない奥深さを持っています。ゲームの大部分はこの原則に基づいて構築されており、スパイクを配置してダッシュし、着地してリチャージする機会は限られています。
仕組みは非常に簡単です。ダッシュ ボタンを押すと、彼女は別の「ダッシュ」状態に切り替わります。タイマーが設定され、髪が青くなり、ボタンを押したときに保持していた方向に一定の速度が与えられます。その後、タイマーがカウントを開始します。 0.15 秒間、マデリンを制御することはできませんが、その後、ゲームは徐々に制御を戻しながら、再び完全に制御できるようになり、彼女の通常の状態が回復するまで、彼女の速度を下げます。すべては 1 秒以内に完了します。
ゲームが着実にコントロールを取り戻す方法などの側面を洗練し、すべてを快適なものにするために膨大な量の作業が行われました。 「待ち時間が長すぎてダッシュが完全に終わってしまうと、非常に硬く感じるので、誰もその感覚を望んでいません」とベリーは言います。 「スピードランナーを除いて、人々は気づかない傾向にある小さなことがたくさんあります。」
ここで、Celeste の動作デザインの非常に賢い部分が登場します。このゲームでは、コントロールの感覚を維持するために、常に利益を得ることができます。 Celeste は難しいのですが、ピクセルの精度は思っているよりもはるかに劣っています。 「コーディングにおける私たちの意図の多くは、プレイヤーがやりたいと思うことに基づいていました」とベリー氏は言います。 「『ミスしたら終わり』ではなく、環境とレベルを難易度にしたいと考えています。」
この原理の 1 つは、ゲームでよく使用される「コヨーテ ジャンプ」です。ワイリー・E・コヨーテが崖から逃げたときに宙に浮いた瞬間にちなんで名付けられたもので、マデリンが空中に逃げた後もジャンプを押すことができる短い時間が与えられます。同様に、彼女のダッシュが壁にわずかに引っかかった場合、ゲームは彼女のコースを修正するので、彼女は止まりません。
「壁の周りや床の上をダッシュできるピクセルの数を試す必要がありました」とベリー氏は言います。 「ほんの1つか2つですが、正しいと感じるところに到達することが重要であり、それは多くのテストから来ています。私たちはたくさんのテストを行いました。」
ベリーとデザインパートナーのマット・ソーソンは、何度も壁にぶつかるうちに、特に何か問題があるとは気づかないだろうということを承知の上で、友人たちをゲームに誘った。 「しかし、彼らを見ていると、それがうまくいっていないことがわかります。壁が正しくないというレベル デザインの問題である場合もあれば、プレイヤーがここで滑りやすすぎる、または十分に高くジャンプしていないという感覚の問題である場合もあります。」
しかし、Celeste はルールを曲げる部分には注意しています。多くのゲームは、プレイヤーが実際に押している操作ではなく、おそらくプレイヤーが望んでいることを実行するために、コントローラー入力の読み取り方法を微調整しています。通常、デッドゾーンを変更し、プレイヤーが攻撃しやすいように共通の方向に関連する角度を増やすことでこれを行います。しかし、Celeste は、希望の方向にダッシュしないことがこのゲームのプレイヤー レベルで最も一般的な苦情であるという事実にもかかわらず、ジョイスティックの読み取り方法をわずかに変更するだけです。ダッシュはあらゆる方向に実行する必要があるため、ゲームはマデリーンがダッシュできる 8 つの方向のそれぞれに均等な重みを与えることで最も効果的に機能します。まあ、ほぼ同等ですね。下方向にダッシュする必要はほとんどないため、右下と左下ではしきい値がわずかに広くなります。
「これは本当に難しい問題です」とベリーは言います。 「入力の複数フレームを読み取ることでできることはあるかもしれませんが、複数のフレームを平均しており、プレーヤーがスティックを非常に速くフリックすると、誤って読み取る可能性があるため、問題が発生します。私たちはそれができる限り正確であることを望んでいたので、スティックがそれを示しているのです。」
ゲームは 4 日間の素晴らしい開発から発展したため、微調整の多くは Celeste の開発の初期段階で行われました。PICO-8ジャムゲームThorson と Berry は 2015 年に作成しました。しかし、レベルの設計を開始すると、Madeline のコントロール方法に変更を加える場合には、これまで行ったすべての作業に影響を与えるため、細心の注意を払う必要がありました。
「私たちがしばらく持っていたメカニックはひどいものでしたが、クールだと思っていました」とベリーは思い出します。 「私たちが最初にそこから引っ越してきたとき、ピコ-8このバージョンでは壁登りを追加し、スタミナが必要であることがすぐにわかりましたが、壁でスタミナが切れた場合は、1、2秒立って息を整える必要がありました。崩れかけたプラットフォームで息を整えることを中心に設計されたレベルもありましたが、そのメカニズムはゲームの流れを完全に破壊しました。 2秒間立ち止まって何もしなければならないとき、誰も楽しんでいませんでした。それで時間を短縮し続けたところ、0.2秒になった時点で、なぜこんなことをするのかと思いました。」ベリーは笑います。
二人はゲームの仕組みに関係のないものを喜んで取り除き、その後、レベルがたくさん増えた後は、変更のほとんどは Thorson の微調整にかかっています。 「彼はちょうど良い感触を得るために浮動小数点を .2 から .21 などに変更していました。」
Celeste では、物事はあなたが思っているよりもはるかに短い期間で起こります。ベリーは、マデリーンが空中にいるときにダッシュを補充する緑色のクリスタルを収集するときにゲームが実行するフリーズフレームの瞬間を思い出します。ゲームの出荷時は 0.1 秒でしたが、プレイ中のゲームのビデオを見て、長すぎることに気づきました。現在はわずか 0.05 秒ですが、それでも非常に目立ちます。 「人間の目は本当に物事を見つけることができます」と彼は言います。
同様に、マデリンがフルダッシュしているのはわずか 0.15 秒ですが、彼女の航跡に現れる粒子の嵐や、方向に移動するスクリーンシェイクなど、さまざまな視覚効果によってそれが実際にサポートされているのを実感できます。彼女はダッシュする。 「すべてに影響を与えるために、私たちはそれをよく検討しています」とベリー氏は言います。 「私たちは物事が浮いていると感じるのが本当に好きではありません。」しかし、彼らは行き過ぎないように注意し、効果を感じながらもそれに気を取られないようバランスをとっている。
一度 (もし) ゲームをクリアして B サイド チャレンジに着手すると、Celeste が新しいテクニックを教え始めます。これにより、ダッシュには見た目以上のものがあることが証明され、これまで不可能だと思っていたレベルの部分に到達できるようになります。そのうちの1つは、走り幅跳びのような動きです。地面をダッシュしながらジャンプすると、マデリンも勢いを引き継いでさらに跳躍します。これは、Berry と Thorson が作った前作である Towerfall のアクションからインスピレーションを得たものですが、それ以外にもさらなる深みがあります。彼女のダッシュが補充される瞬間までジャンプを遅らせます。ダッシュの追加の勢いで彼女は空中に飛び上がり、再びダッシュする準備も整います。
これは計画されたものではなく、メカニズムから自然に生じたものでした。しかし、レベル デザインをスキップできる方法が開かれた一方で、ソーソンとベリーはそれを気に入りました。 「スピードランナーはあらゆる種類のクレイジーなことを行うことができ、カジュアルプレイヤーの邪魔にはなりません。この期間は、誰も偶然に実行できないほど十分に小さいですが、継続的に実行できるほど十分に大きいです。」
ゲームの開発中に他にもいくつかのテクニックが登場し、ベリーとソーソンはそれらを心からサポートしていますが、すべてのエクスプロイトが同じというわけではありません。ゲームには実行の経過時間を表示するタイマーがあり、起動時はメニューやカットシーンのために一時停止されます。 「しかし、リリースから数週間後、一部の部屋では一時停止と再起動を押すと、マデリーンがその部屋のスポーン ポイントに移動し、数ピクセル前にジャンプしてゲーム タイマーが作動していないためゲーム時間を節約できることに人々が気づきました。メニューを開いたときのこと。それを行うのに最適な部屋の数はわかりませんが、数十の部屋があり、それは楽しいことではありませんでした。誰もそんなことしたくありません。部屋に入るたびにメニューを開いて再起動する人はいないでしょう。」
プレイ中、マデリンの動きを制御するすべてのシステムは目に見えません。彼女はただ動くだけです。しかし、その苦労のなさは、彼女がプレイヤーの意図通りに動作できるよう、ソース コードの値を数か月にわたって調整した結果にあります。 「それが彼女のクラスが非常に巨大な理由です。それは私たちが特定のインスタンスについての詳細を追加し続けたからです」とベリーは言います。 「これは動きを重視するゲームでは非常に重要です。物理的には意味のない詳細な設定がたくさんありますが、感触はずっと良くなります。」
をご覧ください。マデリーンの動きのソースコードはこちら。