← Todos os Posts

Game Porting Toolkit 4: ports de jogos agênticos no Mac

Do guia: Claude Code Comprehensive Guide

“I am using Claude Code for everything today.” David Srour, engenheiro do Metal Ecosystem Team da Apple, disse essa frase em um palco da WWDC 2026 e então passou o resto da sessão 357 portando o MiniEngine da Microsoft de D3D12 no Windows para Metal 4 no macOS, com um agente fazendo o trabalho de plataforma.1 O veículo é o Game Porting Toolkit 4, que entrega skills agênticas como um plugin que você instala a partir do Game Porting Toolkit marketplace no GitHub: skills especialistas que carregam o conhecimento da plataforma, skills de workflow que impõem um processo baseado em marcos e um agente assistente de port que orquestra os dois.1 A Apple também construiu a primitiva que tornou a demonstração possível. O macOS 27 adiciona gpucapture e gpudebug, ferramentas de linha de comando que permitem a um agente capturar um quadro de GPU e analisá-lo sem que um humano opere o Xcode.1

A Apple publicou um pacote de skills próprio para um agente de codificação, voltado a um domínio que os agentes antes não conseguiam tocar por conta própria: subir um renderizador, depurar pixels errados e ajustar um upscaler. A sessão 356 é a peça complementar, em que Paweł Sasko, da CD PROJEKT RED, mostra como o estúdio trouxe Cyberpunk 2077: Ultimate Edition para o Mac à mão. O port de Cyberpunk é anterior às skills agênticas; ninguém na CDPR executou um assistente de port. A Apple emparelha as duas sessões deliberadamente, encerrando a palestra de Cyberpunk apontando os desenvolvedores para a agêntica.2 Lidas em conjunto, elas fazem um único argumento: o manual de jogadas manual funciona em escala AAA, e o Game Porting Toolkit 4 entrega esse manual a um agente.

Resumo

  • O Game Porting Toolkit 4 acrescenta skills agênticas para o port de jogos: skills especialistas (conhecimento de domínio), skills de workflow (um processo baseado em marcos) e um agente assistente de port que as orquestra, distribuídos como um plugin a partir do Game Porting Toolkit marketplace no GitHub.1
  • O workflow executa discover (varredura da base de código, capturas de referência do ambiente de avaliação, perguntas sobre preferências), plan, execute e validate; cada marco carrega automaticamente suas skills especialistas “without relying on whether the model decides to use them or not”, e o agente “stores what it learns across milestones”.1
  • O macOS 27 entrega gpucapture e gpudebug, ferramentas de CLI que “support fully autonomous agent workflows”, além de extensões do Metal HUD para o MetalFX: uma leitura de exposição, um gráfico de dispersão de jitter que marca em vermelho os valores fora da faixa e overrides em tempo real.1
  • A Apple demonstrou as skills portando o MiniEngine da Microsoft de D3D12 para Metal 4 e então apontou o assistente para o Godot, que ganhou um backend Metal 4 “up and running in a few days”.1
  • Cyberpunk 2077 comprova o pipeline subjacente em escala AAA, pela via manual: profiling no ambiente de avaliação primeiro, o preset automático “For this Mac”, HDR autocalibrado via EDR e áudio espacial com rastreamento de cabeça, e venceu o Mac Game of the Year nos App Store Awards 2025 da Apple.2

O assistente de port e suas skills (Sessão 357)

Watch on Apple Developer ↗

David Srour dá nome ao seu agente e instala o plugin a partir do Game Porting Toolkit marketplace, a partir de 3:26.

Um port típico significa dimensionar o trabalho, colocar uma build em funcionamento, converter shaders, subir o renderizador, remapear entradas, polir para uma sensação nativa e otimizar o desempenho.1 O Game Porting Toolkit 4 ataca essa lista com dois tipos de skills. As skills especialistas oferecem orientação técnica: conhecimento de plataforma, boas práticas e sinais de alerta para anti-padrões comuns de port. As skills de workflow oferecem a abordagem estruturada. O agente assistente de port amarra tudo, e a Apple é explícita sobre por que a orquestração importa: “During execution, all planned milestones automatically load the necessary expert skills without relying on whether the model decides to use them or not.”1 A seleção de skills deixa de ser uma jogada de dados do modelo e passa a fazer parte da definição do processo.

A distribuição passa pelo próprio sistema de plugins do agente. “The skills and assistant are provided as a plugin from the Game Porting Toolkit marketplace on GitHub. You will first add the marketplace. And then install the plugin.”1 O repositório por trás desse marketplace é apple/game-porting-toolkit, descrito como “Resources for porting games and engines to Apple platforms”; seu README documenta a mesma divisão: skills especialistas cobrindo Metal 4, MetalFX, compilação de shaders, frameworks de plataforma e ferramentas de depuração, e skills de workflow que executam um processo de port baseado em marcos e persistem o estado entre sessões.3 No Claude Code, registrar o marketplace é um único comando: /plugin marketplace add apple/game-porting-toolkit.3

O workflow do assistente tem três estágios. O discover olha sua base de código, pega capturas de referência do ambiente de avaliação (o mesmo ambiente de build do Windows traduzida que a CDPR usou, mais sobre isso adiante) e faz perguntas sobre suas preferências. Em seguida, você e o assistente planejam os objetivos dos marcos, “since porting a whole title is usually too big for one session”.1 Para cada marco, o agente executa as mudanças enquanto você o orienta, e então a validação roda uma checklist de vários pontos: o app inicia corretamente, a validação do Metal passa no uso da API e nos shaders, as capturas de tela confirmam a correção visual contra referências de ground truth, o agente revisa o código contra anti-padrões conhecidos das skills que usou e verifica problemas de memória.1 O agente também “stores what it learns across milestones, so nothing gets lost between sessions”.1

A demonstração do MiniEngine mostra o que as skills especialistas de fato proporcionam. Para o primeiro marco, uma janela com pacing de quadros correto, quatro skills carregam juntas: criação e ciclo de vida de janela, mapeamento do conceito de swap-chain, apresentação de drawable e tempos de vida de objetos metal-cpp.1 Para a renderização de cena, a skill de resources ensina o modelo de residência do Metal 4: registre os recursos em um residency set cedo, porque sem esse conhecimento o agente produz código que compila enquanto a GPU não consegue ler a textura.1 As skills de pipeline de shaders e de conversor fazem o agente consultar offsets de argument buffer no runtime do Metal shader converter em vez de copiar a aritmética de índice-vezes-tamanho do MiniEngine, que quebra quando o conversor dispõe os buffers de outra forma: “No error, just incorrect rendering.”1 A skill de sincronização mapeia o modelo de barreiras do D3D12 para o modelo produtor-consumidor do Metal 4 em vez de deixar o agente recair em barreiras generalizadas nos limites de encoder, que funcionam em casos simples e quebram silenciosamente conforme o pipeline cresce.1 Um padrão emerge nas três: o modo de falha que as skills previnem raramente é um crash. São pixels errados sem mensagem de erro.

As skills se estendem além do primeiro jogável. Uma skill de game controller cobre a descoberta de GCController e ensina o agente a consultar o que um dispositivo conectado realmente suporta em vez de assumir o layout fixo do XInput.1 Duas skills de MetalFX cuidam de upscaling e interpolação de quadros: a skill de upscaling configura o jitter em espaço de pixel (valores normalizados praticamente desativariam a acumulação temporal), monta vetores de movimento com a escala e as convenções corretas e fornece a configuração de MIP bias e de reprojeção de histórico; a skill de interpolação de quadros estabelece uma thread de present dedicada para que quadros interpolados e renderizados permaneçam uniformemente espaçados.1

Srour encerrou com uma segunda base de código: “I pointed the porting assistant at Godot, a production engine with an existing Metal 3 backend, and asked it to add Metal 4 alongside it.”1 Mesmo workflow, mesmas skills, validação contra ground truths. “It’s still a collaborative effort, but the skills sped things up significantly. It was up and running in a few days.”1 Sua divisão de trabalho para a sessão inteira é a parte que vale citar para qualquer cético do port agêntico: “I let the skills do the heavy lifting, while I focused on other things: making the architectural decisions, reviewing the agent’s output, and providing important context about the game.”1

gpucapture e gpudebug: a primitiva de depuração autônoma

O momento decisivo da sessão 357 chega na metade do port do MiniEngine, quando a primeira luz surge com iluminação errada e texturas de parede visivelmente esticadas. Srour nomeia a lacuna diretamente: “Normally I’d capture a frame in Xcode and diagnose the issue. But until now, an agent couldn’t do that on its own.”1 A depuração de GPU vinha sendo a parede dura do trabalho gráfico autônomo; tudo passava por uma GUI.

O macOS 27 derruba a parede: “macOS 27 introduces new command-line tools which support fully autonomous agent workflows: gpucapture for capturing a GPU frame, and gpudebug for analyzing it.”1 Na demonstração, Srour descreve os sintomas visuais, o agente carrega uma skill de depuração de problemas de renderização com uma metodologia estruturada de sintomas para causa raiz, captura um trace com gpucapture enquanto o app roda e então usa gpudebug para inspecionar “anything you’d normally check in Xcode, resource bindings, constants, resource contents, and data flow through the pipeline”, rastreando onde a saída diverge do ambiente de avaliação até encontrar e corrigir o problema.1 As mesmas ferramentas então alimentam a validação: o agente compara chamadas de dispatch, pipelines e dimensões de dispatch com o trace original, uma comparação lado a lado que Srour chama de tediosa para fazer à mão a cada marco.1 A página do produto da Apple deixa o enquadramento explícito: com acesso de linha de comando às ferramentas do Metal, os agentes agora podem capturar, depurar e fazer profiling de cargas de trabalho do Metal diretamente.3

O macOS 27 também estende o Metal HUD para o trabalho de integração com o MetalFX. O HUD agora exibe o parâmetro de exposição do upscaler para que você confirme que ele chega à API, mostra informações da sequência de jitter com jitters fora da faixa marcados em vermelho em um gráfico de dispersão e oferece overrides em tempo real para multiplicadores de jitter e escalas de vetores de movimento que entram em vigor enquanto o app roda.1 O diagnóstico da demonstração é um exemplo limpo da técnica: artefatos de tremulação durante o movimento da câmera, o HUD mostra a escala X do vetor de movimento negada, invertê-la no painel de overrides corrige a tremulação, e “if the HUD overrides fix the output, that tells you where the bug is”.1 Em seguida você rastreia a correção de volta até a lógica de origem.

Cyberpunk 2077: o manual de jogadas manual em escala AAA (Sessão 356)

Watch on Apple Developer ↗

Paweł Sasko percorre o preset “For this Mac” em um MacBook Pro com M5 Max, a partir de 15:26.

A sessão 356 reúne Garrett Austin, engenheiro do time de Game Performance da Apple, com Paweł Sasko, Associate Game Director da CD PROJEKT RED.2 Para ser preciso quanto à linha do tempo: Cyberpunk 2077: Ultimate Edition foi lançado no Mac e venceu o Mac Game of the Year nos App Store Awards 2025 da Apple, antes de as skills agênticas do Game Porting Toolkit 4 existirem.2 A CDPR fez cada passo da sessão à mão. A razão de a sessão pertencer a um post sobre port agêntico é que o pipeline que a CDPR percorreu manualmente é o mesmo que o assistente de port agora orquestra, ambiente de avaliação, Metal shader converter, MetalFX, validação por ground truth, e a Apple conecta os dois ela mesma, encerrando a sessão de Cyberpunk enviando os espectadores para “Speedrun your game port with agentic coding”.2

O primeiro movimento da CDPR estabeleceu o padrão. “Before we started building the native path for Cyberpunk 2077 on Mac, we used Apple’s Game Porting Toolkit to evaluate the Windows build in a translated environment on macOS. This let us gain valuable insight before writing any code.”2 O estúdio rodou um conjunto predeterminado de sequências de hotspot no ambiente de avaliação e leu cada execução por três ângulos: dados estatísticos de tempo de quadro do profiler interno da engine, correlação do Metal HUD entre eventos de cena e o trace, e profiling interno da engine separado por thread.2 Os sinais ficaram claros cedo. O tempo de GPU parecia saudável em hardware de alta especificação, enquanto a direção densa pela cidade expôs a pressão de CPU como o verdadeiro hotspot. O ambiente até sinalizou seus próprios artefatos, oscilação de tempo de quadro pela tradução de shaders ao vivo e middleware de áudio que parecia pesado, ambos resolvidos nos binários nativos; o Game Porting Toolkit os identificou para que a CDPR soubesse investigar cedo.2 Mapeie isso no estágio discover da sessão 357, em que o assistente pega capturas de referência do mesmo ambiente de avaliação antes de planejar um único marco, e a herança é direta.

O polimento de lançamento é onde a versão de Mac se destaca, a começar pela primeira inicialização. “For this Mac” é um sistema de preset gráfico baseado em dispositivo: ele detecta o hardware do seu Mac e configura automaticamente os ajustes para o aparelho.2 A CDPR escolheu ajustes por dispositivo que mantêm a fidelidade de imagem, definiu taxas de quadro alvo de 30 ou 60 FPS, rodou MetalFX com Dynamic Resolution Scaling entre limites de resolução mínima e máxima ajustados, definiu VSync para o pacing de quadros e habilitou HDR conforme a capacidade do display, e então ajustou cada configuração restante por dispositivo em um ciclo de medir-refinar-revalidar.2 Sasko demonstrou o resultado em um MacBook Pro com o chip M5 Max: preset Ultra como base, um trava de 60 FPS com VSync, Dynamic Resolution Scaling renderizando entre 50 e 80 por cento de uma saída de 2336x1460, mantendo 60 FPS pelo Black Market de Dogtown, uma das áreas mais pesadas do jogo, nos ajustes de fábrica.2 A ideia está se espalhando: “other developers are starting to adopt ‘For this Mac’ settings in their games as well”.2

O HDR é lançado sem tela de calibração. A CDPR implementou HDR pelo pipeline de Extended Dynamic Range da Apple, consultando maximumExtendedDynamicRangeColorComponentValue para o valor máximo atual de EDR do display e alimentando-o direto no tone mapper; o valor muda conforme o hardware e as condições do display, então o tone mapper sempre acompanha o que o painel de fato consegue exibir.2 O HDR liga por padrão quando um display tem headroom para isso: o jogo verifica maximumPotentialExtendedDynamicRangeColorComponentValue e habilita HDR quando o valor máximo potencial de EDR do display ultrapassa 2.0.2

O áudio recebe o mesmo tratamento de ligado por padrão. O middleware de Cyberpunk implementa as APIs de áudio espacial da Apple via AVAudioEngine, e a CDPR habilitou o rastreamento de cabeça para AirPods definindo a propriedade listenerHeadTrackingEnabled do AVAudioEnvironmentNode como true, ligada por padrão sem nenhuma configuração extra.2 O Game Mode ajuda o mesmo hardware: ele dá aos jogos acesso de maior prioridade à CPU e à GPU e dobra a taxa de amostragem do Bluetooth, reduzindo a latência para controles sem fio e o áudio dos AirPods, e o macOS o habilita automaticamente para apps categorizados como jogos.2

Os números de resultado encerram o argumento a favor da plataforma. Cyberpunk 2077 vendeu 35 milhões de cópias em todas as plataformas, mais 10 milhões de cópias de Phantom Liberty, e Cyberpunk 2077: Ultimate Edition venceu o Mac Game of the Year nos App Store Awards 2025 da Apple.2 O resumo de Sasko é o que os estúdios vão lembrar: “what matters is not how much work you put into something, but what the result is for our players”.2

Como começar

As duas sessões se compõem em uma sequência:

  1. Rode sua build do Windows no ambiente de avaliação primeiro. Nenhum código necessário, e o ambiente agora suporta Metal 4 para testes de compatibilidade e desempenho.3 Siga a leitura da CDPR: sequências de hotspot, estatísticas de tempo de quadro, correlação do Metal HUD e profiling de CPU por thread, e trate os artefatos da camada de tradução como pistas sinalizadas, não como veredictos.2
  2. Instale as skills. Adicione o Game Porting Toolkit marketplace e instale o plugin; no Claude Code o registro do marketplace é /plugin marketplace add apple/game-porting-toolkit.13 Se você não tiver certeza do próximo passo, pergunte ao assistente de port; o primeiro passo dele é a descoberta.1
  3. Planeje marcos com o assistente e deixe a validação fechar a comporta de cada um. Inicialização do app, validação do Metal, comparação de captura contra ground truth, revisão de anti-padrões e checagens de memória rodam por marco, e o agente leva o que aprendeu para a próxima sessão.1
  4. Mude para o macOS 27 para o ciclo de depuração. gpucapture e gpudebug dão ao agente captura e análise de quadro autônomas, e as extensões de MetalFX do Metal HUD (leitura de exposição, gráfico de dispersão de jitter, overrides em tempo real) localizam bugs do upscaler enquanto o jogo roda.1
  5. Roube a checklist de lançamento de Cyberpunk. Um preset automático no estilo “For this Mac” para a primeira inicialização, HDR autocalibrado movido a EDR com ligado por padrão acima de 2.0 de headroom potencial, e áudio espacial com rastreamento de cabeça via listenerHeadTrackingEnabled.2

FAQ

O que exatamente o Game Porting Toolkit 4 acrescenta para os agentes?

Três coisas: skills especialistas que dão a um agente de codificação conhecimento de plataforma, boas práticas e sinais de anti-padrão em Metal 4, MetalFX, compilação de shaders, frameworks de plataforma e depuração; skills de workflow que impõem um processo baseado em marcos com estado persistido; e um agente assistente de port que orquestra a metodologia, carregando automaticamente as skills especialistas certas por marco em vez de deixar a escolha para o modelo.13

Em qual agente de codificação o assistente de port roda?

A demonstração da sessão da Apple roda inteiramente no Claude Code; Srour afirma que está “using Claude Code for everything today”.1 As skills se instalam como um plugin a partir do Game Porting Toolkit marketplace no GitHub, e o repositório organiza sua documentação de instalação por agente de codificação, com o comando de marketplace do Claude Code documentado diretamente.3

O que são gpucapture e gpudebug?

Novas ferramentas de linha de comando no macOS 27. gpucapture captura um quadro de GPU de uma aplicação em execução; gpudebug analisa a captura, expondo resource bindings, constantes, conteúdos de recursos e fluxo de dados do pipeline que antes exigiam a GUI do Xcode. A Apple as construiu para que os workflows de agente possam ser “fully autonomous”: um agente agora pode ir de um sintoma visual a uma causa raiz e a uma correção validada sem um humano capturando quadros.1

A CD PROJEKT RED usou as skills agênticas para portar Cyberpunk 2077?

Não. O port de Cyberpunk 2077 para Mac foi um esforço manual que foi lançado e venceu o Mac Game of the Year nos App Store Awards 2025 da Apple antes de as skills agênticas do Game Porting Toolkit 4 existirem.2 A relevância corre na direção oposta: o pipeline da CDPR (ambiente de avaliação primeiro, Metal shader converter, MetalFX com Dynamic Resolution Scaling, validação visual por ground truth) é o mesmo manual de jogadas que o assistente de port agora executa com um agente.12

Como funciona o preset “For this Mac”?

Ele detecta o hardware do Mac do jogador e configura os ajustes de gráficos e vídeo para aquele aparelho automaticamente: um alvo de 30 ou 60 FPS, MetalFX com Dynamic Resolution Scaling dentro de limites de resolução ajustados, VSync, resolução de saída e HDR conforme a capacidade do display, com cada ajuste restante calibrado à mão por dispositivo. Em um MacBook Pro com M5 Max o preset usa Ultra como base e mantém 60 FPS travados enquanto renderiza de 50 a 80 por cento de 2336x1460.2


Running Agentic AI on the Mac with MLX cobre o lado de inferência local do trabalho agêntico no Mac, e Xcode 27 Went Agentic cobre o lado da IDE; o Game Porting Toolkit 4 é a terceira perna específica de port de jogos. Metal 4 Essentials detalha a API que as skills miram. O hub completo da série é a Apple Ecosystem Series.

Referências


  1. Apple, WWDC 2026 sessão 357, Speedrun your game port with agentic coding. Fonte das skills especialistas, skills de workflow e do agente assistente de port do Game Porting Toolkit 4; da distribuição do plugin a partir do Game Porting Toolkit marketplace no GitHub; do workflow discover, plan, execute, validate com skills autocarregadas, capturas de ground truth e memória entre marcos; das ferramentas de CLI gpucapture e gpudebug no macOS 27; das extensões de MetalFX do Metal HUD (exibição de exposição, gráfico de dispersão de jitter com vermelho para fora da faixa, overrides em tempo real); do port do MiniEngine de D3D12 para Metal 4; do backend Metal 4 do Godot rodando em poucos dias; e das citações de David Srour, incluindo “I am using Claude Code for everything today.” ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩

  2. Apple, WWDC 2026 sessão 356, Bringing Cyberpunk 2077 to Mac. Fonte da abordagem de ambiente de avaliação primeiro e seus três ângulos de profiling; do preset baseado em dispositivo “For this Mac” (alvos de 30/60 FPS, MetalFX com Dynamic Resolution Scaling, VSync, HDR por capacidade do display); da demonstração no M5 Max (base Ultra, trava de 60 FPS, 50–80 por cento de 2336x1460); do HDR autocalibrado via maximumExtendedDynamicRangeColorComponentValue e da checagem de ligado por padrão contra maximumPotentialExtendedDynamicRangeColorComponentValue ultrapassando 2.0; do áudio espacial com rastreamento de cabeça via AVAudioEnvironmentNode.listenerHeadTrackingEnabled; da taxa de amostragem do Bluetooth dobrada pelo Game Mode; dos fatos de 35 milhões de cópias, 10 milhões de Phantom Liberty e Mac Game of the Year; da atribuição de palestrantes a Garrett Austin (Apple Game Performance) e Paweł Sasko (CD PROJEKT RED); e da referência cruzada final à sessão 357. ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩

  3. Apple, repositório game-porting-toolkit (“Resources for porting games and engines to Apple platforms”) e a página do produto Game Porting Toolkit. Fonte da cobertura de skills especialistas do repositório (Metal 4, MetalFX, compilação de shaders, frameworks de plataforma, ferramentas de depuração) e da persistência de estado das skills de workflow, do comando de marketplace do Claude Code /plugin marketplace add apple/game-porting-toolkit, da documentação de instalação por agente, do acesso de linha de comando às ferramentas do Metal permitindo que agentes capturem, depurem e façam profiling de cargas de trabalho do Metal, e do suporte a Metal 4 do ambiente de avaliação. Verificado em 09/06/2026. ↩↩↩↩↩↩↩

Artigos relacionados

Xcode 27 traz Agent Skills que você pode exportar para qualquer lugar

O Xcode 27 traz dois agent skills do SwiftUI e um exportador. O xcrun agent skills export leva as práticas da Apple ao C…

10 min de leitura

Claude Code /design: o que a prévia de pesquisa faz

O que a skill /design do Claude Code faz na prévia de pesquisa: artboards a partir de um briefing, níveis de edição, req…

10 min de leitura