Blizzard ha publicado Taller de ingeniero: personalización de la creación de personaje donde nos explican cómo han convertido la nueva personalización en realidad.
¡Vistazo entre bastidores a la personalización de personajes!
Taller de ingeniero: personalización de la creación de personaje
UN POCO DE HISTORIA
Cuando lanzamos World of Warcraft por primera vez, nuestra prioridad fue que el juego fuese jugable para el máximo número de personas posibles. Para conseguirlo, tuvimos que optimizar los requisitos mínimos para que el juego se pudiese ejecutar en una amplia variedad de equipos. Esto nos obligó a hacer sacrificios. ¿Debíamos añadir dedos a las manos de nuestros personajes de forma individual a pesar de que afectaba a las imágenes por segundo o emplear esa potencia de procesamiento en alguna característica del juego? Desde el lanzamiento en 2004 ya no se nos presentan estos dilemas, puesto que los equipos han mejorado su rendimiento con cada generación y eso nos ofrece la oportunidad de explorar nuevas ideas y actualizaciones.
Entonces, ¿qué hemos cambiado y cómo se creaban los primeros personajes? Al principio, el modelo de datos era relativamente sencillo, pero, a medida que pasaba el tiempo y se añadían nuevas funciones, vimos que comenzaba a aparecer efectos negativos. Solo se podían personalizar cinco características por raza y género (número que se amplió a ocho en Legion), pero ¿qué se podía hacer cuando ya se habían usado las cinco? ¿Cómo se podían crear PNJ cazadores de demonios antes de Legion si los elfos de la noche ya usaban todas las características? A los diseñadores se les encendió la bombilla al usar el sistema de objetos para añadir otra característica: dado que las camisas aparecen primero en la «jerarquía de pegado», podían hacerlas pasar por tatuajes añadiéndoles alfa y transparencia a todas, salvo a las partes de los tatuajes. ¡Una solución ingeniosa, como veis!
SISTEMAS, MECÁNICAS DE JUEGO Y DISTRIBUCIÓN DE DATOS
Lo cierto es que es preferible no enfrentarse a los malabarismos técnicos que acabamos de describir siempre que un desarrollador quiere crear algo especial. Por eso, y como nos han enseñado las lecciones del pasado, en el fondo queríamos un montón de opciones de personalización sin trabas y donde cada una de ella se diferenciase del resto (como los ojos, la cara, la barba o el bigote) en lugar de estar divididas en cinco categorías genéricas. Queríamos que pudiese mantenerse de forma más sencilla y no que tuviésemos que duplicar grandes cantidades de datos (echadle un ojo a nuestra «hoja de cálculo» del editor de estilo más abajo, donde cada celda es una variante de cara asociada a un tono de piel). Ante todo queríamos reducir el trabajo de los artistas que crean los elementos y de los diseñadores que los implementan.
Para empezar, nos centramos en una afiliación flexible de tablas de bases de datos donde cada registro contenía cantidades enormes de información y lo dividimos todo en grupos de datos más pequeños y lógicos. Esto nos permitió olvidarnos de la edición de hojas de cálculo y crear una serie de editores personalizados y generados automáticamente que tenían un aspecto muy parecido a lo que se acabaría viendo en el juego. Al final, la nueva distribución de datos nos dio la flexibilidad que necesitábamos y nos ofreció nuevas e interesantes opciones de personalización que antes no eran posibles, como la de cambiar las formas de huargen y gilneanos por separado.
Por último, como habíamos rediseñado por completo los datos y los elementos del juego, también debíamos estar preparados para que todos los jugadores iniciaran sesión el primer día con los datos antiguos y conseguir que sus personajes conservasen el mismo aspecto que tenían antes del parche preliminar (sin olvidarse de varias decenas de miles de PNJ). Para resolver esto, creamos un proceso de conversión silencioso con casi 9000 reglas, que tenía en cuenta cosas como que la barba de los humanos ahora se dividía en barba, bigote y patillas. El equipo de automatización creó una herramienta que podía comparar el antes y el después de grandes cantidades de capturas de pantalla para que en control de calidad se identificara rápidamente cualquier desajuste. Si todo salía como estaba previsto, nuestros jugadores podrían iniciar sesión el día anterior al parche preliminar y, con suerte, no notarían nada en sus queridos personajes.
RECONSTRUCCIÓN DEL MOTOR
Para facilitar las nuevas opciones de personalización, tuvimos que rediseñar el motor al completo. Antes, cada conjunto único de opciones de personalización necesitaba una textura concreta, y al elegir distintas opciones se cambiaba la textura que se usaba para un personaje determinado. La cantidad de opciones nuevas para los personajes de Shadowlands ha provocado que las permutaciones se cuenten por millones, así que programamos un nuevo sistema de personajes para generar texturas de jugador de manera procedimental sobre la marcha.
Entre otros cambios, tuvimos que reprogramar desde cero todo el código de procesado de texturas mediante extensiones SIMD y un sistema que creamos para administrar recursos compartidos entre personajes que usan las mismas texturas. Estos cambios maximizan el uso del procesador y nos ayudan a evitar procesos de duplicación de texturas en escenas con mucha carga de procesamiento. Este cambio, unido al nuevo diseño de la base de datos, nos permitió crear un sistema ultrarrápido e impulsado en su totalidad por datos que nos permitió dejar de lado las tablas de bases de datos que había que configurar manualmente. Aquí tenéis un gif de lo que sucede en el motor cuando recibe una solicitud para crear un orco.
INTERFAZ DE USUARIO Y ANIMACIONES
Con el aumento del número de opciones de personalización, hemos tenido que reprogramar desde cero la interfaz de usuario para Shadowlands. El nuevo sistema permite a los diseñadores crear y clasificar tantas opciones de personalización como quieran sin tener que rediseñar el código subyacente o los sistemas compatibles. Ahora cada opción ofrece tantas opciones como queramos, y los diseñadores pueden decidir si quieren mostrarlas con un nombre personalizado, con hasta dos muestras de color o con un número. También nos hemos esforzado para que toda esta experiencia responda mucho mejor a las acciones del jugador y las opciones se puedan previsualizar cuando el jugador pase el ratón por ellas en lugar de tener que hacer clic para poder verlas. Ahora se comparte la interfaz de personalización entre la creación de personajes y la peluquería.
Tuvimos que reprogramar toda la pantalla de selección de raza y clase para que nuestros diseñadores y artistas de gran talento añadiesen animaciones y efectos personalizados. Dado que se trata de la pantalla de creación, los sistemas de juego principales no están funcionando aún, así que hizo falta una refactorización a fondo. En el nuevo sistema, los artistas y diseñadores tienen un control total de las animaciones y efectos que se reproducen para cada combinación de raza, clase y género, y pueden realizar los cambios que sean necesarios.
¡Esperamos que hayáis disfrutado de este vistazo entre bastidores a la personalización de personajes tanto como nosotros lo hemos hecho con los aspectos creativos derivados de estos cambios! ¡Seguid con ese aspecto tan genial, gentes de Azeroth!