Cómo Kluge Interactive llevó Synth Riders a Apple Vision Pro

Synth Riders, un juego de ritmo inmersivo, se lanzó en Steam VR y Meta Quest en 2019, y desde entonces se ha portado a numerosos dispositivos, incluido Apple Vision Pro. Esto es lo que ha aprendido el equipo desarrollando una experiencia de realidad mixta para visionOS.
¿Cómo puede un estudio reimaginar un título muy querido para Apple Vision Pro que fusiona su estética ciberpunk con el diseño minimalista y colorido de Apple?
Dado que Apple Vision Pro es una plataforma nueva y en evolución, el equipo de Kluge Interactive era consciente de los posibles obstáculos a los que se enfrentaban y sabía que tendrían que adaptarse para tener éxito. Su principal objetivo era cumplir el plazo de lanzamiento de la plataforma el primer día y pulir su juego hasta alcanzar un alto nivel de calidad antes de la presentación a los medios de comunicación.
This content is hosted by a third party provider that does not allow video views without acceptance of Targeting Cookies. Please set your cookie preferences for Targeting Cookies to yes if you wish to view videos from these providers.
Prepararse para un nuevo reto
"Nuestro equipo siempre ha sido optimista respecto a la tecnología. La oportunidad de desarrollar para Apple Vision Pro llegó en el momento oportuno, ya que queríamos ampliar el aspecto visual de Synth Riders y estábamos rediseñando la interfaz de usuario del juego", afirma Arturo Pérez, director ejecutivo de Kluge Interactive.
Cualquier lanzamiento de Synth Riders conlleva retos específicos para cada plataforma. Una vez que el equipo acordó apostar por un nuevo port o, en este caso, reimaginar el juego para un nuevo medio, empezaron a prepararse para trabajar con el hardware. Durante el último año y medio, el equipo lanzó ports para PlayStation VR2 y Meta Quest 3, y luego se lanzó rápidamente en Apple Vision Pro.
"Los últimos 12 a 18 meses de desarrollo de juegos han consistido en saldar la deuda técnica y acercar nuestros conjuntos de herramientas al 2022 LTS", explica AnnMarie Wirrel Bartholomaeus, productora técnica de Kluge Interactive. "Ya pasamos del Built-in Render Pipeline al Universal Render Pipeline (URP), y cambiamos a un backend OpenXR. Eso nos ha ayudado a situarnos en una posición técnica mucho mejor para trabajar con nuevas tecnologías."

Además, utilizaron un enfoque más modular e hicieron un esfuerzo concertado por desvincular la jugabilidad de los gráficos y la entrada de datos. Cuando se iniciaba un nuevo port, este paquete "Core" gestionaba cosas como cargar la música, generar menús y rellenar las notas interactivas y los raíles del juego. Al encargarse de ello, el equipo pudo centrarse en cómo se manifestaban los datos en la plataforma específica para conseguir el aspecto y la sensación que deseaban.
Bartholomaeus afirma: "Cuanto más queríamos explorar diferentes conceptos de lo que es Synth Riders, separar esas piezas ha sido fantástico. Usamos el Core para avanzar con Synth Riders para Apple Vision Pro, y fue extremadamente útil".
Los resultados
- Crearon una nueva versión reimaginada de su juego de ritmo para el lanzamiento del primer día de Apple Vision Pro.
- Se ahorró el coste de contratar a todo un equipo de más de 15 artistas, desarrolladores y otros profesionales específicos de la plataforma.
- Ha recibido una valoración media de 4,7/5 en Apple Vision Pro

Diseño de una interfaz de usuario adaptable
Cuando el equipo de Kluge Interactive empezó a rediseñar la interfaz de usuario para Apple Vision Pro, se dio cuenta rápidamente de que Apple prescribía cómo hacer clic en las cosas y qué aspecto debía tener un botón estándar. Dado que los datos de seguimiento ocular no se exponen directamente a los desarrolladores, éstos se adaptaron y resolvieron los problemas para crear una interfaz de usuario que cumpliera todas las normas.
Sin acceso a los datos de seguimiento ocular, una solución personalizada era imposible. Para que funcionara bien con el sistema de resaltado integrado de Apple Vision Pro, recrearon toda su interfaz de usuario en 3D.
"Utilizar una interfaz de usuario basada en un lienzo estándar podía funcionar, pero nos encontrábamos con problemas a la hora de superponer diferentes capas transparentes", explica Miguel Mosquera, desarrollador de Kluge Interactive. "El principal problema era la forma cuadrada que resaltaba el lienzo, el cuadro y los elementos 2D. No era estéticamente agradable, y el realce no encajaba con el objeto". El equipo cambió a una interfaz de usuario 3D para evitar ese problema, ya que los elementos 3D utilizan una malla cuadrada y una textura alfa como ayuda.

Recrear la interfaz de usuario en 3D garantizaba que los resaltes de la mirada coincidieran con la forma de los botones, pero eso por sí solo no bastaba para que la interfaz resultara natural en la plataforma. El efecto de realce era siempre un suave resplandor blanco alrededor de los bordes de la silueta de un objeto, y los diseñadores de menús tenían que tenerlo en cuenta. Por ejemplo, evitaron los colores claros y los bordes en bloque en favor de degradados más suaves con colores más oscuros.
Aunque esto añadió un flujo de trabajo completo e independiente para el equipo, adoptaron el nuevo proceso y están muy contentos con los resultados en general. Pérez dice: "Ha merecido la pena. La interfaz de usuario es mucho más limpia que en otros dispositivos".

Crear efectos eficaces
El equipo probó los métodos Replicate Properties y Bake to Mesh para añadir efectos Shuriken Unity a su proyecto PolySpatial. Para la opción Replicar Propiedades, las propiedades del Sistema de Partículas de Unity son aplicadas a un sistema de partículas nativo en Xcode. Usando el método Bake to Mesh, la salida del Sistema de Partículas de Unity es convertida a una malla estándar. Este último consumía muchos más recursos, pero ofrecía una gama más amplia de funciones que no podían reproducirse con un sistema de partículas nativo.
El equipo pensó que replicar propiedades era la mejor opción en general, pero al final se decidieron por la opción Bake to Mesh. "Las estelas de partículas eran una función imprescindible que nuestro artista 3D quería utilizar para crear efectos visuales audio-reactivos para el juego, y esto no era posible con la opción Replicar propiedades", explica Justin Dopiriak, desarrollador jefe de Kluge Interactive.

La opción Bake to Mesh era bastante agotadora, y algunos de los sistemas de partículas que usaban en pantalla tenían una gran sobrecarga. "Pusimos el sistema al límite y fue interesante intentar identificar de dónde venían los problemas de rendimiento", continúa Dopirak. "Una vez que localizamos y trabajamos para solucionar los problemas, descubrimos que usar vértices puros era una buena solución".
Como tenían que incorporar un efecto a la malla cada vez, el impacto del número de vértices era mucho mayor que en otras plataformas. Para gestionar los gastos generales y optimizar el ahorro de recursos, fueron muy deliberados en lo que se permitían utilizar. El efecto global sobre la fidelidad visual fue insignificante. "Cuando fuimos más disciplinados en todo lo que aplicamos y en cómo nos restringimos, acabamos con un equivalente casi perfecto", concluye Dopiriak.
This content is hosted by a third party provider that does not allow video views without acceptance of Targeting Cookies. Please set your cookie preferences for Targeting Cookies to yes if you wish to view videos from these providers.
Iluminar el escenario
Para crear sombreadores e iluminación, el equipo recurrió a las herramientas y la documentación de Unity PolySpatial. Descubrieron nuevos nodos creados específicamente para visionOS que resultaban útiles en ausencia de iluminación en el simulador, así como una lista de nodos que mostraba si cada uno era compatible con la plataforma. Esto resultó beneficioso a la hora de convertir espacios tangentes, gestionar sondas de reflexión y direcciones de vista, y manejar el mapeado normal.
El equipo utilizó el nodo de iluminación PolySpatial como nodo de salida principal y conectó todo en su sitio. El color base, el normal, el metalizado y la suavidad no han variado.
"Actuaba como un sombreador de dos pasadas porque en el lado PolySpatial, el lado Apple Vision Pro, el casco añadía reflejos de nuestro entorno y algo de iluminación en función de la información que recibía la cámara", explica Esteban Meneses, artista 3D. "La iluminación PolySpatial gestionaba todo lo que sabíamos que el motor tenía dentro, y había opciones para la iluminación baked. Debatimos sobre el uso de mapas de luz y sondas de luz, ambos muy útiles".

Para las sondas de reflexión, el equipo disponía de opciones simples y mixtas. A partir de ahí, enchufaron todo lo que venía del Nodo de Iluminación Poliespacial al color base y a la emisión para estar seguros.
"Hay pases que utilizan el color base y no queríamos tenerlo en negro", continúa Meneses. "Añadí un modificador de intensidad para aumentar los valores y ganar libertad artística. Utilicé la variable de reflejos de Apple Vision Pro y desactivé la oclusión ambiental en el nodo final, para no ver los reflejos del entorno". Este control sobre la reflectividad permitió al equipo dividir su juego claramente entre los objetos que parecían estar en la habitación con el usuario y los que veían a través de un portal.

Probar el seguimiento manual
A medida que el equipo se adentraba en la reimaginación del juego, hizo su primera incursión real en el seguimiento manual. Aunque al principio dudaban de la falta de háptica, les encantaron los resultados. "Normalmente, cuando se sujeta un mando, la mano termina en la muñeca, pero con el seguimiento de la mano, los dedos cobran importancia y se puede gesticular e interactuar con la música de otra manera. Aportó una nueva dimensión al juego", afirma Bartholomaeus.
Sin controladores, se adaptaron a una nueva forma de entrada. También necesitaban llenar el vacío de la conexión que un jugador consigue con la háptica de forma no intrusiva. Bartholomaeus explica: "Trabajamos con efectos de audio reactivos, iluminación y diferentes partículas que fomentaban la conexión con la canción en función de su acción. La interacción con los raíles fue especialmente importante".
El equipo se apoyó en la documentación de la plataforma para informarse sobre los desajustes del esqueleto con Apple Vision Pro que no existen en otras plataformas. En cuanto a la jugabilidad, siguieron la muñeca como único punto de extrapolación. Como optaron por una mezcla de seguimiento de la mano para los elementos de juego y el toque espacial para todo lo demás, no hicieron gestos personalizados. "Aprovechamos lo que nos ofrecía el sistema operativo. Animo a la gente a que lo utilice. Era realmente eficaz", dice Bartholomaeus.

Renderizado y optimización del rendimiento
El equipo también tuvo que aprender un nuevo proceso de renderizado. En otras plataformas, lo que creaban solía renderizarse directamente en Unity, pero con visionOS, había un segundo paso en RealityKit. Uno de los principales retos que superó el equipo fue no utilizar un renderizador de líneas, un componente que toma una matriz de dos o más puntos en el espacio 3D y dibuja una línea recta entre ellos. Este componente fue de gran ayuda para el equipo en su sistema de raíles en otras versiones de Synth Riders.
"Cuando nos encontramos con este obstáculo, el equipo de Unity PolySpatial fue fantástico para aportar ideas", dice Bartholomaeus. "Para los raíles, una característica que aún no era compatible con la plataforma, sugirieron que nuestro artista técnico lo recreara desde cero con una malla estándar y desplazamiento de vértices, lo que funcionó realmente bien."

A la hora de optimizar el rendimiento, una de las principales lecciones que aprendieron fue a no hacer suposiciones basadas en sus experiencias con otras plataformas. A medida que el equipo revisaba todo el juego, probando vías de optimización para acelerar el rendimiento pieza por pieza, descubrieron que las soluciones que habían reducido el impacto del instanciamiento de materiales en URP en otras plataformas no se aplicaban a Apple Vision Pro. "Una vez localizado el problema, cambiamos un par de líneas de código. Fue una solución fácil y la mejora fue espectacular", dice Dopiriak.
El equipo también depuró el rendimiento utilizando Unity Profiler, Xcode Debugger y la función Play to Device. "Al principio era difícil hacer pruebas y encontrar problemas", explica Mosquera. "La función Play to Device nos ayudó a localizar los problemas más rápidamente y, sin ella, el proyecto habría tardado más en completarse".

Pasar al siguiente nivel
Desde sus inicios como estudio de diseño en 2007, Kluge Interactive ha abrazado la tecnología emergente y ha probado cosas nuevas. Aunque Synth Riders está en su quinto año, el equipo prevé una larga cola de nuevos contenidos, y tienen la intención de construir activamente características y elevar la relación visual-musical en Apple Vision Pro.
"El diseño es una parte muy importante de nuestro ADN, así que ver que había tanta intención en este dispositivo y en su sistema operativo ha seguido inspirándonos. Sé que podemos llegar más alto, y estoy deseando ver qué es lo próximo", afirma Pérez.
Construye para Apple Vision Pro hoy mismo
Habla con nuestro equipo para saber cómo podemos ayudarte a aprovechar las potentes herramientas y flujos de trabajo de Unity para crear experiencias espaciales atractivas.
Explore el estudio de caso
Rellene este formulario para acceder a los últimos casos de éxito de clientes