Skip to main content

Comparativa: Ninja Gaiden 2 vs. Sigma 2

Un juego. Dos consolas. ¿Cuál es mejor?

¿Cómo consigues que un juego y un motor diseñados para aprovechar los puntos fuertes de la arquitectura de una consola funcione en la plataforma de la competencia con un rango totalmente diferentes de pluses y contras? Quizás Tecmo tenga la respuesta con Ninja Gaiden Sigma 2.

La reciente cobertura de la demo del Bayonetta de SEGA ha generado una serie de interesantes preguntas sobre los retos del desarrollo multiplataforma. Si un juego se diseña para sacar el mayor partido posible de una consola en particular, ¿la otra está siempre condenada a recibir un mal port, incluso si no hay literalmente nada que el equipo de desarrollo pueda hacer para crear una conversión similar? El motor de Bayonetta se apoya fuertemente en las texturas alpha y el overdraw en general. Con su "tarjeta hija" de eDRAM conectada directamente a la GPU, la Xbox 360 es ideal para este tipo de trabajo. Pero, hablando claramente, la PS3 no lo es, de ahí la penalización en el rendimiento.

El equipo de desarrollo para PS3 de Tecmo se encontró con un reto similar con la conversión de Ninja Gaiden 2. El código original del Team Ninja se basa en explotar todos los puntos fuertes de la Xbox 360, con la intención de sacar el mayor número posible de polígonos basándose en las ventajas de la arquitectura de la consola de Microsoft. Una copia con el mismo nivel de rendimiento hubiese sido casi imposible de producir en PS3.

La obsesión del Team Ninja por el rendimiento original era tan obcecada que resultó en un juego que funcionaba a resolución sub-HD en Xbox 360. Los 720p nativos se descartaron en favor de una resolución de 1120x585 combinada con anti-aliasing 2x multisampling. Usando un formato de pixel a 32 bits y un z-buffer de 32 bits, el frame podía renderizarse por completo en la memoria eDRAM ultra-rápida de la Xbox 360 antes de copiarse a la RAM principal. De hecho, si nuestros cálculos son correctos, el framebuffer utilizado por el Team Ninja utiliza el 99.975% de la eDRAM disponible. Las ventajas a nivel de rendimiento son obvias: Ninja Gaiden 2 soporta sin problemas un montón de enemigos en pantalla y escenarios relativamente complejos.

En resumen, es la típica pesadilla para cualquier programador encargado de portar el juego a PlayStation 3 usando técnicas tradicionales. Aquí, las posibilidades de procesador de vértices del hardware simplemente no son rival para la Xbox 360 sin complejas modificaciones del código. Los efectos de transparencia alpha del código de 360, en forma de gratuitas y abundantes salpicaduras de sangre, no suponen demasiados problemas. La cosa cambia con el RSX, en el que el ancho de banda es un recurso preciado y el hardware tiene la mitad de unidades internas de operaciones raster (ROPS) que las disponibles en el Xenos.

La solución del equipo Sigma a todos estos problemas en bastante ingeniosa. Simplemente han reconstruido el juego por completo desde cero con su propio motor, "remezclando" Ninja Gaiden 2 para adaptarlo a los puntos fuertes del hardware de PS3. Es una situación que hemos visto muy pocas veces en proyectos multiplataforma (Oblivion y Enemy Territory: Quake Wars son ejemplos que me vienen a la cabeza).

Desde buen inicio Ninja Gaiden Sigma 2 ya impresiona. Para empezar hay un aumento de resolución. El sub-HD original a 1120x585 de Xbox 360 se sustituye por 1280x718 en PS3: esencialmente es 720p por completo excepto por un par de líneas negras. También se incluye un MSAA 2x para reducir los jaggies - aunque cuando se fuerza al motor, el suavizado se desactiva para mantener el frame-rate. Ese mayor nivel de detalle introduce un problema más para el RSX de la PS3 comparado con la GPU Xenos de 360. La respuesta del equipo Sigma es bastante directa: reducir la cantidad de polígonos para asegurarse de que la versión para PS3 no tiene demasiados en pantalla en un momento dado.

Las capturas de aquí abajo ilustran las diferencias, pero hay más comparativas en la galería de Ninja Gaiden 2 sobre carga poligonal.

Una impresionante capacidad de procesado de vértices permite a Ninja Gaiden 2 mostrar gran cantidad de polígonos. Las escenas se reducen en PS3 en este aspecto, pero normalmente hay algún bonus para compensar.

Lo más obvio a destacar es que la versión para Xbox 360 es capaz de lanzar contra ti a una cantidad de enemigos mucho mayor, aunque pueda haber una penalización en el rendimiento. Ninja Gaiden 2 tiene siete u ocho oponentes en un momento dado (aunque pueden ser más), mientras que la versión para PS3 limitada a seis o menos en las mismas situaciones. El código original de 360 no se corta un pelo a la hora de amontonar extremidades cercenadas, mientras que en PS3 desaparecen de forma casi instantánea. La cantidad de manchas de sangre en el escenario también se reduce notablemente.

En este test de stress, intentamos forzar la aparición de la mayor cantidad de ninjas, corriendo a través de ellos sin matarlos y esperando a que nos alcancen. El código de 360 tiene una ligera ventaja de rendimiento, pero la cantidad máxima de enemigos es de 17 en 360 y de 11 en PS3.

Como podéis ver en este vídeo de análisis de rendimiento, el resultado es que mientras la versión para Xbox 360 puede parecer más "ocupada" si fuerzas el motor, la de PS3 también se las apaña para mantener el rendimiento estable gracias a los retoques del equipo Sigma. Pero en situaciones iguales, el código de 360 es un poco más fluido. En términos de cómo el juego rinde durante la acción, tenemos otra galería de imágenes para ilustrarlo.

Las diferencias visuales entre las dos versiones de Ninja Gaiden 2 se manifiestan sobretodo en las cinemáticas.

La reducción de carga poligonal se nota sobretodo en algunas cinemáticas. Aquí, que es donde los directores del juego tienen control total sobre el rendimiento poligonal del motor, vemos lo mejor de él, mostrando grados de detalle increíbles en Xbox 360. También se puede ver que el Team Ninja ha rebajado lo posible en PS3, y ha introducido un límite de v-sync a 30FPS, mientras que en 360 no había ninguna limitación (normalmente funcionando muy por debajo de los 60FPS).