Le pregunté a los desarrolladores por qué los puertos de PC en 2023 funcionan como basura

respec dt imagen destacada 2
Esta historia es parte de la serie ReSpec de Jacob Roach, que cubre el mundo de los juegos y el hardware para PC.

Al mirar el estado de las versiones de PC en 2023, es fácil empezar a señalar con el dedo. El juego no está optimizado (lo que sea que eso signifique), o el editor lo apresuró demasiado rápido, o las tarjetas gráficas que Nvidia nos ha estado vendiendo vienen con muy poca VRAM. Pero estas acusaciones, en la mayoría de los casos, son a medias y presuntuosas, y aunque insinúan la realidad, no cuentan la historia completa.

Contenido

  • ¿Cuál es el problema?
  • lo que puedes hacer bien
  • El camino a seguir para los puertos de PC

Vídeos recomendados

Quería saber qué estaba pasando realmente, así que me senté con algunos desarrolladores para entender el estado de los juegos de PC y por qué tantos lanzamientos han llegado con problemas tan grandes. Más importante aún, quería saber qué podían hacer los desarrolladores y editores para resolver estos problemas. y aunque el camino a seguir no está claro, se está volviendo obvio que los desarrolladores saben que hay un problema.

¿Cuál es el problema?

Una pequeña PC para juegos junto a la PS5.

Primero, necesitamos identificar el problema central con la PC, especialmente cuando los juegos se envían en estados jugables (si no perfectos) en las consolas pero llegan terriblemente dañados a la PC. A un alto nivel, el problema con la PC como plataforma es exactamente lo que la hace tan atractiva en primer lugar: flexibilidad.

Relacionado

  • Con asociaciones exclusivas de PC, todos pierden
  • Las consolas todavía tienen una gran ventaja, y está perjudicando a los juegos de PC
  • Cómo un juego viral de cámara corporal engañó a Internet para que pensara que se trataba de imágenes reales

Marc Whitten, vicepresidente senior y gerente general de Unity Create, dice que "la gran diversidad y variabilidad de las configuraciones de PC en las que se jugarán los juegos... definitivamente puede exponer problemas inesperados”. Whitten también señala "diferentes sistemas operativos y nuevas actualizaciones de controladores, calor y latencia, y personalización del usuario" como factores que pueden influir en el problema.

Esa es la respuesta, estoy seguro, que la mayoría de la gente asume que es la explicación.

Pero el problema, según Whitten, no es la falta de pruebas en sí. Afirma que los juegos "generalmente se prueban exhaustivamente a lo largo del desarrollo". El problema se reduce a la escala de las diferentes configuraciones que los desarrolladores necesitan probar, así como las variables que no pueden tener en cuenta para.

Como experimento mental, supongamos que un desarrollador fijó 100 configuraciones de PC diferentes para probar, variando la CPU, GPU, RAMy el disco duro entre ellos. Para que conste, este es un número que solo estoy sacando, no algo a lo que un desarrollador realmente se refirió como un objetivo realista. Ahora, tome todas esas configuraciones y multiplíquelas por docenas de factores adicionales: ¿Qué sistema operativo está usando? ¿Qué versión de ese sistema operativo? ¿Qué hay de la versión del controlador? ¿Qué configuraciones de BIOS están habilitadas? ¿Tiene algún software ejecutándose en segundo plano como Razer Synapse o Corsair iCue?

El RTX 4080 en un banco de pruebas en funcionamiento.
Jacob Roach / Tendencias digitales

El alcance de las posibles configuraciones va mucho más allá de la CPU y la GPU que tiene en su sistema, y estos factores pueden multiplicarse fácilmente en decenas de miles de escenarios que los desarrolladores simplemente no pueden considerar para. En un mundo ideal, los desarrolladores pueden solucionar los problemas más importantes de las configuraciones de PC más populares con las actualizaciones más recientes de controladores y sistemas operativos, dejando solo problemas pequeños y específicos para abordar después del lanzamiento.

Whitten tampoco está solo en este sentimiento. John Johanas, director de juego de fiebre de alta fidelidadel mal interior 2, dice que "es bastante poco realista pensar que se puede hacer un producto que funcionará sin problemas en lo que se siente como una configuración ilimitada de CPU, GPU, memoria y, más probablemente, lo que se ejecuta en el fondo."

Hideyuki Miyashita, programador de sistemas en fiebre de alta fidelidad, estuvo de acuerdo, pero señaló específicamente el costo de optimizar un juego para cada configuración posible: "En términos de rendimiento de la PC, hacer que cada función gráfica sea escalable para diferentes configuraciones sería ideal; sin embargo, los costos de desarrollo imponen un techo superior al soporte de escalabilidad realista”.

Esta no es una historia nueva. La gran cantidad de configuraciones de PC es el culpable común de todo, desde lo difícil que es optimizar los juegos en PC hasta por qué no hemos visto El resumen rápido de Xbox aparece en Windows. La pregunta es qué pueden hacer los desarrolladores a pesar del tiempo y el dinero limitados que tienen. Porque las PC no se vuelven más simples y los juegos siguen llegando a la plataforma rotos.

lo que puedes hacer bien

Cal Kestis empuñando su sable de luz azul y cargando BD-1 en Star Wars Jedi: Survivor.

Tenemos muchos ejemplos de juegos que funcionan mal con el soporte de PC este año. uno primo el ejemplo es Star Wars Jedi: Superviviente, que actualmente se encuentra en un estado de revisión "Mixto" en Steam a pesar de ser uno de los juegos más aclamados del año. La revisión principal dice: "Un solo bloqueo corrompió mi archivo guardado de 140 horas 99.8% NG +". ¡Ay!

Me comuniqué con el equipo de desarrollo para tener una idea de lo que salió mal y, aunque inicialmente fueron receptivos, EA intervino y dejó de devolver mis correos electrónicos. Entonces, en lugar de ver qué juegos hacen mal en la PC, debemos ver qué hacen bien los desarrolladores.

fiebre de alta fidelidad es un estudio de caso principal. Es un nuevo juego de un estudio AAA y utiliza el infame Unreal Engine 4. Podrías pensar que está comparando manzanas con naranjas entre fiebre de alta fidelidad y un juego como star wars jedi: superviviente, pero tienen más en común de lo que podrías sospechar. Como señala Johanas, “… el hecho de que el juego tenga una estética de dibujos animados dará a algunos usuarios la percepción de que el juego no debería ser un problema para ejecutarse en la PC de nadie. Siendo realistas, el juego hace muchas cosas para lograr el aspecto que buscábamos y el constante mundo en movimiento que es muy exigente... Sabía que entrar y me aseguré de que tratáramos de golpear esos Expectativas."

Chai acuchilla a un robot en Hi-Fi Rush.
Bethesda

Establecer ese objetivo desde el principio parecía importante para fiebre de alta fidelidadla estabilidad. Los desarrolladores señalan que fue un objetivo de diseño desde el principio mantener al menos 60 fotogramas por segundo (fps) debido al hecho de que es tanto un juego de ritmo como un juego. juego de acción, donde no alcanzar esa marca causaría "hipo [que] podría resultar en una desincronización de la música y una mala experiencia de juego percibida", según Johanas.

¿Cómo lo logró el equipo de Tango Gameworks? Se reduce ampliamente a tres puntos principales: monitoreo cuidadoso de VRAM, operaciones asincrónicas y almacenamiento en caché de PSO.

Según Kosuke Tanaka, programador gráfico principal de fiebre de alta fidelidad, el equipo supervisó el uso de VRAM en cada paso del desarrollo. Eso incluye monitorear cada nivel, por supuesto, pero también el uso de VRAM de cada sección de arte, pidiéndoles a los artistas que reduzcan el uso de memoria de textura o malla para ajustarse al presupuesto del juego. Esto tampoco es raro en el desarrollo de juegos.

que funciona en fiebre de alta fidelidadEl favor de es su fuerte dirección artística. Como señala Tanaka: "Nuestro estilo artístico nos ayudó un poco porque no requerimos texturas PBR tradicionales como mapas normales, rugosidad mapas, o mapas metálicos.” Es un testimonio de trabajar con limitaciones creativas y de cómo eso puede influir en la estabilidad del resultado final. producto. Johanas dice que no se trataba de un alcance más pequeño, se trataba de "no tener necesidad de ir a lo grande sin ningún motivo".

Le pregunté al equipo qué había aprendido de fiebre de alta fidelidad que podría llevar a proyectos más grandes y más amplios, pero no es exactamente así como Tango está tomando lecciones del juego. De hecho, el equipo de desarrollo me dijo que aprendió mucho más sobre optimización de Ghostwire: Tokio, que encaja más en el molde AAA tradicional, y llevó esas ideas a fiebre de alta fidelidad, no de la otra manera.

Akito ataca a los enemigos con magia en Ghostwire: Tokyo.
Ghostwire: Tokyo es una muestra temprana de TSR de Unreal Engine, que es muy similar a FSR 2.0.

“Aprendimos mucho de nuestro conocimiento sobre cómo lidiar con la tartamudez en el juego en fiebre de alta fidelidad de nuestra experiencia optimizando Ghostwire: Tokio”, me dijo Miyashita. Una gran parte de eso fue  Almacenamiento en caché de objetos de estado de canalización (PSO). Esta es una característica disponible en Unreal Engine 4 que ayuda a reducir el tartamudeo al precompilar sombreadores antes de ejecutar el juego.

El principal problema es que Unreal Engine 4 no hace esto automáticamente, lo que lleva a situaciones en las que los sombreadores deben compilarse mientras juegas, lo que provoca un tartamudeo. Miyashita dice que "esto dio como resultado que algunos procesos posteriores y VFX causaran tartamudeo". El programador también dice que el almacenamiento en caché de PSO es opcional, por lo que debe ser un enfoque específico para el desarrollador.

Sin embargo, el almacenamiento en caché no resuelve todos los problemas, y ahí es donde entran las operaciones asincrónicas. El fiebre de alta fidelidad El equipo usó compilación asincrónica, donde los sombreadores se compilan por separado del hilo del juego, pero también fue un gran enfoque considerando que el juego se ejecutó en Unreal Engine 4.

Como hemos visto con otros juegos de Unreal Engine 4 como Star Wars Jedi: Superviviente Caída roja, el motor no es muy bueno para escalar a los muchos subprocesos disponibles en las CPU modernas. como miyashita explica: “Lo difícil que puede ser admitir subprocesos múltiples depende en gran medida del motor usado. arquitectura. Desafortunadamente, UE4 se queda un poco corto en este aspecto”.

En particular, Unreal Engine 4, según el desarrollador, coloca la creación de actores (objetos/personajes) y widgets (interfaz de usuario y superposición) en el mismo subproceso de CPU que el juego. Eso significa que cada vez que el juego quiere, por ejemplo, cargar un nuevo personaje, tiene prioridad en el hilo. Miyashita dice que "esto puede resultar en una creación compleja de actores y widgets que bloquea el hilo del juego durante mucho tiempo". Eso es un tartamudeo.

La solución son las operaciones asíncronas. Miyashita dice que el equipo usa herramientas de análisis para determinar qué está haciendo la CPU a medida que se traen los objetos. en, y que hacen un esfuerzo para mover esas tareas a diferentes subprocesos para que el juego no se ralentice abajo. Esta orientación específica también puede ayudar con la carga de recursos. Mover esas operaciones a una estructura paralela puede evitar las trampas del tartamudeo de transmisión presente en juegos como Espacio muerto.

El camino a seguir para los puertos de PC

Layla se protege con un paraguas espectral en Redfall.

Los juegos que están saliendo en estados desastrosos hoy comenzaron su desarrollo hace años, así que aunque tengo esperanzas que los lanzamientos de PC mejorarán a medida que avance el año, pueden pasar varios años antes de que veamos estos problemas centrales dirigido.

Whitten dice que "los desarrolladores están tan preocupados por el rendimiento como los jugadores", y ese es un sentimiento que he escuchado varias veces. Hay formas de optimizar las versiones de PC, desde el almacenamiento previo en caché de los sombreadores hasta las operaciones asincrónicas y la validación en una amplia variedad de hardware. Pero la realidad es que los desarrolladores no pueden dar cuenta de todo, debido al tiempo o al dinero, y generalmente ambos.

El camino a seguir aquí es simple. Primero, informe a los editores de estos juegos que prefiere ver un retraso que un juego roto. Gritar a los desarrolladores no servirá de mucho: ellos ya conocen el problema y probablemente les gustaría que se resolviera tanto como a ti. En segundo lugar, tenga cuidado al elegir un nuevo juego de PC el día del lanzamiento. Es difícil ser paciente cuando tienes ganas de algo (créeme, lo sé), pero esperar para comprar un juego hasta el los problemas se han solucionado envía una fuerte señal a los editores para que inviertan más tiempo y recursos en asegurarse de que los juegos estén pulidos en PC

Es fácil olvidar que este es todavía un territorio desconocido. Ahora más que nunca, los juegos llegan a la PC el mismo día que llegan a las consolas, a diferencia de hace unos años, donde los puertos de PC llegaron meses (o incluso años) después. Hace dos generaciones de consolas, la mayoría de los juegos solo se enviaban el mismo día a una plataforma; en la generación anterior, eran dos. Ahora, se espera que los desarrolladores realicen envíos a tres plataformas como mínimo el mismo día y, a veces, a más de cinco si tienen una versión de última generación.

No es difícil ver por qué hay problemas en la PC dado ese contexto, pero esperamos que haya versiones más pulidas en camino.

Este artículo es parte de ReEspecificación – una columna quincenal continua que incluye discusiones, consejos e informes detallados sobre la tecnología detrás de los juegos de PC.

Recomendaciones de los editores

  • Traté de revivir el legado olvidado de Halo como una franquicia de Mac, y fue un desastre.
  • Los peores puertos de PC de todos los tiempos, y por qué eran tan malos
  • Star Wars Jedi: Survivor está siendo bombardeado en Steam como un puerto de PC de "basura total"
  • Cómo Unreal Engine 5 está abordando el mayor problema en los juegos de PC
  • La IA viene para tus juegos de PC, pero deberías estar emocionado, no preocupado