View in English

  • Apple Developer
    • 今すぐ始める

    「今すぐ始める」を詳しく見る

    • 概要
    • 学ぶ
    • Apple Developer Program

    最新情報

    • 最新ニュース
    • Hello Developer
    • プラットフォーム

    プラットフォームを詳しく見る

    • Appleプラットフォーム
    • iOS
    • iPadOS
    • macOS
    • tvOS
    • visionOS
    • watchOS
    • App Store

    特集

    • デザイン
    • 配信
    • ゲーム
    • アクセサリ
    • Web
    • Home
    • CarPlay
    • テクノロジー

    テクノロジーを詳しく見る

    • 概要
    • Xcode
    • Swift
    • SwiftUI

    特集

    • アクセシビリティ
    • App Intent
    • Apple Intelligence
    • ゲーム
    • 機械学習とAI
    • セキュリティ
    • Xcode Cloud
    • コミュニティ

    コミュニティを詳しく見る

    • 概要
    • 「Appleに相談」イベント
    • コミュニティによるイベント
    • デベロッパフォーラム
    • オープンソース

    特集

    • WWDC
    • Swift Student Challenge
    • デベロッパストーリー
    • App Store Awards
    • Apple Design Awards
    • Apple Developer Center
    • ドキュメント

    ドキュメントを詳しく見る

    • ドキュメントライブラリ
    • テクノロジー概要
    • サンプルコード
    • ヒューマンインターフェイスガイドライン
    • ビデオ

    リリースノート

    • 注目のアップデート
    • iOS
    • iPadOS
    • macOS
    • watchOS
    • visionOS
    • tvOS
    • Xcode
    • ダウンロード

    ダウンロードを詳しく見る

    • すべてのダウンロード
    • オペレーティングシステム
    • アプリ
    • デザインリソース

    特集

    • Xcode
    • TestFlight
    • フォント
    • SF Symbols
    • Icon Composer
    • サポート

    サポートを詳しく見る

    • 概要
    • ヘルプガイド
    • デベロッパフォーラム
    • フィードバックアシスタント
    • お問い合わせ

    特集

    • アカウントヘルプ
    • App Reviewガイドライン
    • App Store Connectヘルプ
    • 近日導入予定の要件
    • 契約およびガイドライン
    • システムステータス
  • クイックリンク

    • イベント
    • ニュース
    • Forum
    • サンプルコード
    • ビデオ
 

ビデオ

メニューを開く メニューを閉じる
  • コレクション
  • すべてのビデオ
  • 利用方法

その他のビデオ

  • 概要
  • Summary
  • トランスクリプト
  • コード
  • エージェントコーディングによるゲームの迅速なポーティング

    Game Porting Toolkit 4の新しいエージェント型機能を活用して、ゲームのAppleプラットフォームへのポーティングプロセスを大幅に高速化し、成功へ向けたゲームのジャーニーをスタートさせましょう。Metal 4の導入、MetalFXの統合、Appleハードウェアへのポーティングに伴うゲームの最適化を、AIコーディングアシスタントの支援を活用して行う方法を紹介します。エージェントがMetalデバッグツールを使用してGPUレンダリングの問題を自律的にトラブルシューティングしてくれるため、デベロッパは重要な作業に集中できるようになります。

    関連する章

    • 0:00 - Introduction
    • 1:06 - Porting assistant workflow
    • 6:25 - Windowing and frame pacing
    • 8:28 - Scene rendering with Metal 4
    • 15:16 - Debugging with GPU command-line tools
    • 19:09 - Game controllers and MetalFX
    • 25:11 - Next steps

    リソース

    • Game Porting Toolkit on GitHub
    • Download the Game Porting Toolkit
      • HDビデオ
      • SDビデオ

    関連ビデオ

    WWDC25

    • Metal 4ゲームの知識を深める
  • このビデオを検索

    こんにちは、David Srourです。 Metal Ecosystem Teamのエンジニアです。 今、コーディングエージェントが ソフトウェアの開発方法を 根本的に変えつつあります。 ゲームの移植も例外ではありません。 かつては何ヶ月もかかっていた 手作業のプラットフォーム対応が、 今では、ほんのわずかな時間で 適切なエージェントワークフローによって 実現できます。 Appleプラットフォームに対応する ゲームのラインナップは増え続けており、 見た目も操作感も素晴らしいものばかりです。 これはApple Silicon、 美しいディスプレイ、没入感のあるオーディオの おかげです。 これらのゲームの多くは、 プラットフォームにより速く Game Porting Toolkitの助けを借りて 参入することができました。

    そして今、Game Porting Toolkit 4が 新たなエージェントスキルをもたらし、 コーディングエージェントに 必要な専門知識を提供します。 これにより、ゲームを Appleプラットフォームへ大幅に速く これまで以上に高品質で移植できます。 今日はその方法を詳しくご説明します。

    一般的な移植ワークフローでは、 作業範囲を把握し、 ビルドを整えて シェーダーを変換し、 レンダラーを立ち上げ、 すべての入力を再マッピングし、 ネイティブプラットフォームの 感触に磨きをかけ、 パフォーマンスを最適化する必要があります。 これには時間がかかります。 しかしGame Porting Toolkit 4では、 エージェントスキルが主役を担います。 プラットフォームへの移植における 知識のギャップを埋めることで、 はるかに速く目標に到達できます。 エージェントの作業品質を向上させ、 あなたからの指示を 減らすことができます。 ツールキットに含まれるのは: 技術的なガイダンスを提供する エキスパートスキル。 そして、体系的なアプローチを提供する ワークフロースキルです。 これらをすべてつなぎ合わせるのが 移植アシスタントエージェントです。 移植の方法論を調整することで、 あなたは重要な意思決定に 集中できます。

    エキスパートスキルは、エージェントが 最適なコードを出力する可能性を高めます。 これは次のことで実現されます: プラットフォームの知識を提供し、 ベストプラクティスを適用し、 移植における一般的な アンチパターンを指摘します。 つまり、デバッグに費やす時間が減り、 その後のすべてのための しっかりした基盤が得られます。 移植アシスタントは、関連するスキルが 適切なタイミングで 使用されるよう管理します。 実行中、計画されたすべてのマイルストーンで 必要なエキスパートスキルが 自動的に読み込まれます。 モデルがスキルを使うかどうかの 判断に依存することなく。 バリデーションは各スキルの アンチパターンとベストプラクティスをチェックし、 評価環境からのグラウンドトゥルース キャプチャと比較します。

    エージェントはマイルストーンを超えて 学んだことを蓄積するため、 セッション間で情報が失われることはありません。 これがどのように機能するかを示すため、 MicrosoftのMiniEngineを移植します。 D3D12のオープンソースエンジンを WindowsからmacOSへ。 進め方を説明します。 まず、移植アシスタントについて、 計画と実行方法をお見せします。 次に、エキスパートスキルの詳細を 実際の移植中に動作する様子で ご紹介します。 今日はすべてにClaude Codeを 使用します。 では始めましょう。 スキルとアシスタントは プラグインとして提供されます。 Game Porting Toolkit GitHubマーケットプレイスから。 まずマーケットプレイスを追加します。 そしてプラグインをインストールします。 すべてのスキルがインストールされ、 使用できる状態になりました。

    これで移植アシスタントと 作業する準備が整いました。 何をすべきか分からない場合は、 アシスタントに聞くだけです。 体系化されたワークフローを通じて ガイドしてくれます。

    エージェントが最初に求めるのは ディスカバリーの実行です。 ワークフローをより詳しく見てみましょう。 大きく見ると、移植アシスタントの ワークフローは3つのステージを経ます。 ディスカバーワークフロースキルが コードベースを調べ、 評価環境から リファレンスキャプチャを取得し、 あなたの好みについて 質問します。 次に、あなたとアシスタントが マイルストーンの目標を計画します。 タイトル全体の移植は通常 1回のセッションには大きすぎるからです。

    各マイルストーンで、エージェントが 必要な変更を実行し、 あなたが専門知識を活かして 方向を導きます。

    実行の後はバリデーションです。 エージェントが使用する 複数ポイントのチェックリストで、 セッション中に行われた 変更を確認します。

    バリデーションワークフローは 移植を前進させ続けるのに役立ちます。 アプリが正常に起動するかを確認し、 APIの使用とシェーダーに対して Metal バリデーションを実行し、 スクリーンキャプチャで 視覚的な正確さを確認し、

    グラウンドトゥルースの参照と比較し、 使用されたスキルの既知の アンチパターンに対してコードをレビューし、 メモリの問題などを確認します。 このフェーズは、エージェントと協力して 最後の懸念事項に対処するのに最適です。 各マイルストーンで 浮上する問題に対応します。 以上が移植アシスタントと そのワークフローです。 私は同じプロセスを経て、 MiniEngineプロジェクトの ディスカバリーと計画を行い、 包括的な移植計画を 手に入れました。 各マイルストーンにエキスパートスキルが マッピングされた目標とマイルストーン。 すべての目標が、取り組み始められる マイルストーンに分解されています。 主な目標をいくつか見ていきましょう。 コンテンツの描画を始めるために ウィンドウが必要です。 次に、Metal 4でレンダラーを起動して シーンを画面に表示します。 ゲームコントローラーのサポートを追加して 移動できるようにします。 そして、アップスケーリングのために MetalFXを統合します。 エキスパートスキルが各目標を通じて エージェントをどのように導くか、 ドメインの専門知識と ベストプラクティスで見ていきましょう。

    現在、アプリはビルドして実行できますが、 画面には何も表示されていません。 実際のコンテンツを表示する ウィンドウが必要です。 エージェントにウィンドウの セットアップを指示します。 そしてエージェントは必要な スキルを読み込みます。 ウィンドウングとフレームペーシングの マイルストーンでは、 エージェントがウィンドウを作成するために いくつかのスキルを 連携して必要とします。 レンダーループを駆動し、D3D12のスワップチェーンモデルをマッピングします。 そして正しいペーシングを実現します。 ウィンドウスキルは、ウィンドウの作成と ライフサイクルに関する専門知識を提供します。 Metal へのトランスレーティングは スワップチェーンの概念をマッピングします。

    ドローアブルの提示は フレームペーシングのベストプラクティスをカバーします。 そしてmetal-cppスキルは 正しいMetalオブジェクトのライフタイムパターンを教えます。 これらのスキルは、このマイルストーンで 多くの範囲をカバーします。 通常の難しさは、ベストプラクティスの 一部だけでなく、 すべてが確実に 遵守されるようにすることにあります。 ウィンドウ自体については、 スキルがレンダーループのために Metal display linkをセットアップし、 フォーカスの変更や フルスクリーンなどのライフサイクルイベントを処理し、 ゲームに最適なレイヤーの 解像度とカラースペースを設定します。 プレゼンテーションについては、 活用するためのガイダンスを提供します。 低レイテンシーのための ダイレクト・トゥ・ディスプレイ提示、 スタッタリングを避けるための ドローアブルのライフタイム管理、

    そしてGPUが適切にアクセスできるよう テクスチャを常駐させることです。

    これにより、ウィンドウの動作が壊れたり、 フレームドロップや 空白の出力につながる よくある落とし穴を避けられます。 そして、移植エージェントと作業した 結果がこちらです。 滑らかなカラークリアアニメーション。 Metal HUDは安定した フレームペーシングを示しており、 レンダリング作業を開始する前に プレゼンテーションが 確実なものと確認できます。 マイルストーン完了。

    レンダラーを起動する時間です。 最初にプレイ可能な状態として ライティング、シャドウ、SSAO、トーンマッピングを目標にします。 Metal 4はAPIを次のレベルへ引き上げます。 明示的なメモリ管理と 新しいコマンド構造で。 スキルは現在のモデルのギャップを埋め、 実際の経験から移植の 専門知識を伝えます。

    アシスタントと3つの目標を計画しました。 シーンレンダリング。デプス、シャドウ、 カラーパスが含まれます。 ポストプロセッシングパイプラインのサブセット。 視覚品質向上のためのSSAOの移植と 画面にピクセルを表示するトーンマッピング。 最後に、シーンを完成させる ダイナミックライティング。 スキルがエージェントを各目標を通じて どのように導くかを示します。 シーンのレンダリングから始めましょう。 シーンレンダリングには3つのマイルストーンがあります: GPUリソース、シェーダーパイプライン、 そしてコマンドエンコーディング。 リソーススキルは、GPUメモリ、 テクスチャ、レンダーターゲットをカバーします。 シェーダーパイプラインとコンバータースキルが HLSLシェーダーを Metalのバインディングモデルに 接続します。 そして同期スキルが提供するのは パス間の 同期パターンです。 Metal 4でシーンをレンダリングするために、 エージェントはAPIに固有の方法で GPUリソースを管理する必要があります。 APIに特有の方法で。 スキルはどのストレージモードを 使用するかを教えます。 Apple Siliconのタイルアーキテクチャに 固有のオプションを含めて。

    Metal 4では、定数はバッファを通じて渡されます。 スキルはこれに推奨される アロケーションパターンを提供します。 そして、すべてのリソースが 登録されていることを確認します。 GPUアクセスのための レジデンシーセットに。 例を使って説明しましょう。 スキルはエージェントに使用前に リソースをレジデンシーセットに登録することを教えます。 アプリケーションのはるかに早い段階で。 これにより、GPUが必要とするときに すべてのリソースにアクセスできることが保証されます。

    スキルがなければ、エージェントは このステップが必要であることを知らず、 コンパイルされたものを そのまま使用してしまいます。 GPUは期待通りにテクスチャを読み込めず、 誤った結果が生じます。 既存のシェーダーをMetalに接続するために、 エージェントはシェーダーパイプラインと コンバータースキルが必要です。 スキルはエージェントがMetal 4のコンパイラーで パイプラインステートを作成する方法を指導します。

    デスクリプタテーブルの エンコーディングルールを教えます。 D3D12のルートシグネチャの 変換を処理します。 Metal Shader Converterランタイムを通じて。 そしてMetal 4の アーギュメントバッファレイアウトモデルを提供します。 例を見てみましょう。 スキルはエージェントにアーギュメントバッファの オフセットをクエリすることを教えます。 Metal Shader Converterランタイムから。 これにより、シェーダーが期待するものと 一致することが保証されます。 スキルなしでは、エージェントは MiniEngineのパターンをコピーします。 インデックス×サイズで オフセットを計算する方法を。 しかし、Metal Shader Converterを使用すると、 レイアウトが異なる場合があります。 そのため、オフセットが間違っています。 エラーはなく、ただレンダリングが不正確になります。 GPUの作業を正しく同期するために、 エージェントには同期スキルが必要です。 Metal 4は 完全に明示的な同期を使用し、 リソースの依存関係に対する 正確な制御を提供します。

    コマンドバッファ内の複数のエンコーダーは、 それらの間に適切なバリアが必要です。 D3D12とMetal 4は 異なるバリアモデルを使用しており、 スキルはそれらの間をマッピングします。 また、ステージマッピングテーブルも提供します。 D3D12のステートは 直接変換されないためです。 示してみましょう。 スキルはエージェントにD3D12のステートを マッピングすることを教えます。 Metal 4のプロデューサー・コンシューマーモデルに。 エージェントは最初から正しい 同期を実装します。 スキルなしでは、エージェントは 大まかなブランケットバリアに頼ります。 エンコーダーの境界で。 これは単純なケースでは機能するかもしれませんが、 静かに壊れる可能性があります。 レンダリングパイプラインが より複雑になるにつれて。

    最初のGPUワークロードが 実行されています。 エージェントは評価環境に対して 出力をバリデートし、 3つのジオメトリパスすべてが 一致することを確認します。 ポストプロセッシングなしではまだ表示できませんが、 正しい方向に進んでいることが分かります。 画面にピクセルを表示する時間です。 ポストプロセッシングパイプラインは コンピュートディスパッチを導入します。 SSAOとトーンマッピングパスのために。 ポストプロセッシングには2つのパートがあります。 SSAOチェーン。 一連のコンピュートディスパッチで、 正しいリソースのセットアップと 同期が必要です。 そしてトーンマッピング。 コンピュートからレンダーに戻る遷移です。 以前と同じレンダリングスキルが 両方に活用されます。 これらの同じスキルは今度は ガードレールとしても機能します。 同期スキルは バリア設定を検出します。 Apple Siliconのタイルメモリの 動作方法を考慮していない設定を。

    リソーススキルは 安全なデフォルト値を提供します。 段階的な移植中に、まだバインドされていない リソースのための安全なデフォルト値を。 そしてシェーダーコンバータースキルは データアライメントの不一致を検出します。 エンジンとシェーダーの間の不一致を。 示してみましょう。 スキルはエージェントに教えます。 Metal Shader Converterのリフレクションを 活用することを。 シェーダーから実際のパラメーター数を クエリするために。 レイアウトが一致し、 すべてが整列します。

    スキルなしでは、 エージェントはエンジンのオリジナルの 5つのルートパラメーターを引き継ぎます。 しかしMetal Shader Converterは レイアウトを決定します。 HLSLシェーダーから。 そちらでは4つのみ宣言されています。 その不一致がサンプラーテーブルを 間違ったオフセットにシフトさせます。

    初めて光が灯りました! これは常に達成感のある マイルストーンです。 しかし、何かがおかしいです。 カーテンにSSAOが効いているのは はっきり見えます。それは励みになります。 しかし、全体的なライティングが間違っており、 壁面のテクスチャが 明らかに引き伸ばされています。

    デバッグしましょう! 通常であればXcodeでフレームをキャプチャして 問題を診断します。 しかし今まで、エージェントは それを自分でできませんでした。 しかしmacOS 27では 新しいコマンドラインツールが導入されます。 完全に自律的な エージェントワークフローをサポートする: GPUフレームをキャプチャするgpucaptureと、 それを分析するgpudebugです。 エージェントがGPUデバッグスキルで これらの新しいツールをどのように活用するか見ましょう。 まず、観察した視覚的な症状を説明します。 エージェントは レンダリング問題デバッグスキルを読み込みます。 症状から根本原因へと向かうための 体系的な方法論を提供します。 アプリケーションの実行中に、エージェントは gpucaptureツールを活用して GPUトレースをキャプチャします。

    今度はgpudebugツールを活用して キャプチャを検査します。 Xcodeで通常確認するものは何でも 調べることができます。 リソースバインディング、 定数、リソースの内容、 パイプラインを通じたデータフローなど。 評価環境との乖離がどこで 生じているかを追跡しています。

    エージェントが問題を特定し、 修正を実装します。 体系的なデバッグアプローチのため、 推測で時間を無駄にしませんでした。 系統的に 問題を絞り込みました。

    そして、エージェントの修正後の MiniEngineの修正されたビルドがこちらです。 ライティングとテクスチャマップが 期待される出力と一致するようになりました。

    バリデーション中、エージェントは GPUツールを再び使用して フレームキャプチャを注意深く確認します。 エージェントはディスパッチコールと パイプラインを照合します。 評価環境から取得した 元のトレースと対比して。 ディスパッチの次元を含む すべての詳細を確認します。

    すべてのマイルストーンでこのようなバリデーションを 手動で行うのは通常面倒です。 複数のキャプチャを読み込んで 大量のデータを 並べて比較する必要があります。 macOS 27で提供される新しいツールを使えば、 エージェントがこれをはるかに速く 自分で処理できます。 最後の目標はダイナミックライツです。 128個のポイントライトとスポットライトを ライトカリングパスで計算します。 コンピュートインフラストラクチャの ほとんどはすでに動作していますが、 混在したリソースタイプと 新しい同期パターンに関する 新たな課題があります。

    ダイナミックライツには コンピュートベースのライトカリングパスが必要です。 バッファとテクスチャを 混在させたもので、 ライトデータのための 新しいGPUリソースも必要です。 シェーダーコンバーターと同期スキルが カリングパスを処理し、 リソーススキルが ライトデータをカバーします。

    コンピュートインフラストラクチャが 整っていても、 スキルはこのマイルストーン固有の 問題を指摘します。 以前のレジデンシーパターンが 再び役に立ちます。 新しいライトリソースが 自動的にGPUアクセス可能になります。

    同期スキルが 無効なレンダーステージフラグを検出します。 エージェントがコンピュートエンコーダーに 設定したフラグを。 そしてシェーダーコンバータースキルが混在した リソースタイプの正しいバインディングを確保します。

    最初のプレイアブルが完成しました。 Sponzaシーンが方向性のある ダイナミックライティングで適切に照らされています。 アプリはMetal 4を使って移植された すべてのレンダリング機能を使用しています。 最初のプレイアブルが完了しました。 続けて、MiniEngineに さらに機能を追加しましょう。

    キーボードとマウスは今まで問題ありませんでしたが、 カメラ操作を向上させるために ゲームパッドサポートを追加しましょう。

    エージェントにコントローラーサポートを 追加するよう指示すると、 ゲームコントローラースキルを 読み込みます。 コントローラースキルは GCControllerの検出をカバーします。 入力モデルと Windows APIからの移植も含めて。 Windowsでは、XInputが 固定のコントローラーレイアウトを提供します。 スキルはエージェントに、代わりに各コントローラーが 実際にサポートするものを確認するよう教えます。 入力についても同じ考え方です。 ボタンマップをハードコーディングするのではなく、 スキルはエージェントに、実際に利用可能なものを クエリするよう指示します。 接続されたデバイスで。 コントローラーはいつでも 接続されたり切断されたりします。 スキルは適切な検出と 切断パターンを提供します。 エージェントがそれを 適切に処理できるよう。 ゲームパッドが動作しています。 デバイス検出、スティックマッピング、 接続/切断イベント、 すべてが適切に処理されています。 これによりシーンのナビゲーションが 大幅にスムーズになります。

    MetalFXの機能を統合して さらに進めましょう。 MetalFXの2つの 異なる機能を追加します。 アップスケーリングは低解像度でレンダリングして より高品質な画像を再構築します。 適切に行えば、ネイティブ品質と 同等以上の結果が得られます。

    フレーム補間は 実効フレームレートを2倍にします。 1フレームおきに生成することで、 入力レイテンシーが多少増加します。 どちらも、より少ないリソースから より多くを引き出すことを目的としています。 詳細については、 「Go further with Metal 4 games」をご覧ください。 エージェントにアップスケーリングと フレーム補間を追加するよう依頼します。 そして、両方のMetalFXエキスパートスキルを 読み込みます。

    MetalFXには2つのマイルストーンがあります: テンポラルアップスケーリングと フレーム補間。 各マイルストーンは、その機能を対象とした 個別のスキルを活用します。 アップスケーリングスキルが最初を担当します。 フレーム補間スキルが 2番目を処理します。 アップスケーリングスキルが処理するのは ピクセル空間でジッタを 正しく設定します。 スキルなしでは、エージェントは おそらく正規化された値を使用し、 テンポラルアキュムレーションを 事実上無効にしてしまいます。 正しいスケールと規則で モーションベクターを設定し、 単純なセットアップで発生する ゴーストを回避します。 スケールファクターのための 良い出発点となるMIPバイアスを提供し、 チューニングのための しっかりした基盤を提供します。 そして、スケーラーがフレームをまたいで 詳細を蓄積できるよう、 ヒストリー再投影のセットアップを 提供します。 フレーム補間スキルが 完全な統合を処理します。 専用のプレゼントスレッドをセットアップして プレゼンテーションを レンダリングから分離します。 スキルなしでは、エージェントは レンダースレッドからプレゼントし、 フレーム間隔が不均一になる 可能性があります。 補間されたフレームと レンダリングされたフレームが 均等な間隔になるよう 精密なタイミングを設定します。 そして、補間されたフレームが 合成されたフレームと 適切にインターリーブされるよう プレゼンテーション順序を正しく設定します。 こちらが両方の機能を同時に実行した様子です。 アップスケーリングとフレーム補間。

    Metal HUDが示すのは テンポラルアップスケーラーと インターポレーターが どちらも使用されていることです。

    macOS 27はMetal HUDの機能を拡張します。 統合のデバッグと バリデーションを支援するために。 Metal HUDを使用して、今や確認できます。 MetalFXの統合が 期待通りに動作していることを。

    アップスケーラーのexposureパラメーターが 表示されます。 APIに適切に渡されているか 確認できます。

    また、ジッターシーケンス情報を 確認することもできます。 適切に設定されているかを 確認するために。 範囲外のジッターは赤で表示され、 散布図でその位置を 視覚化できます。

    次に、オーバーライドオプションを 見てみましょう。 これらは統合のデバッグに 役立ちます。 何が問題になっているかを より良く把握するために。

    MetalFXが観測するシーンの exposureを視覚化できるようになりました。 ジッタープロットオプションで HUDに散布図が表示されます。

    ジッター倍率と モーションベクタースケールの 両方をオーバーライドできます。 これらのオーバーライドは アプリケーションの実行中に有効になり、 ジッター倍率の調整に役立ちます。 またはモーションベクタースケールで アップスケーリングの問題をデバッグします。 誤った統合を見てみると、 カメラが動いているときに 揺らぎアーティファクトが観察されます。 HUDでモーションベクター情報を確認すると、 X軸スケールが負になっていることが 分かります。 オーバーライドパネルで 正の値にしてみましょう。

    モーションの揺らぎが 修正されました。

    今度はレンダリングされた出力で、 テクスチャオブジェクトに ぼやけが見られます。 視覚品質を向上させるために ジッター倍率を調整します。

    ジッター倍率を調整する前と後の 並べて比較です。

    HUDオーバーライドで出力が修正されれば、 バグがどこにあるかが分かります。 ジッターまたはモーションベクター値を 計算するロジックまで さかのぼって ソースを修正します。

    まとめると、Game Porting Toolkit 4の 新しいエージェントスキルは、 ゲームをAppleプラットフォームへ 移植することを加速します。 移植アシスタントは 体系的なアプローチを提供します。 エキスパートスキルとワークフロースキルの 両方を使用するための。 スキルは知識とベストプラクティスを 組み合わせて、 ゲームの機能を 起動・稼働させます。

    アシスタントはまた、明確なマイルストーンを持つ 包括的な移植計画の作成も支援します。 明確なマイルストーンで。

    スキルを実演しました。 MicrosoftのMiniEngineを ネイティブMacアプリとして移植することで。

    今ではMetal 4を使用して 同じ機能をレンダリングします。 元のアプリケーションと同様に。

    また、新しいgpudebugツールが エージェントによるフレームトレース分析を どのように可能にするかも示しました。

    そしてスキルはさまざまな移植タスクを 支援します。 ウィンドウング、ゲームコントローラー、 MetalFXまで幅広く。 Game Porting Toolkit 4のスキルと ワークフローを使用して 移植し、 トラブルシューティングを行い、 MiniEngineをPCからMacへチューニングしました。 手動でこの作業を行った場合に かかる時間の ほんのわずかな時間で。 重労働はスキルに任せ、 私は他のことに集中しました: アーキテクチャの決定を行い、 エージェントの出力をレビューし、 ゲームに関する重要なコンテキストを 提供することに。 スキルがすべての プラットフォーム知識を処理しました。 まとめる前に、 移植エージェントの作業を 最後のコードベースで示します。 移植アシスタントをGodotに向けました。 既存のMetal 3バックエンドを持つ プロダクションエンジンです。 そして、Metal 4をそれと並行して 追加するよう依頼しました。 同じワークフローに従い、 同じスキルを使用し、 グラウンドトゥルースと ベストプラクティスに対してバリデートしました。 これはまだ共同作業ですが、 スキルが大幅に 速度を向上させました。 数日で起動・稼働しました。 これは、スキルが小さなエンジンを超えて スケールすることを示しています。 プロダクショングレードの プロジェクトまで。 始めるには、スキルを ダウンロードしてインストールします。 ゲームのコードベースで 試してみてください。 移植アシスタントを起動して、 移植プロセスを通じて ガイドしてもらいましょう。 スキルは以下で見つかります。 Game Porting Toolkit GitHubリポジトリで。

    これらのスキルが素晴らしいゲームを Appleエコシステムへと 持ち込むお役に立てるのを 楽しみにしています。

    • 3:31 - Install Game Porting Toolkit skills

      /plugin marketplace add apple/game-porting-toolkit
      /plugin install game-porting-skills@game-porting-toolkit
    • 10:24 - Register resources for residency

      // With skill
      residencySet->addAllocation(texture);
      residencySet->commit();
      // ...
      argumentTable->setAddress(texture->gpuAddress(), bindPoint);
      
      // Without skill
      argumentTable->setAddress(texture->gpuAddress(), bindPoint);
    • 11:25 - Query argument buffer offsets

      // With skill
      IRRootSignatureGetResourceLocations(m_MtlCurIRRootSig, locations);
      size_t offset = locations[i].topLevelOffset;
      
      // Without skill
      size_t offset = paramIndex * descriptorSize;
    • 12:34 - Map D3D12 states to Metal 4 stages

      // With skill
      m_MtlPendingProducerStages |= MtlProducerStageFromD3D12(OldState);
      m_MtlPendingConsumerStages |= MtlConsumerStageFromD3D12(NewState);
      // ...
      m_ComputeEncoder->barrierAfterStages(
          m_MtlPendingProducerStages,
          m_MtlPendingConsumerStages,
          MTL4::VisibilityOptionDevice);
      
      // Without skill
      m_ComputeEncoder->barrierAfterStages(
          MTL::StageDispatch,
          MTL::StageAll,
          MTL4::VisibilityOptionDevice);
    • 14:24 - Query shader reflection parameter count

      // With skill
      IRShaderReflection* refl = IRShaderReflectionCreate();
      IRObjectGetReflection(compiledObj, IRShaderStageCompute, refl);
      // ...
      s_RootSignature.Reset(4, 2); // Reflection reveals: 4 params
      
      // Without skill
      s_RootSignature.Reset(5, 2);
    • 0:00 - Introduction
    • An overview of how Game Porting Toolkit 4 introduces agentic skills — expert skills and workflow skills — that give a coding agent the domain knowledge to accelerate porting a game to Apple platforms.

    • 1:06 - Porting assistant workflow
    • How the porting assistant orchestrates the full porting process across three stages: Discover (scanning the codebase and capturing reference frames from the evaluation environment), Plan (defining milestone goals collaboratively), and Execute-and-Validate (running the agent with structured validation checklists that check app launch, Metal API correctness, screen captures, anti-pattern review, and memory issues).

    • 6:25 - Windowing and frame pacing
    • How the window, Metal swap chain, presenting drawables, and metal-cpp expert skills guide the agent to implement a correct render loop using Metal Display Link, handle lifecycle events, configure the layer for games, leverage direct-to-display presentation for lower latency, and manage drawable lifetimes to avoid stuttering.

    • 8:28 - Scene rendering with Metal 4
    • How the GPU resources, shader pipeline, Metal Shader Converter, and synchronization expert skills guide the agent through three milestones: GPU resource management (storage modes, residency sets, constant buffer allocation), shader pipeline setup (argument buffer offsets, descriptor table encoding, root signature translation), and command encoding with Metal 4's explicit barrier model mapping D3D12 states to producer-consumer synchronization.

    • 15:16 - Debugging with GPU command-line tools
    • How the new gpucapture and gpudebug command-line tools on macOS 27 enable fully autonomous agent-driven GPU debugging. The agent captures a frame trace, inspects pipeline state, textures, and dispatch dimensions — all without requiring manual Xcode interaction — allowing it to identify and fix rendering issues autonomously.

    • 19:09 - Game controllers and MetalFX
    • How the game controller expert skill ports from Windows XInput to GCController with correct discovery, dynamic button layout querying, and connect/disconnect handling. Then how the MetalFX upscaling and frame interpolation skills handle jitter configuration, motion vector conventions, mip bias, history reprojection, and the dedicated present thread — with new Metal HUD debugging overlays in macOS 27 to validate and tune the integration.

    • 25:11 - Next steps
    • How to get started: download and install the Game Porting Toolkit 4 skills from the GitHub repository, invoke the porting assistant on your codebase, and let it guide you through a structured porting plan with clear milestones.

Developer Footer

  • ビデオ
  • WWDC26
  • エージェントコーディングによるゲームの迅速なポーティング
  • メニューを開く メニューを閉じる
    • iOS
    • iPadOS
    • macOS
    • tvOS
    • visionOS
    • watchOS
    Open Menu Close Menu
    • Swift
    • SwiftUI
    • Swift Playground
    • TestFlight
    • Xcode
    • Xcode Cloud
    • SF Symbols
    メニューを開く メニューを閉じる
    • アクセシビリティ
    • アクセサリ
    • Apple Intelligence
    • App Extension
    • App Store
    • オーディオとビデオ(英語)
    • 拡張現実
    • デザイン
    • 配信
    • 教育
    • フォント(英語)
    • ゲーム
    • ヘルスケアとフィットネス
    • アプリ内課金
    • ローカリゼーション
    • マップと位置情報
    • 機械学習とAI
    • オープンソース(英語)
    • セキュリティ
    • SafariとWeb(英語)
    メニューを開く メニューを閉じる
    • 英語ドキュメント(完全版)
    • 日本語ドキュメント(一部トピック)
    • チュートリアル
    • ダウンロード
    • フォーラム(英語)
    • ビデオ
    Open Menu Close Menu
    • サポートドキュメント
    • お問い合わせ
    • バグ報告
    • システム状況(英語)
    メニューを開く メニューを閉じる
    • Apple Developer
    • App Store Connect
    • Certificates, IDs, & Profiles(英語)
    • フィードバックアシスタント
    メニューを開く メニューを閉じる
    • Apple Developer Program
    • Apple Developer Enterprise Program
    • App Store Small Business Program
    • MFi Program(英語)
    • Mini Apps Partner Program
    • News Partner Program(英語)
    • Video Partner Program(英語)
    • セキュリティ報奨金プログラム(英語)
    • Security Research Device Program(英語)
    Open Menu Close Menu
    • Appleに相談
    • Apple Developer Center
    • App Store Awards(英語)
    • Apple Design Awards
    • Apple Developer Academy(英語)
    • WWDC
    最新ニュースを読む。
    Apple Developerアプリを入手する。
    Copyright © 2026 Apple Inc. All rights reserved.
    利用規約 プライバシーポリシー 契約とガイドライン