← Todos los articulos

Game Porting Toolkit 4: portar juegos al Mac con agentes

From the guide: Claude Code Comprehensive Guide

«Hoy estoy usando Claude Code para todo». David Srour, ingeniero del Metal Ecosystem Team de Apple, dijo esa frase en un escenario de la WWDC 2026 y luego dedicó el resto de la sesión 357 a portar el MiniEngine de Microsoft, de D3D12 en Windows a Metal 4 en macOS, con un agente haciendo el trabajo de plataforma.1 El vehículo es Game Porting Toolkit 4, que incluye skills agénticas como un plugin que instalas desde el marketplace de Game Porting Toolkit en GitHub: skills expertas que aportan el conocimiento de la plataforma, skills de workflow que imponen un proceso por hitos y un agente asistente de portado que orquesta ambas.1 Apple también construyó la primitiva que hizo posible la demo en primer lugar. macOS 27 añade gpucapture y gpudebug, herramientas de línea de comandos que permiten a un agente capturar un frame de la GPU y analizarlo sin que un humano maneje Xcode.1

Apple publicó un paquete de skills propio para un agente de codificación, dirigido a un terreno que los agentes antes no podían tocar por su cuenta: levantar un renderizador, depurar píxeles incorrectos y afinar un upscaler. La sesión 356 es la pieza complementaria, donde Paweł Sasko, de CD PROJEKT RED, recorre cómo el estudio llevó Cyberpunk 2077: Ultimate Edition al Mac a mano. El portado de Cyberpunk es anterior a las skills agénticas; nadie en CDPR ejecutó un asistente de portado. Apple empareja las dos sesiones de forma deliberada y cierra la charla de Cyberpunk remitiendo a los desarrolladores a la agéntica.2 Leídas en conjunto, plantean un único argumento: el manual de jugadas manual funciona a escala AAA, y Game Porting Toolkit 4 le entrega ese manual a un agente.

TL;DR

  • Game Porting Toolkit 4 añade skills agénticas para portar juegos: skills expertas (conocimiento del dominio), skills de workflow (un proceso por hitos) y un agente asistente de portado que las orquesta, distribuido como un plugin desde el marketplace de Game Porting Toolkit en GitHub.1
  • El workflow ejecuta discover (escaneo del código base, capturas de referencia del entorno de evaluación, preguntas sobre preferencias), plan, execute y validate; cada hito carga automáticamente sus skills expertas «sin depender de que el modelo decida usarlas o no», y el agente «guarda lo que aprende a lo largo de los hitos».1
  • macOS 27 incluye gpucapture y gpudebug, herramientas CLI que «admiten workflows de agente totalmente autónomos», además de extensiones del Metal HUD para MetalFX: una lectura de la exposición, un diagrama de dispersión del jitter que marca en rojo los valores fuera de rango y overrides en vivo.1
  • Apple demostró las skills portando el MiniEngine de Microsoft de D3D12 a Metal 4 y luego apuntó el asistente a Godot, que obtuvo un backend de Metal 4 «en marcha en unos pocos días».1
  • Cyberpunk 2077 demuestra el pipeline subyacente a escala AAA, por la vía manual: perfilado a partir del entorno de evaluación, el preajuste automático «For this Mac», HDR autocalibrado mediante EDR y audio espacial con seguimiento de cabeza, y ganó el Mac Game of the Year en los App Store Awards 2025 de Apple.2

El asistente de portado y sus skills (sesión 357)

Ver: Haz un speedrun del portado de tu juego con codificación agéntica (WWDC26)

David Srour le pone nombre a su agente e instala el plugin desde el marketplace de Game Porting Toolkit, a partir del 3:26.

Un portado típico implica acotar el trabajo, conseguir que compile, convertir shaders, levantar el renderizador, remapear las entradas, pulir para una sensación nativa y optimizar el rendimiento.1 Game Porting Toolkit 4 ataca esa lista con dos tipos de skills. Las skills expertas aportan orientación técnica: conocimiento de la plataforma, buenas prácticas y avisos sobre antipatrones de portado habituales. Las skills de workflow aportan el enfoque estructurado. El agente asistente de portado las une, y Apple es explícito sobre por qué importa la orquestación: «Durante la ejecución, todos los hitos planificados cargan automáticamente las skills expertas necesarias, sin depender de que el modelo decida usarlas o no».1 La selección de skills deja de ser una tirada de dados del modelo y pasa a formar parte de la definición del proceso.

La distribución pasa por el propio sistema de plugins del agente. «Las skills y el asistente se ofrecen como un plugin desde el marketplace de Game Porting Toolkit en GitHub. Primero añadirás el marketplace. Y luego instalarás el plugin».1 El repositorio detrás de ese marketplace es apple/game-porting-toolkit, descrito como «Resources for porting games and engines to Apple platforms»; su README documenta la misma división: skills expertas que cubren Metal 4, MetalFX, compilación de shaders, frameworks de plataforma y herramientas de depuración, y skills de workflow que ejecutan un proceso de portado por hitos y conservan el estado entre sesiones.3 En Claude Code, registrar el marketplace es un solo comando: /plugin marketplace add apple/game-porting-toolkit.3

El workflow del asistente tiene tres etapas. Discover examina tu código base, toma capturas de referencia del entorno de evaluación (el mismo entorno de build de Windows traducida que usó CDPR, más sobre esto abajo) y te hace preguntas sobre tus preferencias. Luego, tú y el asistente planificáis los objetivos de los hitos, «ya que portar un título completo suele ser demasiado para una sola sesión».1 En cada hito, el agente ejecuta los cambios mientras tú lo guías, y después validate corre una lista de comprobación de varios puntos: la aplicación se lanza correctamente, la validación de Metal pasa con el uso de la API y los shaders, las capturas de pantalla confirman la corrección visual frente a las referencias de verdad de campo, el agente revisa el código a la luz de los antipatrones conocidos de las skills que usó y comprueba que no haya problemas de memoria.1 El agente además «guarda lo que aprende a lo largo de los hitos, de modo que nada se pierde entre sesiones».1

La demo del MiniEngine muestra lo que de verdad aportan las skills expertas. Para el primer hito, una ventana con un frame pacing correcto, se cargan juntas cuatro skills: creación y ciclo de vida de la ventana, mapeo conceptual de la swap-chain, presentación de los drawables y tiempos de vida de los objetos metal-cpp.1 Para el renderizado de la escena, la skill resources enseña el modelo de residencia de Metal 4: registra los recursos en un residency set pronto, porque sin ese conocimiento el agente produce código que compila aunque la GPU no pueda leer la textura.1 Las skills shader pipeline y converter hacen que el agente consulte los offsets de los argument buffers al runtime del Metal shader converter en lugar de copiar la aritmética de índice × tamaño del MiniEngine, que se rompe cuando el converter dispone los buffers de otra forma: «Sin error, solo un renderizado incorrecto».1 La skill synchronization mapea el modelo de barreras de D3D12 al modelo productor-consumidor de Metal 4, en vez de dejar que el agente recurra a barreras generalizadas en los límites de los encoders, que funcionan en casos simples y se rompen en silencio a medida que crece el pipeline.1 Surge un patrón en las tres: el modo de fallo que las skills previenen rara vez es un crash. Son píxeles incorrectos sin mensaje de error alguno.

Las skills se extienden más allá del primer estado jugable. Una skill game controller cubre el descubrimiento por GCController y enseña al agente a consultar qué admite realmente un dispositivo conectado en lugar de asumir la disposición fija de XInput.1 Dos skills de MetalFX manejan el upscaling y la interpolación de frames: la skill upscaling configura el jitter en espacio de píxeles (los valores normalizados desactivarían en la práctica la acumulación temporal), prepara los motion vectors con la escala y las convenciones correctas y aporta la configuración del MIP bias y la reproyección del historial; la skill frame interpolation establece un hilo de presentación dedicado para que los frames interpolados y renderizados se mantengan espaciados de forma uniforme.1

Srour cerró con un segundo código base: «Apunté el asistente de portado a Godot, un motor de producción con un backend de Metal 3 existente, y le pedí que añadiera Metal 4 junto a él».1 Mismo workflow, mismas skills, validación frente a las verdades de campo. «Sigue siendo un esfuerzo colaborativo, pero las skills aceleraron las cosas de forma notable. Estuvo en marcha en unos pocos días».1 Su reparto de tareas en toda la sesión es la parte que conviene citar a cualquiera que dude del portado agéntico: «Dejé que las skills hicieran el trabajo pesado mientras yo me centraba en otras cosas: tomar las decisiones de arquitectura, revisar la salida del agente y aportar contexto importante sobre el juego».1

gpucapture y gpudebug: la primitiva de depuración autónoma

El momento clave de la sesión 357 llega a mitad del portado del MiniEngine, cuando la primera imagen aparece con una iluminación incorrecta y texturas de pared visiblemente estiradas. Srour nombra el hueco directamente: «Normalmente capturaría un frame en Xcode y diagnosticaría el problema. Pero hasta ahora, un agente no podía hacer eso por su cuenta».1 La depuración de la GPU ha sido el muro infranqueable del trabajo gráfico autónomo; todo pasaba por una interfaz gráfica.

macOS 27 derriba el muro: «macOS 27 introduce nuevas herramientas de línea de comandos que admiten workflows de agente totalmente autónomos: gpucapture para capturar un frame de la GPU y gpudebug para analizarlo».1 En la demo, Srour describe los síntomas visuales, el agente carga una skill debugging-rendering-issues con una metodología estructurada de los síntomas a la causa raíz, captura una traza con gpucapture mientras la aplicación corre y luego usa gpudebug para inspeccionar «cualquier cosa que normalmente comprobarías en Xcode: enlaces de recursos, constantes, contenidos de recursos y el flujo de datos a través del pipeline», rastreando dónde la salida diverge del entorno de evaluación hasta que encuentra y corrige el problema.1 Las mismas herramientas alimentan después la validación: el agente compara las llamadas de dispatch, los pipelines y las dimensiones de dispatch con la traza original, una comparación en paralelo que Srour califica de tediosa de hacer a mano en cada hito.1 La página de producto de Apple lo deja explícito: con acceso por línea de comandos a las herramientas de Metal, los agentes ahora pueden capturar, depurar y perfilar cargas de trabajo de Metal directamente.3

macOS 27 también extiende el Metal HUD para el trabajo de integración de MetalFX. El HUD ahora muestra el parámetro de exposición del upscaler para que confirmes que llega a la API, presenta información de la secuencia de jitter con los jitters fuera de rango marcados en rojo en un diagrama de dispersión y ofrece overrides en vivo para los multiplicadores de jitter y las escalas de motion vectors que surten efecto mientras la aplicación corre.1 El diagnóstico de la demo es un ejemplo limpio de la técnica: artefactos de oscilación durante el movimiento de la cámara, el HUD muestra la escala X del motion vector invertida, voltearla en el panel de overrides corrige la oscilación, y «si los overrides del HUD corrigen la salida, eso te dice dónde está el bug».1 Después rastreas la corrección de vuelta hasta la lógica de origen.

Cyberpunk 2077: el manual de jugadas manual a escala AAA (sesión 356)

Ver: Llevar Cyberpunk 2077 al Mac (WWDC26)

Paweł Sasko recorre el preajuste «For this Mac» en un MacBook Pro M5 Max, a partir del 15:26.

La sesión 356 empareja a Garrett Austin, ingeniero del equipo Game Performance de Apple, con Paweł Sasko, Associate Game Director en CD PROJEKT RED.2 Para ser precisos con la cronología: Cyberpunk 2077: Ultimate Edition salió en Mac y ganó el Mac Game of the Year en los App Store Awards 2025 de Apple, antes de que existieran las skills agénticas de Game Porting Toolkit 4.2 CDPR hizo cada paso de la sesión a mano. La razón por la que esta sesión pertenece a un artículo sobre portado agéntico es que el pipeline que CDPR recorrió manualmente es el mismo que el asistente de portado orquesta ahora: entorno de evaluación, Metal shader converter, MetalFX, validación por verdad de campo. Y Apple conecta los dos por su cuenta, cerrando la sesión de Cyberpunk al enviar a los espectadores a «Haz un speedrun del portado de tu juego con codificación agéntica».2

El primer movimiento de CDPR fijó el patrón. «Antes de empezar a construir el camino nativo de Cyberpunk 2077 en Mac, usamos el Game Porting Toolkit de Apple para evaluar la build de Windows en un entorno traducido en macOS. Esto nos permitió obtener información valiosa antes de escribir una sola línea de código».2 El estudio ejecutó un conjunto predeterminado de secuencias de puntos calientes en el entorno de evaluación y leyó cada ejecución desde tres ángulos: datos estadísticos de tiempo por frame del profiler integrado en el motor, la correlación del Metal HUD entre los eventos de escena y la traza, y el perfilado interno del motor desglosado por hilo.2 Las señales fueron claras pronto. El tiempo de GPU se veía sano en hardware de gama alta, mientras que la conducción densa por la ciudad exponía la presión de CPU como el verdadero punto caliente. El entorno incluso señaló sus propios artefactos: oscilación del tiempo por frame por la traducción de shaders en vivo y un middleware de audio de aspecto pesado, ambos resueltos en los binarios nativos; el Game Porting Toolkit los identificó, así que CDPR supo que debía investigarlos pronto.2 Lleva eso a la etapa discover de la sesión 357, donde el asistente toma capturas de referencia del mismo entorno de evaluación antes de planificar un solo hito, y la herencia es directa.

El pulido de salida es donde la versión de Mac se distingue, empezando por el primer arranque. «For this Mac» es un sistema de preajustes gráficos basado en el dispositivo: detecta el hardware de tu Mac y configura los ajustes automáticamente para ese dispositivo.2 CDPR eligió ajustes por dispositivo que mantienen la fidelidad de la imagen, fijó tasas de frames objetivo de 30 o 60 FPS, ejecutó MetalFX con Dynamic Resolution Scaling entre límites de resolución mínima y máxima afinados, configuró VSync para el frame pacing y activó HDR según la capacidad de la pantalla, y luego afinó cada ajuste restante por dispositivo en un bucle de medir-refinar-revalidar.2 Sasko demostró el resultado en un MacBook Pro con el chip M5 Max: el preajuste Ultra como base, un bloqueo a 60 FPS con VSync, Dynamic Resolution Scaling renderizando entre el 50 y el 80 por ciento de una salida de 2336x1460, manteniendo 60 FPS por el Black Market de Dogtown, una de las zonas más pesadas del juego, con los ajustes de fábrica.2 La idea se está extendiendo: «otros desarrolladores también están empezando a adoptar los ajustes “For this Mac” en sus juegos».2

El HDR se entrega sin pantalla de calibración. CDPR implementó el HDR a través del pipeline Extended Dynamic Range de Apple, consultando maximumExtendedDynamicRangeColorComponentValue para el valor máximo de EDR actual de la pantalla y pasándolo directamente al tone mapper; el valor cambia con el hardware de la pantalla y las condiciones, de modo que el tone mapper siempre sigue lo que el panel realmente puede hacer.2 El HDR se activa por defecto cuando una pantalla tiene el margen para ello: el juego comprueba maximumPotentialExtendedDynamicRangeColorComponentValue y activa el HDR cuando el valor potencial máximo de EDR de la pantalla supera 2.0.2

El audio recibe el mismo trato de activado por defecto. El middleware de Cyberpunk implementa las API de audio espacial de Apple mediante AVAudioEngine, y CDPR activó el seguimiento de cabeza para los AirPods estableciendo la propiedad listenerHeadTrackingEnabled del AVAudioEnvironmentNode en true, activado por defecto sin configuración adicional.2 Game Mode ayuda al mismo hardware: da a los juegos acceso prioritario a la CPU y la GPU y duplica la tasa de muestreo de Bluetooth, recortando la latencia de los mandos inalámbricos y el audio de los AirPods, y macOS lo activa automáticamente para las aplicaciones clasificadas como juegos.2

Las cifras de resultado cierran el caso para la plataforma. Cyberpunk 2077 ha vendido 35 millones de copias en todas las plataformas, más 10 millones adicionales de Phantom Liberty, y Cyberpunk 2077: Ultimate Edition ganó el Mac Game of the Year en los App Store Awards 2025 de Apple.2 El resumen de Sasko es el que recordarán los estudios: «lo que importa no es cuánto trabajo le dedicas a algo, sino cuál es el resultado para nuestros jugadores».2

Cómo empezar

Las dos sesiones se componen en una secuencia:

  1. Ejecuta primero tu build de Windows en el entorno de evaluación. No hace falta código, y el entorno ahora admite Metal 4 para pruebas de compatibilidad y rendimiento.3 Sigue la lectura de CDPR: secuencias de puntos calientes, estadísticas de tiempo por frame, correlación del Metal HUD y perfilado de CPU por hilo, y trata los artefactos de la capa de traducción como pistas señaladas, no como veredictos.2
  2. Instala las skills. Añade el marketplace de Game Porting Toolkit e instala el plugin; en Claude Code el registro del marketplace es /plugin marketplace add apple/game-porting-toolkit.13 Si no sabes qué hacer a continuación, pregúntale al asistente de portado; su primer paso es el descubrimiento.1
  3. Planifica los hitos con el asistente y deja que la validación filtre cada uno. El lanzamiento de la aplicación, la validación de Metal, la comparación de capturas frente a la verdad de campo, la revisión de antipatrones y las comprobaciones de memoria se ejecutan por hito, y el agente lleva lo que aprendió a la siguiente sesión.1
  4. Pásate a macOS 27 para el bucle de depuración. gpucapture y gpudebug le dan al agente captura y análisis de frames autónomos, y las extensiones MetalFX del Metal HUD (lectura de la exposición, diagrama de dispersión del jitter, overrides en vivo) localizan los bugs del upscaler mientras el juego corre.1
  5. Roba la checklist de salida de Cyberpunk. Un preajuste automático estilo «For this Mac» para el primer arranque, HDR autocalibrado mediante EDR y activado por defecto por encima de 2.0 de margen potencial, y audio espacial con seguimiento de cabeza mediante listenerHeadTrackingEnabled.2

Preguntas frecuentes

¿Qué añade exactamente Game Porting Toolkit 4 para los agentes?

Tres cosas: skills expertas que le dan a un agente de codificación conocimiento de la plataforma, buenas prácticas y avisos de antipatrones a través de Metal 4, MetalFX, compilación de shaders, frameworks de plataforma y depuración; skills de workflow que imponen un proceso por hitos con estado persistente; y un agente asistente de portado que orquesta la metodología, cargando automáticamente las skills expertas adecuadas en cada hito en lugar de dejar la elección al modelo.13

¿Sobre qué agente de codificación corre el asistente de portado?

La demo de la sesión de Apple corre por completo sobre Claude Code; Srour afirma que está «usando Claude Code para todo hoy».1 Las skills se instalan como un plugin desde el marketplace de Game Porting Toolkit en GitHub, y el repositorio organiza su documentación de instalación por agente de codificación, con el comando de marketplace de Claude Code documentado directamente.3

¿Qué son gpucapture y gpudebug?

Nuevas herramientas de línea de comandos en macOS 27. gpucapture captura un frame de la GPU desde una aplicación en ejecución; gpudebug analiza la captura y expone los enlaces de recursos, las constantes, los contenidos de recursos y el flujo de datos del pipeline que antes requerían la interfaz gráfica de Xcode. Apple las creó para que los workflows de agente puedan ser «totalmente autónomos»: un agente ahora puede ir de un síntoma visual a una causa raíz y a una corrección validada sin que un humano capture frames.1

¿Usó CD PROJEKT RED las skills agénticas para portar Cyberpunk 2077?

No. El portado de Cyberpunk 2077 al Mac fue un esfuerzo manual que salió y ganó el Mac Game of the Year en los App Store Awards 2025 de Apple antes de que existieran las skills agénticas de Game Porting Toolkit 4.2 La relevancia va en sentido contrario: el pipeline de CDPR (entorno de evaluación primero, Metal shader converter, MetalFX con Dynamic Resolution Scaling, validación visual por verdad de campo) es el mismo manual de jugadas que el asistente de portado ejecuta ahora con un agente.12

¿Cómo funciona el preajuste «For this Mac»?

Detecta el hardware del Mac del jugador y configura los ajustes gráficos y de vídeo para ese dispositivo automáticamente: un objetivo de 30 o 60 FPS, MetalFX con Dynamic Resolution Scaling dentro de límites de resolución afinados, VSync, resolución de salida y HDR según la capacidad de la pantalla, con cada ajuste restante afinado a mano por dispositivo. En un MacBook Pro M5 Max el preajuste usa Ultra como base y mantiene un bloqueo a 60 FPS mientras renderiza del 50 al 80 por ciento de 2336x1460.2


Ejecutar IA agéntica en el Mac con MLX cubre la cara de inferencia local del trabajo agéntico en el Mac, y Xcode 27 se volvió agéntico cubre la cara del IDE; Game Porting Toolkit 4 es la tercera pata, específica del portado de juegos. Lo esencial de Metal 4 desentraña la API a la que apuntan las skills. El hub completo de la serie es la Serie Apple Ecosystem.

Referencias


  1. Apple, WWDC 2026 session 357, Speedrun your game port with agentic coding. Source for Game Porting Toolkit 4’s expert skills, workflow skills, and porting assistant agent; plugin distribution from the Game Porting Toolkit marketplace on GitHub; the discover, plan, execute, validate workflow with auto-loaded skills, ground-truth captures, and cross-milestone memory; the gpucapture and gpudebug CLI tools in macOS 27; the Metal HUD MetalFX extensions (exposure display, jitter scatter plot with out-of-range red, live overrides); the MiniEngine D3D12-to-Metal 4 port; the Godot Metal 4 backend running in a few days; and the David Srour quotes, including “I am using Claude Code for everything today.” 

  2. Apple, WWDC 2026 session 356, Bringing Cyberpunk 2077 to Mac. Source for the evaluation-environment-first approach and its three profiling angles; the “For this Mac” device-based preset (30/60 FPS targets, MetalFX with Dynamic Resolution Scaling, VSync, HDR by display capability); the M5 Max demo (Ultra base, 60 FPS lock, 50-80 percent of 2336x1460); auto-calibrated HDR via maximumExtendedDynamicRangeColorComponentValue and the default-on check against maximumPotentialExtendedDynamicRangeColorComponentValue exceeding 2.0; head-tracked spatial audio via AVAudioEnvironmentNode.listenerHeadTrackingEnabled; Game Mode’s doubled Bluetooth sampling rate; the 35 million copies, 10 million Phantom Liberty, and Mac Game of the Year facts; speaker attribution for Garrett Austin (Apple Game Performance) and Paweł Sasko (CD PROJEKT RED); and the closing cross-reference to session 357. 

  3. Apple, game-porting-toolkit repository (“Resources for porting games and engines to Apple platforms”) and the Game Porting Toolkit product page. Source for the repository’s expert-skill coverage (Metal 4, MetalFX, shader compilation, platform frameworks, debugging tools) and workflow-skill state persistence, the Claude Code marketplace command /plugin marketplace add apple/game-porting-toolkit, per-agent install documentation, command-line access for Metal tools letting agents capture, debug, and profile Metal workloads, and the evaluation environment’s Metal 4 support. Verified 2026-06-09. 

Artículos relacionados

Metal para machine learning en 2026

La WWDC26 convirtió a Metal en una superficie de cómputo de ML de primer nivel: tensors Metal para kernels personalizado…

16 min de lectura

El Patrón Protégé

Un modelo 7B con acceso experto disperso iguala agentes 50 veces su tamano. Ruta trabajo rutinario a modelos pequenos y …

9 min de lectura