Sistemas a medida

Resistencia en Char VR

Un videojuego de realidad virtual para Meta Quest 3, hecho en Unity, que también se juega en el navegador de cualquier PC. Enemigos con inteligencia artificial, destrucción con física y efectos visuales, todo corriendo fluido dentro del visor.

Unity 6 · C# · Realidad virtual · Meta Quest 3 · OpenXR · WebGL · Blender · Shaders HLSL · Partículas · Ragdoll · IA de enemigos · Low poly · IA generativa
Resistencia en Char VR: campo de batalla al atardecer en Char, con criaturas gigantes en el horizonte

El reto

Desde niño quise hacer videojuegos. Este proyecto fue la prueba de que podía dirigir uno completo usando herramientas de inteligencia artificial en cada etapa, del arte conceptual al código.

El reto técnico: el Meta Quest 3 es un visor autónomo, con la potencia de un celular. Tenía que mover niebla, decenas de enemigos, física y efectos con total fluidez, porque en realidad virtual cualquier tirón marea. Y la misma escena tenía que poder jugarse en un navegador.

Todo lo que hace

Enemigos con inteligencia artificial

  • Cada tipo de enemigo tiene su propia inteligencia artificial: ninguno se mueve igual que otro.
  • Los Zerglings atacan en manada sin chocarse entre ellos, corren hacia el jugador y saltan la barricada.
  • Los Hidraliscos disparan desde lejos, se mueven de costado para esquivar las balas y se entierran para aparecer en otro lugar.
  • Los Mutaliscos vuelan en bandada y bajan en picada. En el final, calculan hacia dónde se mueve la nave de rescate para acertarle.
  • El jefe final siempre aparece en un lugar desde donde el jugador puede dispararle.

Física y destrucción

  • Ragdoll: al morir, los enemigos caen como cuerpos sin control, empujados en la dirección del golpe, en lugar de repetir siempre la misma animación.
  • La nave de rescate es destructible: si la derriban, se parte en 18 pedazos que caen y rebotan con física real.
  • La explosión de la nave combina varios efectos a la vez: un destello, una bola de fuego, humo y esquirlas, además de una vibración en los mandos.
  • Los casquillos que expulsa el rifle rebotan en el suelo y suenan al caer.

Atmósfera, luz y partículas

  • Shaders propios, es decir, el código que define cómo se ve cada superficie: el cielo, la niebla y el suelo comparten la misma luz, así todo parece parte del mismo mundo.
  • Niebla volumétrica: una niebla con volumen que se mueve con el viento, calculada de forma liviana para que el visor la soporte.
  • Las sombras suaves vienen pintadas de antemano en los modelos en lugar de calcularse en vivo: se ven bien y ahorran potencia.
  • Partículas para la ceniza que flota, las brasas que suben, el polvo, las chispas y la sangre. Cada superficie reacciona distinto a los disparos: el metal saca chispas y la tierra levanta terrones.

Modelos 3D livianos

  • Cada criatura y objeto nació como una imagen hecha con ChatGPT, se convirtió en modelo 3D con Higgsfield y luego se aligeró.
  • Low poly: un script propio reduce la cantidad de polígonos (las caras que forman cada modelo) para que el visor pueda mostrar muchos a la vez sin que se note la diferencia.
  • Cada criatura tiene un esqueleto digital para animarse: correr, saltar, atacar y morir.
  • Las manos del traje son robóticas y articuladas: los dedos se mueven al apretar el gatillo.

Armas que se sienten reales

  • Puntería estabilizada: un filtro matemático elimina el temblor natural de la mano sin que el arma se sienta lenta.
  • El rifle dispara en ráfagas, tiene retroceso y se recalienta si se dispara sin parar.
  • La bayoneta solo hiere con un golpe de verdad: el juego mide la velocidad y el recorrido del brazo.
  • Un láser de puntería marca exactamente dónde va a impactar la bala.

Interfaz y sonido

  • El HUD, la información que aparece en el visor del casco, muestra la oleada, la vida, la temperatura del arma y flechas que señalan a los enemigos fuera de la vista.
  • Cuando el jugador recibe un golpe, el HUD falla por un instante, como una pantalla dañada.
  • Los sonidos de impacto se generan por código y la banda sonora se hizo con Suno.
  • Todo el juego está en español e inglés.

Una escena que se arma sola

  • Todo el escenario lo construye un programa propio dentro de Unity: se rehace completo con un clic, sin acomodar nada a mano.
  • La misma escena funciona en el visor Meta Quest 3 y en el navegador de cualquier PC.

Multiformato

  • Un mismo juego en tres formatos: aplicación para Meta Quest 3, versión para jugar en el navegador con mouse y teclado, y archivo descargable para instalar en el visor.
  • Tiene su propio sitio web, en español e inglés, con el juego listo para jugar, la descarga y una versión para celular que invita a abrirlo en la PC.
  • También está publicado en itch.io, la plataforma de juegos independientes, con comentarios abiertos para recibir opiniones.
  • El sitio web y la página de itch.io se enlazan entre sí.

El resultado

72 cuadros por segundo

estables en Meta Quest 3: la imagen se mueve fluida y no marea.

Destrucción con física

al derribarla, la nave de rescate se parte en pedazos que caen y rebotan de verdad.

2 plataformas

el mismo juego se juega en Meta Quest 3 y en el navegador de cualquier PC.

2 idiomas

el juego y su sitio web, en español e inglés.

Por dentro

Tu puesto frente a las criaturas gigantes de Char

Tu puesto frente a las criaturas gigantes de Char

Un Hidralisco escupe ácido mientras el visor marca la oleada

Un Hidralisco escupe ácido mientras el visor marca la oleada

El visor del traje arranca sus sistemas

El visor del traje arranca sus sistemas

Defendiendo la nave de rescate

Defendiendo la nave de rescate

La nave de rescate, derribada en el aire

La nave de rescate, derribada en el aire

Cuéntame qué necesitas

No necesitas tenerlo todo claro ni saber de tecnología. Si tienes una idea o un problema dando vueltas, escríbeme y lo vemos juntos. Te respondo yo mismo, sin compromiso.