Resumen del desarrollo de Silver Zombie

Mar 25

Resumen del desarrollo de Silver Zombie

Silver Zombie es un juego que se me ocurrió hacer cuando adquirí la licencia PRO de Unity ,para sacarle rentabilidad.

Es un juego de zombies ,tal como me pidieron algunos gamers que hiciera.

Esta vez el desarrollo ha sido compartido con Ángel,también conocido como RTypeX de PixBones Studios.

Es un diseñador ,modelador y diseñador de videojuegos que sabe bien lo que hace y le gusta. Se nota que trabaja de forma profesional.
Gracias al equipo que formamos, hemos podido hacer este juego con Unity para iOS y Android, en un mes, después de estas plataformas entrará en la fase de desarrollo y producción para Wii-U ya que tengo la licencia esperando a que produzca algo, jeje

Silver Zombie primer test

Primer nivel funcionando a 60FPS en una Nexus 7

Lo interesante de este juego es que tiene varios géneros, empiezas controlando al personaje en tercera persona a lo largo de escenarios exterior e interior , resolviendo puzzles, matando zombies y evitando trampas. Muy a lo Tomb Raider ,pero con zombies y una estética Hitman a lo paranormal.
Enemigo Zombie
Aquí algunos vines de Ángel de la fase de diseño de escenarios

El otro modo de juego es una fusión entre un shooter y un runner. Muy a lo House of the Dead 🙂

En el desarrollo lo que más ha costado a parte de crear algoritmos para sincronizar interpoalción de animaciones con diferentes curvas, ha sido el sistema de estados de misión, basado en una máquina de subestados para cinemáticas asíncronas que se activan por eventos y estos se construyen en función a unas reglas, por ejemplo, hay puzzles cuyas soluciones son aleatorias y obliga al jugador a leer las pistas para poder solucionarlos, por ejemplo, si no lees las notas no sabrás que palanca has de accionar ,si la primera o la tercera y si no lo haces bien puedes acabar muerto.

Otra parte complicada fué el sistema de navegación ,usa un trazado de rayos para comprobar posiciones dentro de la geometría de un nivel, tanto para enemigos
rayo_player

como para el jugador,
rayo_camara

así, cuando el usuario usa el botón de disparar intenta encontrar un enemigo, si no hay ninguno en la distancia de disparo chocará con una pared y aparecerá un sistema de partículas con efectos.

Para mayor rendimiento, los rayos sólo chocarán con la capa (Layer en Unity) específica para cada propósito, si quieres disparar a un enemigo, el rayo deberá buscar sólo en la capa Enemies, si quieres encontrar un punto en la geometría el rayo tendrá como filtro la capa de paredes o suelo,etc. Así, además de ser más eficiente, tendrás más claras las cosas.
Este es un ejemplo, para encontrar desde la cámara un punto en el suelo para mover un enemigo cerca de la cámara encontrando el lugar del suelo a 45º bajo la cámara:

  Vector3 pos = Camera.main.transform.position;
  Vector3 dir = new Vector3(Mathf.Cos(-45),Mathf.Sin (-45),0);
  RaycastHit hit;
  Debug.DrawRay(pos,dir,Color.red,4);
  if(
   Physics.Raycast(pos,dir, out hit,6,1 << LayerMask.NameToLayer("Walls"))
  ){
   pos = hit.point;
  }

Hay dos armas implementadas, la pistola que se acciona por un botón en la GUI y la lámpara con biopartículas mutágenas que atacan a los zombies y recogen sus mutágenos para cargarse, en este caso se acciona pinchando directamente sobre los enemigos.

Aquí unos vídeos de la mecánica de juego de la lámpara:

Es un HUD integrado en un plano quad dentro del nodo del esqueleto de la lámpara del personaje, tiene una carga de 0 a 100 y modifica los offset de los UV de los materiales de fondo de las texturas circulares así, da la impresión de un porcentaje, se usa una interpolación para animar el aumento o disminución de la cantidad de poder de la lámpara.

Se han intentado reducir al máximo las llamadas de dibujo, de forma que apenas sobrepasan las 50, la geometría del nivel es todo un objeto y con pocas texturas, unas 10-12, el personaje tiene pocas animaciones usadas y está reducido para tener pocos polígonos, cada nivel puede tener entre 4 y 8 mil lo que nos deja espacio suficiente para añadir enemigos que tienen entre 400 y 1500 polígonos cada uno, con su script de inteligencia artificial, sus sistemas de partículas, sus colisionadores esféricos (los más rentables),etc.

ejemplo_rendimiento

Estas optimizaciones, se complementa el gran diseño de Ángel.

Las emociones de este juego son: miedo, angustia, misterio, adrenalina a tope!
Tema: Ciencia ficción y zombies

Podéis comprar este videojuego en cualquiera de las tiendas disponibles.

Artículos relacionados

  • ...

Exprésate dejando un comentario:

Introduce el captcha

Por favor escriba los caracteres de la imagen captcha en el cuadro de entrada