19.5K Views
March 22, 22
スライド概要
株式会社ガンマ・リバース代表取締役、自称14歳JC。 小説家などのクリエイターのエージェント業務と新規IP制作をしています。 元ゲームプランナー、元ライター兼編集者。 コードは書けないけど運用はできる程度の能力者(とは
今日から始める ファイナルファンタジーXIV クライアントテクノロジー編 森中うみちゃん Umichang Morinaka @ Ridill, Gaia DC
• Windows上でゲームを遊んだことがある人 • 作ったことがあるまでは求めません… • コンシューマー機でゲームを遊んだことある人 想定知識 • 特にPS4やXbox One以降の世代のゲーム機 • macOSについて知りたい人は、DirectXとMetalに ついての基礎知識 • Wineの話もします。Windows APIについても知って おいた方がいいかも
クライアントの種類 実はWindows版がオリジナルです
Windows 64bit版クライアント • DirectX 11使用(デフォルト) • DirectX 9使用(動作保証外だが一応設定可能) PlayStation 4版クライアント 現行版の クライアント • PS4 Proモード対応(1440pまで対応可能) PlayStation 5版クライアント • 1080pモード、1440pモード(デフォルト)、4K モードがある • 1440pだとだいたいの場所で60fps出る macOS版クライアント • 厳しい制限があり、最新OSでは動かない。後述
Windows 32bit版クライアント • DirectX 9モードのみ。5.0で提供終了 PlayStation 3版クライアント かつてあった クライアント • 720pモードのみ。4.0の時点で提供終了 • 新生時点で最低レベルのターゲットマシンで あった 旧Mac版クライアント(32bit版) • 3.0で提供開始、5.0で提供終了 • OpenGLベースで動作していたため、快適に遊べ るとはとてもいえない代物だった • 別にBootCampでプレイすればいいじゃんという 結論になっていた
• Steam版クライアント(Windows版ベース) • ログイン部分のみSteamアカウントベースとなって いる • 他プラットホームとキャラクターデータ共有が不可 能 • Steam側の制限なので回避方法はなし そのほか • ProtonによりLinuxマシン(特にSteam Deck)で動作 する • XIV on Mac(オープンソース) • 有志により開発されているmacOS版クライアント • 基本的な技術は公式クライアントと同一だが、ライ ブラリを最新のものを利用したり、ログイン部分 を.NET/IEコンポーネント依存からSwiftでの再実装 にしたりしたもの • 当然無保証であることに注意
基本的な技術 PS3が当初の最低ターゲットだったことによる仕様の数々
• 各モデルの品質が高すぎるため、当時のマシン では動かなかった • そこら辺にあるツボのポリゴン数が多すぎるとか… 旧FF14から の反省 • 装備品をキャラクターに反映させるものの、帯まで 入れ替えられるようになっていたため、グラフィッ クデザイナーの工数が非常に増大していた • さらにオープンワールド志向(エリアチェンジ なし)のもメモリへ過大な負荷をかけた • 時代が10年早かった…
ディファードレンダリング • FF14らしいグラフィックの肝はこれ • 光源を多数配置できるのがメリット • 新生当時の最先端技術である • PS3ではKILLZONE 2あたりが使用していたくらい • DirectX 9でようやく実装できたもの • DirectX 10以降では対応がより進んだ • デメリットは「半透明モデルが使えない」こと • 隠れているところの計算を省略することがディファード(遅延)なのに、半 透明だと隠れないので計算量が減らない
モデルの簡易化(旧版との比較) • 普通のMMOゲーム並みのモデルとなった • それでもPS3ではギリギリ… • 帯装備のグラフィックを反映しない決断 • これによりデザイナー工数が大幅に削減できたという • 帯装備自体は残ったが、6.0にて削除
エリアへ分割 • オープンワールド形式から旧来のエリアチェンジ方式 へ転換 • これによりテクスチャをエリアチェンジ時に読み込 むなどしてメモリを節約できた • また、旧版で退屈なフィールドだったものが森や砂 漠などの非常に複雑な形状を取れるようになった • インスタンスダンジョンの追加 • 旧版も当初はダンジョンもオープンワールドの一部 だった • ダンジョンをインスタンス化することにより、複雑 なギミックを実現できた
コンシューマ版の特徴 実はWindows版とほぼ同じことができます
クロスホットバー • 各ジョブ20種類以上あるスキルをキーボードやマウ スを使わず、ゲームパッドで使うための機能 • L2・R2トリガーがシフトキーのような扱いになり、十 字キーや◯×△□ボタンでスキルを発動する • さらにスキルがほしい場合にはトリガー2回押しやL2を 押しながらR2などの組み合わせでさらに増やすことが できる(ダブルクロスホットバー) • この機能はWindows版でも使えます • もちろんゲームパッドを繋ぐ必要あり
キーボード・マウスのサポート • デフォルトはゲームパッドだが、キーボード・マウ スで操作することもできる • こちらも当然繋がないとダメだけど • ただし、各社のゲーミングユーティリティは利用で きない • これも当然ではある • マウスホイールの回転方向反転などのサポートはな い • ナチュラルスクロールで慣れている人は厳しい
プレイ感と画像品質 • 素のPS4でも普通に遊べるレベル • ただしハードディスクなのでディスクアクセスが足枷にはなる • PS4 ProにSSDを載せれば普通に1440pでバリバリに遊べる • 現状のグラフィクス品質のベンチマークはここら辺 • PS5は言うまでもなく快適 • ただし、ネイティブ4Kで遊ぼうとすると若干性能が足らないかも? • コンシューマ版は日本語変換辞書があまり賢くないのが問題 • 辞書登録も事実上できないので今あるもので頑張ろう
余 談 : XBOXでは出ないの? • Microsoftは以前よりアプローチを続けていると発言している • 一方スクエニ側はどちらかといえば消極的 • 推測される理由は2点 • DirectX 12対応が事実上必須となり、新規クライアント開発の 工数がかなり増大するため • Windows版のクライアント更新時には検討される可能性があ るが、少なくとも数年先となる見込み • Microsoftのレギュレーションで、他環境混在のテキストチャッ トに 制限があるため • 最近は事情が変わってきたらしい…?(個別事情が勘案され るとの噂)
MACOS版について Vulkan脅威のテクノロジー
基 本 は WINDOWS版 • macOS版は圧倒的マイナーなので開発工数はかけられない • そこでWindows版を互換APIテクノロジーでmacOSで動かすよ うになっている • 基本的はWineベース • 多くの非ネイティブmacOSゲームはWineで動作させている • FF14 for MacはCodeWeavers社のCrossOverをベースにしてい る • CodeWeavers社はWineの主要コントリビューター • FF14 for MacをプレイするだけならCrossOver for Macのラ イセンスは不要
グ ラ フ ィクスAPIについて • 当然ながらmacOS上でDirectXはそのまま動かない • DirectXをVulkanに変換する「DXVK」というライブラリが Linux上では一般的に用いられる • VulkanであればLinuxでもサポートされている場合が多いた め • しかし、macOSではVulkanもサポートされていない…! • そこで、VulkanをMetalへ変換する「MoltenVK」を併用する • MoltenVK(旧MetalVK)はKhronos Groupなどが中心となり、 Mac上でVulkanを動かすために作られたOSS互換レイヤー
つまり… DirectX 11 DXVK Vulkan MoltenVK Metal めっちゃ 多重レイヤー!
こんなに多重ラッパーで動くの? • そこそこ動いています • もちろん当然ある程度の性能は必要です • Intel内蔵GPUは必要なMetal APIレベルを満たしていないので動作しません • Mac Pro+eGPUもドライバによってはMetal APIレベルの対応が異なるため動作しません (性能は高いのに…) • 公式による対応機種はIntel iMacのみ
ただし、一筋縄ではいかない • 「魔大陸アジス・ラー」問題 • DirectXとMetalでの仕様制限が違うことに起因する問題 • 3.0で実装された魔大陸アジス・ラーというエリアで、 • 描画が破綻し、ゴミ(アーティファクト)が表示さ れる • 最悪の場合、ディスプレイドライバがハングアップ する • 同様に3.0で実装された「ドラヴァニア雲海」でも発生 しうる • 根本解決はマップの改修以外には不可能と見込まれる • 4.0以降の新エリアではこれらの問題が起こらないよう マップ側で対処されている
メ ン テ ナンス不足による問題・その1 • 現状macOS 12 Monteleyに非対応 • 使用しているCrossOverがmacOS内蔵のPython 2.7に依存 • Python 2系は長らく非推奨であったが、12.3で削除された • ので、12.3以降ではそもそも起動しない(絶対パスで存在確認してやがる…) • DXVK、MoltenVKの最新版追従問題 • 最新開発版であればM1 Macなどの最新機種もサポートされている • しかし、QA工数がかかるためこれらへの追従に時間がかかっている
メ ン テ ナンス不足による問題・その2 • M1系CPUの非サポート • 実際にはRosetta 2を介することで基本的な動作はする、が… • インゲーム以外の部分(特にログイン周り)がWindowsコンポーネントに強烈に依存する作りになっ ている • .NET系、IEコンポーネント(!) • Windows版本流ではこれらはメンテナンスされ、依存コンポーネントが最新のものになっているが… • Wine上では動作しないという致命的な問題点がある(あのさあ…) • というわけで、なぜかMac版でのみあまりセキュアではない旧ランチャーが使用されている • これらがRosetta上で動き続けるか誰も自信がないのが現状
動かないなら動くように OSS実装者たちによる挑戦
XIV ON MACと い う 存在・その1 • 2021年12月ごろよりたちがったOSSプロジェクト • スクエニのサポート不足を補うために有志が発足さ せた • 基本的にやっていることはCodeWeavers社と同一 • DXVK→MoltenVKで動作させる発想はそのまま継承 • ただし、頻繁な更新により最新のDXVK/MoltenVKを 利用するようにしている • これによりfpsの顕著な向上とグラフィクス品質の安定 が実現している
今後の展望 PS3と32bitのくびきから逃れた先
• 次期大型拡張に向けてグラフィクスアップデートが 予定 • テクスチャの高精細化 • 膨大な数があるので自動変換してもなお厳しい • そのため、徐々に対応されていくとのこと 第1次グラフィクス アップデート計画 • ライトの増加 • ディファードレンダリングで品質を向上させるならこ れが一番効く • シェーダーの追加 • 今まで実装はされていたが「重たいため使っていな かった」ものを解放予定 • これによりさらに品質向上が見込まれる • ただし、2022年現在のAAA級タイトル(Horizon: Forbidden Westなど)みたいにはならないので注意!
• 結論から言えば「動きます」 • PS4版クライアント実装が突貫で行われた ため、最適化の余地が多分に残されてい るとのこと それ PS4で動くの? • 実はPS5版はさらに突貫で作られているため、 余力が相当ありそう • PS4でここまでできるを見極め、それを基 準としてグラフィクスアップデートを行 うとのこと • 少なくともPS4の製品寿命(修理のEOL)ま では動作保証させるのではないだろうか? • これと同様のサポートはWii版ドラゴンク エストXでも行われていた
第 2次 はあるのか? • あるかもしれないし、ないかもしれない • 要するに反響と工数次第といったところか • さらに新しい技術は登場するだろうし、時代に沿っ てアップデートが繰り返されるのがライブサービス のいいところでもある • 今のところ儲かってるし、投資はできるでしょ! (しらんけど
告知関係 最後まで見てくれた人へ
プロデューサーレターライブ • 今回お届けしたような情報が生の現場からお知らせされるとても貴重な 生放送番組 • 次回は4月1日20時〜 • 内容はパッチ6.1最新アップデート特集 • ゲームを遊んでない人でも楽しめる開発周辺の話題もたくさんあるので、 ぜひ見てほしいです
し く じ り先生に吉田P/D出演 • PLL終了後の24時50分から、テレビ朝日系列「しくじり先生」に 吉田直樹プロデューサー兼ディレクターが出演 • 内容は「旧FF14のしくじりと、どう立て直したか」 • しくじり先生の演出担当によると、絶対にやりたかった企画で、 吉田P/D&スクエニ完全監修とのこと • 「ゲーム史上起こり得ないとされていた奇跡」について知りたい人は ぜひ見てほしい!
おすすめ書籍 • 吉田の日々赤裸々。全3巻 • 週刊ファミ通連載のコラムをまとめた書籍。旧FF14をどうやって立て直したかを中心に、 ゲーム業界について語った連載 • Kindle版が手に入るので読んでみることをおすすめ! • ドラゴンクエストXを支える技術─ ─大規模オンラインRPGの舞台裏 • 新生FF14にも大きな影響を及ぼした(というか吉Pは元々ドラクエXのプランナー だった)ドラクエXの実装について当時技術責任者だった青山公士氏が詳細に 解説した一冊 • 今回のプレゼンはこれを読んだことを前提としてる部分が若干ありました
おわり 長い時間ありがとう ございました!