How multiplayer fell into Human: Fall Flat

明らかに、明らかにヒューマン: フォール フラットマルチプレイヤー向けに準備されています。これは、あなたがふらふらの非ニュートン人としてプレイする、ありふれた物理ゲームです。彼は不格好で制御するのが難しい、そして何といっても、ギャングビースト複数のプレイヤーが集まったときの組み合わせがどれほど面白いかを示しました。

しかし、開発者のトーマス・サカラスカス氏は、自分のゲームをそのようには考えていませんでした。ヒューマン フォール フラットは、シングルプレイヤーの物理ベースのパズル ゲームであることを意図しており、ポータルとリンボ。それに、オンライン マルチプレイヤーは不可能だと確信していました。しかし、それは選手たちが求めていたことなので、彼に何ができるでしょうか?

「指先では見えませんでした。完全に見逃していました」とサカラスカスは私に語った。彼はシングルプレイヤー用に、Intel の Kinecty 深度センサー コントローラーである RealSense をサポートするようにゲームを設計しました。 「それは完全に、コンピュータごとに 1 つのデバイスと 1 つのプレーヤーでした。私は単にその質問をしたことがなかったのです。」そのため、2015 年 11 月に初めて『Human: Fall Flat』を Itch.io でリリースしたとき、マルチプレイヤーのリクエストが届き始めたことにはかなり驚きました。

彼は分割画面協力プレイの実装を検討しました。サカラスカスはキャリア プログラマーであり、興味深い問題に取り組むことやクライアントの要望に応えるのが好きなタイプで、プレイヤーが望むものをサポートしながら、自分のゲームの新しい技術的側面を探求することに真剣に取り組むことに魅力を感じていました。

そして、それを実装するのは比較的簡単であることが判明しました。主な問題は、ジャンプイン、ジャンプアウトを確実に行うことでした。そのため、追加のコントローラーを監視し、2 人目のプレイヤーがゲームに出入りするときにコントローラーをマッピングする必要が生じました。彼は、当時 13 歳の息子と一緒にテストしました。息子は、『Human: Fall Flat』の主任テスターとして、おそらくこのゲームにおいて 2 番目に影響力のあるクリエイティブ担当者です。 「私たちは楽しかったし、喧嘩もしました。ヒューマン: フォール フラットで何ができるかはご存知でしょう。」

サカラスカス氏の主な発見は、他のプレイヤーとプレイしたときにゲームの雰囲気がどのように変化するかということでした。パズルが 1 人用に設計されているため、難易度が低くなり、ラフで転がるような遊び心が高まりました。 「分割画面を追加することで、まったく新しいゲームが誕生しました。」

もちろん、初期のプレイヤーは単なるソファでの協力以上のものを望んでいた。このモードが完成したとき、Sakalauskas 氏はオンライン プレイのリクエストを断っていました。なぜなら、彼はそれが可能だとは思っていなかったからだ。彼は、オンライン ゲームにおけるゲーム物理学が非常に難しいことを知っていました。 「残念ながら、遅延のためネットワーク プレイは不可能です」と彼は言いました。ゲームの Itch.io フォーラムの 1 つのメッセージに返信しました。 「世界との対話が主なゲームの仕組みである場合、対立を解決することはできません。」

サカラスカスにとって、それはすべて、ボックスで起こるだろうと想像していた問題に関するものでした。 2 人のプレイヤーがボックスを反対方向から引っ張るとします。同じコンピュータ上で分割画面で再生すると遅延がなく、いつでも誰もがボックスの場所を把握できます。しかし、Sakalauskas 氏は、オンライン プレイでは、プレーヤーがコントローラーのボタンを押してボックスを引っ張るまでに 200 ミリ秒かかる可能性があり、その情報を PC がホストに送信し、ホストがすべてのプレーヤーのアクションを組み合わせて送信するまでに 200 ミリ秒かかる可能性があることを知っていました。結果はプレイヤーに通知されるため、何が起こったのかを最終的に確認できます。

アクション ゲームでは、予測によってこの問題に対処します。これが、角を曲がって遮蔽物に入った直後にヘッドショットされた場合に、プレイに小さな一貫性のない原因を引き起こします。迷惑ではありますが、定期的に発生します。プレイしているほとんどの時間では、予測は目に見えないほど十分に機能します。しかし、プレーヤーとオブジェクトが常に相互に影響を及ぼし合う物理ベースのゲームの絶え間ない変化では、予測はさらに難しくなります。したがって、ボックスの問題が発生します。 「各プレイヤーがボックスが自分の方向に一定の距離を移動したと信じる一定の時間があります」とサカラウスカス氏は言います。 「ここで、箱の実際の位置に関する情報が必要になると想像してください。あなたは決意を持っています:箱はどこにありますか?

オンラインは不可能だというサカラスカス氏の発言に対するプレイヤーコミュニティの反応は分かれた。彼の立場を擁護する人もいた。 「他の人たちは、このゲームが何とかして、あなたは愚かだ、他の人がやったことを解決することはできないと言っていた。そして第1セットは、『いやいや、あのゲームはまったく違った、他のゲームでうまくいくと信じているものはただの煙と鏡だ』という感じだった。」

三番目グループは彼が何とか成功することを願っていた。そして、中には、画面共有を使用して、別の大陸にある PC 上で実行されるゲームをプレイするという、非常に大雑把なテストを行った人もいました。彼らはそれが再生可能であると報告しました。 「レイテンシーはかなり悪かったと思います」とSakalauskas氏は言いますが、それは解決策を示しているようでした。データを大量に消費するビデオのストリーミングを伴うセットアップでも再生可能であると感じた場合、彼は間違いなくより良い実装を行うことができるでしょう。世界情勢に関する情報をストリーミングするだけで済みます。 「しかし、もちろん、すべてを実装するまでは、それが機能するかどうかはわかりません」とサカラウスカス氏は言います。

また、オンライン プレイが、パートナーの反応が見える分割画面と同じくらい楽しいものになるかどうか、まだ確信が持てませんでした。有害なプレイヤーについてはどうですか?それでも、問題解決の考え方を持っていた彼は、それを興味深い挑戦だと考え、そこにはまってしまいました。

この作業はすべて最適化に関するもので、特に、接続されている各プレーヤーの世界の状態を同期する情報ストリームの圧縮でした。彼はグレン・フィードラーの本を読んだゲームのガファーオブジェクトの回転を説明するために必要な情報を削減する一般的なトリックのブログ。彼は、ガラスや壁が砕ける破片や瓦礫の量を減らしました。そして彼は、オブジェクトがどのように眠るかを実際にいじる必要がありました。

睡眠は、コンピュータが物理学に支配された世界を計算しようとするときにメルトダウンを避けるための重要な方法です。オブジェクトがスリープ状態の場合、その状態に関する新しい情報は接続されている各プレーヤーに送信されません。しかし、スリープ状態にするためには動かないようにする必要があり、Sakalauskas 氏は Human: Fall Flat の一部のオブジェクトを静止させることにいくつかの問題を抱えていました。たとえば、チェーン内のリンクはお互いを動かし続けます。さらに、Unity では通常、オブジェクト内の 1 つまたは 2 つではなく、接触しているオブジェクトのグループ全体がスリープ状態になることしか許可されません。物体が十分に落ち着くよう、動きを弱める必要がありました。 「特にチェーンには若干の減衰があったため、実際に激しくスイングする前に。もう少しベタつきはありましたが、実際にそう感じるほどではありませんでした。」

6 か月の作業、半分はコア実装のプログラミング、もう半分はゲームの各レベルに合わせた微調整に費やした後、彼は一歩下がって、それが彼が目指していた 6 人のプレイヤーよりもさらに機能的であることに気づきました。 「それで、8 人のプレイヤーに公開してみよう、と考えたのです。」

注目すべきことに、このゲームが 1 人のプレイヤーだけが解けるパズルで設計されていたのに、8 人の暴れ回るデブ男が参加できるようになったにもかかわらず、彼はレベル デザインをほとんど変更しませんでした。水位には 1 か所だけ、プレイヤーがボートに引っ掛けることができる鎖があります。サカラスカス氏は、張力がかかりすぎると故障してしまうことに気づき、チェーンが一定のしきい値を超えて伸びるとフックが外れるという任意のルールを設けました。

彼は、全員が乗れば揺れるボートが沈むことを喜んでいますし、全員がお互いの上に登ることができれば、多くのパズルが意味をなさなくなることを喜んでいます。 「私は選手たちを封じ込めたり、解決策を強制したりしようとはしません」と彼は言う。 「物理的な要素をすべて備えたシングルプレイヤー向けの防水性を実現するのは非常に困難で、8 人のプレイヤーが思いつくものを加えると、すべてのシナリオを検討してそれが機能することを確認することは不可能でしょう。また、これは AAA の作品ではありません。何かが壊れても、人々は怒って壊れたというメッセージを投稿するのではなく、それをからかう傾向があります。」

しかし同時に、Sakalauskas 氏は、『Human: Fall Flat』にはプレイヤーがお互いの進行を妨げる可能性がある多くの方法があることを認識しており、どのようにプレイされるかについて緊張していました。昨年末に慎重にアップデートを初めてリリースしたとき、彼はオンライン プレイをホストの友達リストに載っている人に制限するスイッチを入れる準備ができていました。 「プレイヤーがゲーム中ずっと他のプレイヤーを掴んだり投げ飛ばしたりしてプレイ不能になるだろうと思っていましたが、コミュニティはそれほど有害ではありませんでした!」選手たちはなんとか楽しむことができました。

サカラスカス氏は、他人に迷惑をかけながら楽しむ機会がほとんどないことが原因だと言う。他のプレイヤーをしばらく押さえつけてしまうと、もう一度同じことをするという考えはかなり退屈になります。 「また、グリーファーがやって来て自分が建てたものを爆破する可能性がある Minecraft のようなゲームと比較すると、与えられるダメージはかなり限られています。だから、他人にあまり苦痛を与えてはいけません。」

サカラスカス氏は、オンライン プレイが『Human: Fall Flat』の頂点であるとは考えていないような気がしますが、特にその効果については、自分が達成したことに明らかに満足しています。昨年 12 月にアップデートがリリースされた後、売上は爆発的に増加しました。 6 か月後、すべてのプラットフォームで 400 万人に達しました。

しかしブームの間、Sakalauskas はゲームの開発を中止せざるを得ませんでした。彼は燃え尽きてしまった。彼はこれまでの 2 年間を、彼が言うところのクランチモードで過ごし、週 7 日、多くの場合 1 日 14 時間働きました。多くの個人のインディー開発者にとって、それは主に自らの責任によるものでした。 「滞在中はどの瞬間も楽しかったです」と彼は言います。しかし、それは犠牲を伴いました。 「もしかしたら、その一部を変更してもいいかもしれません。」

同時に、彼は『Human: Fall Flat』がほぼ自由形式の創作の結果であるという事実を誇りに思っています。 「すべてのゲームは反応のループです」と彼は言います。 「私はただ実験していて、何が起こるかわかりませんでした。そして、それがすべて意味があるかどうかをプレイテスターに​​確認していました。そのため、一部のものが正常に機能したことにはかなりの驚きがあり、また、うまく機能しなかった場合にはかなりの驚きがありました。」

したがって、彼のゲームの人気のきっかけが、彼が思いもよらなかった、不可能に思えたものから来たというのは、ある意味納得です。 「成功を計画することはできません。たまたま、正しいものを打てば、それが共鳴するのです。」