-
「サイバーパンク2077」のMacへのポーティング
「サイバーパンク2077」の制作元であるCD PROJEKT REDを交えたセッションで、macOSにおけるAAAゲームの新たな基準を打ち立てた同作品のMac版リリースの舞台裏を覗いてみましょう。CD PROJEKT REDのチームが、Appleの強力なハードウェア、ソフトウェア、開発ツールをどのように活用してあの臨場感満点の体験を生み出したか、そしてそのアプローチを自身のゲームにどのように適用できるかを学ぶことができます。Macの製品ラインナップの各々でグラフィック設定を自動的に最適化し、ビジュアル品質とフレームレートをバランスよく調整する、革新的な「For this Mac(このMac用)」プリセットについても紹介します。
関連する章
- 0:00 - Introduction
- 0:44 - What is Cyberpunk 2077
- 2:57 - Why bring it to Mac
- 3:45 - How we brought it to Mac
- 4:50 - Game Porting Toolkit evaluation
- 13:05 - What we did to stand out
- 13:16 - "For this Mac" preset
- 26:59 - Next steps
リソース
- Performing your own tone mapping
- Personalizing spatial audio in your app
- Download the Game Porting Toolkit
関連ビデオ
WWDC26
-
このビデオを検索
こんにちは、ようこそ。 Garrett Austinです。 Appleのゲームパフォーマンスチームの エンジニアです。 今日はスペシャルゲストをお招きしました。 CD PROJEKT REDの アソシエイトゲームディレクター Paweł Saskoさんです。 PawełさんはMacでの Cyberpunk 2077: Ultimate Editionについて お話しくださいます。 このタイトルは 独自のプラットフォーム機能を活用し 幅広いMacデバイスで 優れたパフォーマンスを発揮します。 それでは、Macへの移植の経緯と 差別化の取り組みについて Pawełさんにお話しいただきます。 Pawełさん、どうぞ。 ありがとう! Cyberpunk 2077を Macに移植した経験について 詳しくお話しします。
まずCyberpunk 2077の 概要からご紹介し Mac開発プロセスへの アプローチについて触れ 最後に仕上げの工夫と MacでCyberpunk 2077を 際立たせたポイントをご紹介します。 では、Cyberpunk 2077とはどんなゲームでしょうか。 Vというキャラクターを操作する オープンワールドRPGで Night Cityで活動する サイバーパンクの傭兵です。 プレイヤーは街とその周辺を探索し キャラクターと出会い 関係を築き 多くの決断を下します。 その中には予期せぬ結果を 招くものもあります。 これは非常に重厚なゲームで 広大な世界、ロード画面なし そして常時処理すべき 膨大なデータがあります。 しかし当初からゲームは スケーラブルに設計されており 様々なハードウェアで動作します。 これがMacへの移植時に 大きな助けになりました。 Cyberpunk 2077は今も業界で ベンチマークとして使われており 新しいハードウェアが登場するたびに その基準となっています。理由はいくつかあります。 Night Cityには動くものが溢れています。 群衆、交通、AI 物理演算、アニメーション、クエスト そしてシステム的なインタラクションが すべて並列で動いています。 この負荷の多くがCPUにかかります。 Cyberpunk 2077には あらゆる場所に複合的な照明があります。 ネオン、サイン、水たまり、反射面 ヘッドライト、発光ライト、ボリュメトリクス これらが1つのシーンに 同時に現れることもあります。 Ray TracingやPath Tracingなど 高度なグラフィックスモードもサポートしており ゲームの要求水準を大幅に引き上げ GPUの性能に大きく左右されます。 リリース以降も 定期的にアップデートを Cyberpunk 2077に届けてきました。 Ultimate Editionをリリースし 地下鉄システムを追加 ロマンスの拡張、車のカスタマイズ さらに多くのコンテンツを加えました。 ゲームに取り組む際は常に 関連性と新鮮さを 保つよう心がけています。 当然、他のプラットフォームへの 展開も 検討していました。 そこで次の疑問が生まれます。
なぜCyberpunk 2077を Macに移植することにしたのか そして今がそのタイミングだと 判断した理由は何か。 CD PROJEKT REDには Appleプラットフォームへの リリースの長い歴史があります。 その流れを継続したいと考えていました。 Appleシリコンの進化に伴い ハードウェア性能が 十分に向上したことで Cyberpunk規模のゲームを Macに移植できる見通しが立ちました。 動かすだけでなく 高い品質水準を目指せると判断しました。 Appleシリコンがあれば 自信を持って名前を出せる ものを作れると確信しました。 もちろん、Macへの移植は より多くのプレイヤーに届けるチャンスでもあり それは常に嬉しいことです。 「やる価値がある」と意見が一致したら 次の問いが生まれます。
MacでCyberpunk 2077を 「正しく仕上げる」とはどういう意味か。 自分たちで品質基準を設定しました。 主要な要素は3つあります。 ゲームのビジュアルの忠実性と アイデンティティの維持が最重要でした。 見た目、照明、マテリアル これらはCyberpunkの 核心そのものです。 次の要素は安定したパフォーマンスです。 CPUとGPUへの負荷が高いシナリオ つまり大きな群衆、スクリーンスペースリフレクション 密集エリアでの走行、戦闘などを しっかり検証し 重いシーンや ロケーションでのパフォーマンスを スムーズに動作することを 確認する必要があります。 最後に大切なのが ネイティブな体験と感じさせる 仕上げです。 プラットフォームの機能を 最大限活用することを常に目指します。 macOSで際立つ体験を目指し プレイヤーが愛する ネイティブ機能と動作を実現します。
MacでCyberpunk 2077の ネイティブパスを構築する前に AppleのGame Porting Toolkitを使用して macOS上の変換環境で Windowsビルドを評価しました。 これによりコードを書く前に 貴重な知見を得ることができました。 例えば「Cyberpunk 2077をMacに移植することは 設定した品質基準で実現可能か」 といったことです。 負荷はどこにかかりやすいか CPU、GPU、または特定のシステムか。 そして最初に注力すべき 領域はどこかを把握しました。 目標は最終的なパフォーマンス数値ではなく 情報を得ることでした。 フレーム時間がどこに消費されるか 実際のゲームプレイにおける パフォーマンスの課題は何か そしてネイティブ移行後に 最初に何を作るべきかです。
評価データを有効活用するため 事前に決めたホットスポットの シーケンスセットを 評価環境で実行しました。 各テスト実行では 3つの角度からデータを確認しました。 統計的なフレーム時間データ エンジン内プロファイラから取得し 実行間で一貫した比較が可能です。 Metal HUDでシーンの内容と トレースの相関を確認します。ロード、 シェーダー変換 またはゲームのセーブなど 既知のイベントです。 そしてエンジン内部のプロファイリングを スレッド単位で分解し どのCPUシステムが いつアクティブかを確認して ホットスポットやスパイクを把握します。 その後、ネイティブビルドが動き始めたら Metal HUDに移行して Mac上でのフレーム時間計測の 主要ツールとして使用しました。 これにより多くのデバイスで 比較可能な計測値を収集でき 最も重要な点として デバッグなしのビルドで プロファイリング設定を有効にせずに 可能な限り信頼性の高いデータを 取得できました。 このアプローチが整うと シグナルが明確になってきました。 ハイスペックなハードウェアでは この早い段階でもGPU時間は良好で それは実際に嬉しい驚きでした。 ベースラインとして 十分に安定しており Metal レンダリングパイプラインが ネイティブになれば パフォーマンス目標に向けた 現実的な道筋があることを示していました。 負荷の高いゲームプレイでは CPU負荷が体験に影響しました。 例えば市街地での走行シナリオでは GPUがボトルネックになる ベストケースもありましたが シーンに交通、群衆、アクションが 密集するとCPU時間が急増する ホットスポットケースも見られました。 この段階でいくつかのパターンが見られ 評価環境に起因する アーティファクトでした。 1つはライブシェーダー変換による フレーム時間の揺れです。 もう1つはオーディオミドルウェアで 一部のシナリオで負荷が高く見えました。 どちらもネイティブバイナリに 移行すると解消されましたが Game Porting Toolkitが その存在を教えてくれたため ネイティブ実装の初期段階で 調査すべき点を把握できました。 シグナルを得たら 評価結果を開発ロードマップに転換できます。 最初はMacを本格的なターゲットにすること。 ネイティブビルドとライブラリ 調整されたデータパイプラインです。 次にプレイアブルなビルドを目指しました。 Metal APIを使って レンダリングとシェーダーパスを立ち上げ Metalシェーダーコンバータを活用しました。 それが整ったら あとは楽しい工程 出荷できる状態にすることです。 プラットフォームネイティブな機能を追加し パフォーマンスの最適化と さらなる磨き上げを行いました。 パイプラインでMacを本格的なターゲットにするには 3つの核心的な部分がありました。 まずmacOSでのネイティブビルドです。 macOSツールチェーンで生成した Appleシリコンビルドが必要でした。 ゲームの実行ファイルだけでなく プロセスで使用する 開発ツールも含みます。 次はデータパイプラインです。 Cyberpunk 2077には 内部に完全なビルドパイプラインがあり サポートするすべてのプラットフォーム向けに 設定されています。 そこにmacOSをもう1つの 並列プラットフォームとして追加し 同じプロセスに従いました。 アーカイブやシェーダーキャッシュなど プラットフォーム固有の出力は この既存パイプラインに従って 生成する必要がありました。 最後はアーキテクチャブリッジです。 ゲームとエンジンには他のCPUアーキテクチャに 基づいた長年の前提がありました。 そのためプロセスの最初に ユニットテストで動作を検証し Appleシリコンで良好に動作させるための 必要な変更を特定しました。 このステップを経て シェーダーパイプラインへと進みました。 フレームを表示できる基本的な Metalパスが整うと Metalシェーダーコンバータにより 幅広いシェーダーカバレッジを素早く確保でき 意味のあるシーンをレンダリングできました。 実際には、このプロセスを ループとして扱いました。 Metalシェーダーコンバータを シェーダービルドに統合して Metal シェーダー出力が 通常ビルドの一部として生成されるようにします。 再現可能なシーンを検証して 差異を探します。 照明の応答、マテリアル ポストエフェクトの違いです。 より小さなセットの高度なシェーダーや 変換結果が期待と合わなかった エッジケースを改善します。 そしてビルド・テストパイプラインの一部として このプロセスを繰り返します。 Metalシェーダーコンバータで シェーダーをオンラインにする作業と並行して ネイティブのMetalレンダリング基盤を 構築していました。 ユニットテストから始め Metalバックエンドを少しずつ立ち上げ 複雑さを増す前に 基本的な出力を慎重に確認しました。 基盤レイヤーが安定したら ゲーム内の静止シーンに進みました。 そこではユニットテストでは うまく検証できない部分を 確認できます。 照明スタック、ポストエフェクト シーンレベルの動作です。 その後、動的なシーンに移りました。 カメラの動き、ストリーミング そしてゲームプレイが 本当のエッジケースを露わにします。 Ray TracingとPath Tracingを 実装する際は パフォーマンスを最適化しながら ビジュアル出力が他のプラットフォームと 同じであることを検証して ゲームのアイデンティティと 見た目を保ちました。 ネイティブMetalの基盤が安定したら 次の課題は様々なMacで パフォーマンスをスケールさせることで そこでMetalFX Upscalingが 解決策として登場します。 大まかに言うと、MetalFXは 低い内部解像度でレンダリングして 短時間でより高い解像度の 出力を再構築できます。 実用的なメリットは非常に明確でした。 重いシーンでより多くの パフォーマンスヘッドルームを確保でき 全体的な品質を下げずに済みます。 Dynamic Resolution Scalingも活用して 様々なMacハードウェアで負荷がかかっても 安定したパフォーマンスを維持しました。 テンポラルアップスケーラーとして 映像を動きの中でも しっかりとまとめ 特に高速移動時や VFXが多いシーンで効果を発揮しました。 その時点でMac上に 完全なゲームが揃い 動作するビルドで動いており 予測可能な形でレンダリングされ プレイ可能な状態でした。 そこから先は 自問する必要があります。 「では実際に出荷できる状態とは 何を意味するのか。」 私たちにとって他にもいくつかの要素があります。 デフォルト設定があります。 初めてゲームを起動したときに どう見えるかです。 次にこのバージョンのゲームを どう差別化するか プラットフォームネイティブな機能を使って。 そして最後に、優れた全体体験のための ゲームの磨き上げです。
構築してきたものを活かして Macで際立つ ファーストローンチ体験に仕上げる時が来ました。 すべてのMacで初回起動から 優れたパフォーマンスを提供したいと考えました。
そこで「このMac向け」プリセットが登場します。 「このMac向け」はデバイスベースの グラフィックスプリセットシステムで Mac内のハードウェアを検出して デバイスに最適な設定を 自動的に構成します。 サポートされているMacなら どれを使っていても ゲームを起動した瞬間から安定した 快適なスタート地点が得られます。
プロセスは設定の選択から始まりました。 サポートされている各Macデバイスで 画質の忠実性を維持する設定です。 目標FPSを30または60に設定し MetalFXをDynamic Resolution Scalingと 組み合わせて使用し 最小と最大の解像度範囲を調整して 目標FPSを達成しました。
「このMac向け」プリセット固有の設定として ビデオ設定も調整しました。 ここで最終出力解像度を設定します。 Dynamic Resolution Scalingは この範囲内で動作します。 目標FPSに合わせた適切なフレームペーシングのため VSyncを設定しました。 ディスプレイの性能に基づいて HDRも有効にしました。 その後、各Macに対して ゲームのすべての設定を一つ一つ調整し パフォーマンスだけでなく 美しさも確保しました。 プレイヤーがゲームをダウンロードして 初めて起動したとき その特定のMac向けに 最適化されていると安心できます。 チューニングのプロセスで 特に役立ったのは いくつかの一貫したシーンを使って CPU、GPU、ストリーミングシステムに それぞれ異なる負荷をかけることでした。 パフォーマンスデータを収集して 設定を改善し ラインナップ全体でループを繰り返して 再検証し 各Macに最適な設定を見つけました。 嬉しいことに、MacでCyberpunk 2077を リリースして以来 他のデベロッパも 「このMac向け」設定を 自分のゲームに採用し始めています。 エコシステムにとって とても良いことだと思いますし 見ていて本当に嬉しいです。 では、ゲーム内の 「このMac向け」を見てみましょう。
こちらが「このMac向け」プリセットです。 M5 Maxチップ搭載のMacBook Proでは Ultraプリセットをベースに使用しています。 ここから他の設定も確認できます。
Dynamic Resolution Scalingを使った MetalFX アップスケーリングから始まり 60フレーム毎秒を目標とし 目標出力解像度の50〜80%の範囲で レンダリングします。 さらに詳細な設定に進むと より細かな調整が行われています。 M5 Maxではそれほど多くの 調整は必要ありませんでした。 非常に優秀なチップです。
「このMac向け」プリセットの一部として ビデオ設定も調整します。 ここでは60 FPSのVSync固定を 目標にしています。 解像度の上限が設定されており 内蔵ディスプレイには 2336x1460が選択されています。 MacBook ProのディスプレイはHDR対応なので HDRはデフォルトでオンになっています。 HDRはAppleのEDR APIを使って 自動的にキャリブレーションされるため プレイヤーがキャリブレーション画面を 操作する必要はありません。 これは非常に優れた機能で 後ほど詳しくご紹介します。 では、ゲームの中で最も 負荷の高いエリアに入ります。 はい、このエリアはDogtownの一部です。
Phantom Libertyをプレイした方はご存知でしょうが ストーリーのネタバレはしません。 Black Marketに入ります。 これはプレイヤーが初めてこの空間に 入る瞬間です。 ジオメトリ、ライト、反射、キャラクターが 非常に密集しています。 ゲーム全体で最も重い エリアの1つです。 これは先ほどお話しした 品質基準の一部を示しています。 つまり ゲームの中で最も 負荷の高いシーンでの フレーム時間の安定性に こだわりました。 Cyberpunkにはもちろん ロード画面がありません。 好きな方法でシーンを 移動できます。 すべてがスムーズに 読み込まれ 周りを歩き回ると 様々なネオンと 光源があります。 非常に密度が高いですが すべてが60フレーム毎秒でスムーズに動いています。 デフォルト設定のままです。 あ、この2人のジェントルマンは 実は創業者で Marcin IwińskiとMichał Kicińskiです。 会社はバンから始まりました。 90年代末にポーランドで ビデオゲームを販売していた頃です。 彼らをスキャンして ゲームに入れました。
ゲームの全ローカライズ版で ポーランド語を話しており 実際にボイスアクティングも 担当しています。 これはここに隠されたイースターエッグの 1つに過ぎません。 さて、設定の最適化だけでは 止まりませんでした。 ウィンドウ操作とアプリ切り替えに関する プラットフォーム固有の機能も 多数採用しました。ゲームコントローラと 入力デバイス ディスプレイとオーディオ、そしてどこでも プレイできるクラウドセーブ技術です。 現代のゲーミングは マルチタスクと交差します。 プレイヤーは様々なシナリオで プレイしてコンテキストを切り替えます。 macOSはこれらの出来事を 通知できます。 プレイヤーにスムーズな システム体験を提供したいと考えました。 macOSはNSNotificationsとして イベントをブロードキャストし活用できます。 ゲーム内でNSNotificationイベントに 応答することで ゲームがシステムに ネイティブな感覚になり アプリ切り替えに対応し ディスプレイ設定の変更にも反応します。 フォーカスがない間はゲームの CPUとGPU活動も抑制します。 では、これらの動作の いくつかをご紹介します。 まず、ゲームがバックグラウンドのときに アクティビティを抑制します。 ゲームが表示されていなければ レンダリングは不要で CPUとGPUリソースを プレイヤーのために節約できます。 このために NSWindowDidChangeOcclusionStateNotificationを リッスンして変更の確認が 必要なタイミングを把握し NSWindowのocclusionStateを 確認して レンダリングを一時停止すべきか 再開すべきかを判断します。 次はディスプレイ設定です。 プレイヤーはマルチタスク中に接続された ディスプレイの設定を変更することがあります。 ゲームウィンドウがこれらの変更を 認識して 正しく画面を埋めるようにします。 NSApplicationDidChangeScreenParametersNotificationを 受信したとき 新しい画面解像度を取得し ゲームウィンドウを更新します。 ディスプレイ設定が変わるだけでなく プレイヤーがゲームを まったく別のディスプレイに 移動させることもあります。 NSWindowDidChangeScreenNotificationを 受信した後 新しいディスプレイの詳細を収集します。 例えばDisplay ID、解像度 ミラーモード、画面名などです。 これらに基づいてゲームウィンドウを 更新するかどうか、どのように更新するかを判断します。 ゲームスタイルに合わせた 独自カーソルを使用しています。 シームレスなシステム体験のため 2つの通知をリッスンして ゲームウィンドウがフォーカスを失ったときの カーソルを管理します。 例えば、Game Overlayを開くと ゲームのカーソルが消えて システムカーソルが表示され シームレスなシステム体験が実現します。 Game Overlayを閉じると システムカーソルが消えて ゲームのカーソルが表示され ゲームに戻ります。 NSWindowDidResignKeyNotificationが 私たちへのシグナルとなり システムカーソルを表示し ゲームカーソルを非表示にします。 逆に NSWindowDidBecomeKeyNotificationが 私たちへのシグナルとなり システムカーソルを非表示にして ゲームカーソルを表示します。 通知以外にも注目すべき機能として ゲームモードがあります。 ゲームモードはAppleのシステム機能で ゲームにCPUとGPUへの 高い優先度でのアクセスを与え バックグラウンドタスクの影響を軽減して よりスムーズな体験をもたらします。
ワイヤレスアクセサリの 応答性も向上させます。 Bluetoothのサンプリングレートを2倍にし ワイヤレスゲームコントローラの レイテンシを低減します。 AirPodsのオーディオレイテンシも 改善されます。
嬉しいことに ゲームモードはゲームとして カテゴリ分けされたアプリに 自動的に有効になり プレイヤーが得るメリットを 検証で確認しました。 次は入力についてお話しします。 Appleプラットフォームでは Game Controllerフレームワークにより サードパーティコントローラへの ネイティブサポートを 簡単に実装できました。 タッチパッドやアダプティブトリガなど 高度なコントローラ機能も サポートしており ゲーム内の既存実装を 簡単に橋渡しできました。 これらの機能です。 Appleのネイティブ入力デバイスも サポートしています。ゲームコントローラ Magic Mouseとトラックパッドです。 例えばすべてのMacラップトップには トラックパッドがあるので コントロールオプションを 設計する際は 現在の入力に適応させましょう。 私たちの場合、自動的に検出して トグルエイミングを有効にし マウスホイールの代替として 修飾キーとマウスクリックの 組み合わせを使用します。
ディスプレイには特別な注目が必要です。 Appleのハイエンドディスプレイは Cyberpunkを実行した中で最高レベルです。 Night Cityはコントラストで構成されています。 ネオンハイライト、暗い路地、明るいサイン これらがHDRで 素晴らしく見えます。 HDRはAppleのExtended Dynamic Rangeパイプラインで 実装しました。 これにより独自の方法で ディスプレイの情報にアクセスでき HDRプレゼンテーションを 自動的にキャリブレーションできます。 プレイヤーにとって素晴らしいメリットです。 最高のHDRプレゼンテーションが得られ Appleのディスプレイでは HDR設定を手動で調整したり キャリブレーション画面を 操作する必要はありません。 HDR出力を動的にキャリブレーションするため maximumExtendedDynamicRangeColorComponentValueを ポーリングして ディスプレイの現在の最大EDR値を取得し それをトーンマッパーに送ります。 この値は動的に変化することがあります。 ディスプレイハードウェアの性能や その他の条件によって変わるため これを使ってトーンマッパーの最大HDR出力を 制御することで Appleのディスプレイで常に最高の HDRレンダリングが実現します。 十分なEDRヘッドルームを持つディスプレイ 例えばAppleのXDRディスプレイでは HDRを自動的に有効にします。 このためには maximumPotentialExtended- DynamicRangeColorComponentValueを確認して ディスプレイの最大潜在的EDR値が 2.0より大きいかを確認します。 大きければ、シームレスな体験のために HDRをデフォルトで有効にします。 オーディオもAppleプラットフォームが 特別なものを提供する分野です。 Cyberpunk 2077のサウンドスケープは 空間オーディオ向けに設計されています。 AppleのSpatial Audio APIを活用して AirPodsユーザー向けに 頭部追跡型空間オーディオを有効にしました。 これはゲームへの没入感をさらに高める 本当にユニークな方法で 追加設定なしで デフォルトで有効になっています。 ゲームはオーディオミドルウェアで 空間オーディオを既にサポートしており オーディオミドルウェアは AVAudioEngineを介して AppleのSpatial Audio APIを実装しています。 AirPods向けのヘッドトラッキングは AVAudioEnvironmentNodeの listenerHeadTrackingEnabledプロパティを trueに設定して有効にしました。 最後に、新しいプラットフォームへの ゲーム導入において プレイヤーの摩擦を 減らしたいと考えました。 MacではiCloud Driveの統合をサポートし Appleデバイス間で セーブファイルを転送できます。 社内独自のクロスプログレッション ソリューションもあるため プレイヤーはプラットフォームを またいでセーブを引き継げます。
どこからでも始めて Macでプレイを続けることが その逆もできます。 では、成果は何でしょうか。 Appleシリコン Mac全体での ネイティブCyberpunk体験 プラットフォーム機能を 統合した形で 品質基準を支えています。 全プラットフォームで 3,500万本を販売し Phantom Libertyは さらに1,000万本を追加しました。
App Storeでプレイヤーから 非常に好意的なレビューをいただき 大変感謝しています。 Cyberpunk 2077: Ultimate Editionは Macゲームオブザイヤーとして認定されました。 Appleの2025 App Store Awardsでのことです。 この評価に本当に 感謝しています。 多くの労力を費やしましたが それだけの価値があったと 心から信じています。 最終的に重要なのは 何にどれほど労力をかけたかではなく プレイヤーにとっての結果です。 では、choom ここまでにします。 本当にありがとうございました。 共有できて光栄です。 ありがとうPaweł。 この特別なプレゼンテーションを 楽しんでいただけましたか。
もしインスピレーションを感じたなら Game Porting Toolkitの 評価環境を試して 次のゲームがmacOSで どう動くかを確認してください。 コードは不要で セットアップも短時間です。 Metal HUDを使ってゲームの パフォーマンスを評価してください。 Game Porting Toolkit内での評価です。 次に、優れたファーストローンチ体験で ゲームを際立たせましょう。 プレイヤーに最適化された 設定を提供し EDRなどのプラットフォームネイティブ機能と AirPodsでの頭部追跡型 空間オーディオを有効にします。 「Speedrun your game port with agentic coding」を ご覧ください。 Game Porting Toolkit 4の 新しいエージェント機能について学べます。 強力な分析ツールも 発見できます。 「Find and fix performance issues in your Metal games」でご確認ください。 ご視聴ありがとうございました。 Appleプラットフォームで 皆さんのゲームをプレイできることを楽しみにしています。
-
-
- 0:00 - Introduction
Garrett Austin (Apple Game Performance) introduces guest Paweł Sasko (Associate Game Director, CD PROJEKT RED) to share how Cyberpunk 2077: Ultimate Edition was brought to Mac with great performance across a wide range of devices.
- 0:44 - What is Cyberpunk 2077
An overview of the game — an open-world RPG set in Night City — and why it remains an industry benchmark: dense scene complexity and streaming, realistic lighting and materials, and demanding ray tracing and path tracing modes.
- 2:57 - Why bring it to Mac
The motivation for the port: CD PROJEKT RED's long history on Apple platforms, Apple silicon hardware maturing enough to hit a serious quality bar, and the opportunity to reach more players.
- 3:45 - How we brought it to Mac
Defining what "doing it properly" means via a three-part quality bar — visual fidelity, stable performance, and native feel — then executing the port: native builds, an adapted data pipeline, an architecture bridge, Metal Shader Converter, the native Metal rendering foundation, and MetalFX Upscaling for scalable performance.
- 4:50 - Game Porting Toolkit evaluation
Using Apple's Game Porting Toolkit to evaluate the Windows build in a translated environment before writing code — gauging feasibility, gathering CPU/GPU pressure signals, and identifying focus areas using profiling data, Metal HUD, and per-thread breakdowns to build a production roadmap.
- 13:05 - What we did to stand out
Turning the working build into a first-launch experience that feels native to macOS — adopting platform features across windowing and app switching, input devices, display, audio, and cloud saves.
- 13:16 - "For this Mac" preset
A device-based graphics preset that detects each Mac's hardware and auto-configures optimal settings — target FPS, MetalFX with Dynamic Resolution Scaling, resolution bounds, V-Sync, and HDR — tuned per device and demoed live in Dogtown.
- 26:59 - Next steps
Recommended actions: try the Game Porting Toolkit evaluation environment, analyze performance with Metal HUD, plan a great first-launch experience, and explore the related "Speedrun your game port with agentic coding" and "Find and fix performance issues in your Metal games" sessions.