tl;dr
我々はクロスプラットフォームのdestopクライアントを構築し、モニターが対応していれば200fps以上でSoulbound プレイできるようにしました。この実験的なビルドをテストするために全てのプレイヤーを招待しています:
- 化粧品店
- ギルドUI
- ピクセルベイ(オークションハウス)
- サウンドとオーディオ
PCビルドが必要だと聞いている
Soulbound 作り始めた時、すぐにアクセスできるようにブラウザプラットフォームを立ち上げました。ダウンロードもプラットフォームもなく、ただ飛び込んでプレイするだけです。過去3年間、私たちはその技術を限界まで高め、多くのセットアップ(特にMシリーズのMac)で120fpsのゲーム体験を達成しました。しかし、Discord初のMMOとなり、バグ報告やプレイヤーからのフィードバックがあったにもかかわらず、コミュニティが求めるレベルのスムーズさと安定性を提供できていません。
プレイヤーは何度も何度も、ネイティブPCビルド、あるいは少なくともFPSを高める方法を求めた。
特にボス戦や高階層のダンジョンでは、パフォーマンスの低下や不安定な接続に悩まされる人が多すぎた。
そこで、私たちは自問しました:もしSoulbound CPUとGPUをフルに活用でき、クロームブラウザエンジンに制限されないとしたらどうだろう?
私たちは、PCクライアントの方が速く動くのではないかと疑っていましたが、それ以上に、バーチャルランナーやjavascriptを使う代わりにネイティブC++にコンパイルすれば、私たちのエンジンで1年がかりで取り組んできた問題の多くが魔法のように解決するのではないかと疑っていました。
私たちは疑惑を調査する決断を下し、これまでで最大規模のプロジェクトに着手した。そのためには、エンジン・ランタイムのアップデートが必要であり、多くのゲーム機能を書き直し、場合によってはエンジン・チームと緊密に連携して、問題が発生したときに修正する必要があります。これは深く、高度な技術的プロセスであり、数ヶ月を要し、当社のエンジニアは、これまでよりもはるかに低いプログラミングレベルでエンジンをデバッグする必要があります。
CTOの言葉を引用しよう。

ビルドのベンチマーク
我々の理論を検証するために、3台のマシンでそれぞれの新しいビルドをベンチマークした:

マシンA - NUC12DCMi7(i7-12700 + RTX 3060 Ti、32GB RAM)
- CPUインテルi7-12700(第12世代アルダーレイク、12C/20T)。
- GPURTX 3060 Ti
- RAM: 32 GB
マシンB - i5-10400F + GTX 1650、16 GB RAM
- CPU:インテルi5-10400F(第10世代コメットレイク、6C/12T)。
- GPUGTX 1650
- RAM: 16 GB
マシンC(ハンドヘルド) - Ryzen Z1 Extreme + RDNA3 iGPU、16 GB RAM
- CPUAMD Ryzen Z1 Extreme
- GPU統合RDNA3グラフィックス(12 CU、約2.7 TFLOPs)
- ラム:16GB LPDDR5
最初のネイティブC++ビルドの結果は、すぐに非常に有望なものとなった。
これらのベンチマークマシンの画面を録画する方法のため、遠隔ストリーミングされるにつれてフレームレートや品質が低下する可能性があります。
100モブキャップダンジョンテスト
マシンAは『Farpoint Extreme』で200fps以上を出していたが、フレームやラグのスパイクはなく、全体的にスムーズに感じた。
マシンBは87fpsをはるかに上回り、同様に、かなりスムーズだった。
その後、画面上に50体以上のモブを配置して10人レイドのストレステストを行ったが、ゲームの感覚は敵が10体いるのと同じだった。驚いたことに、30 FPSでもブラウザ版の120 FPSより滑らかに感じられた。
これは、よりスムーズで予測しやすいフレームタイムが、ゲームをより予測しやすく、反応しやすくしたためだと結論づけた。
テスト中、QAチームはゲームが入力に対してより反応するようになったと感じた。UIはより速く、よりスムーズで、より反応が良かった。アパートビルダーはキビキビと動き、使っていて楽しいと感じた。
その結果、ゲームのブラウザビルドに起因する入力ラグが判明した。それも小さなものではなく、ブラウザ上でのキー入力は、私たちが説明できない理由で大きなレイテンシーを発生させた。
Farpoint Extremeをクリアしたことのある人なら、ステージが高レベルになるとラバーバンディングが発生することをご存じだろう。C++のネイティブビルドでは、この問題がさらに顕著になることがわかった。プレイヤー数が5人を超えると、激しいラバーバンディングが発生するのだ。以前はサーバーのボトルネックが原因だと考えていましたが、検証の結果、サーバーのデータをゲームクライアントで処理するために開発したクライアント側のネットワーキング・コードが問題であることがわかりました。私たちは、C++で新しいネットワーキング拡張機能を数週間かけて開発し、PCビルドがこのプラットフォームで可能なことを示す最高のチャンスを与えることにしました。
最初のデモは目を見張るものだった。画面上に何百もの敵が登場し、3人のパーティメンバーがいる、より大規模な探索型のダンジョンモードを、ラバーバンドもラグもまったく見えない状態でプレイすることができた。とても素晴らしく、まったく別のゲームのように感じた。
以前のダンジョンのビルドでは、より長い、部屋のない環境を走らせたが、パフォーマンスの問題から、より長いセッションでのパフォーマンス低下に関する未知の問題をクリアにするために、プレイヤーを部屋の中を移動させることを余儀なくされた。それを評価するために、100体のモブが30分間群がる1人用のダンジョンデモを作ったところ、時間経過によるパフォーマンスの劣化は見られなかった。QAチームの何人かは、マシンBで60FPS以上の高パフォーマンスを維持したまま、3時間以上もダンジョンをプレイしていた。
我々は、Soulbound 世界中で数百万人のプレイヤーにリーチし、10万人以上の同時ユーザーをサポートする可能性があると信じています。これらの開発は、ネイティブPCクライアントがゲームをはるかに多くのプレイヤーにアクセス可能にし、コミュニティが経験してきた多くのペインポイントを解決することを示しています。
MacおよびiOS
マック・ユーザーについては、当面は既存のネットワーキングで十分だと考えているが、長期的にはマック・ユーザーのエクスペリエンスを向上させるために、新たなネットワーキング機能の開発を検討する予定だ。さらに、この新しいランタイムによって、iOSネイティブのビルドを作成することができるようになりました。このビルドはまだ配布の準備ができていませんが、ネイティブのPCクライアントができれば、これはより現実的なロードマップの目標になると期待しています。
ご意見をお聞かせください
ロードマップを確定する前に、このアップデートをいち早く共有し、皆さんのご意見を伺いたかったのです。今後数週間で、最初のPCクライアントがコミュニティでテストできるようになり、その後すぐに、この新しい基盤の上に構築されるアビリティ、ギア、ダンジョンシステムの大幅なアップグレードを公開する予定です。
この方向性についてのご意見をお待ちしています。ネイティブPCクライアントがあれば、高性能なゲームプレイを中心に設計できますが、ブラウザ版の優先順位が下がるかもしれません。
ブラウザー構築への投資を続けるべきか、それともPCのネイティブ体験に完全に集中すべきか。
Discordでディスカッションに参加し、#share-feedbackチャンネルで次に取り組んでほしいことをお知らせください: https://discord.gg/UbEZvCg2Dc
あなたのマシンのCPUとGPUをフルに活用したSoulbound 感想を楽しみにしています。