Manejando los NPC

Dede hace un tiempo he estado buscando una forma de manejar los NPCs en las escenas de una forma fácil para el artista. A pesar de todas las funcionalidades que ofrece Unity3d, no lo he conseguido, he tenido que volver al antiguo método de usar XML para crear una definición de la entidad. El problema parece ser que Unity3d no permite serializar tipos de datos polimórficos, o sea, clases. Es posible tener una clase con un miembro público y de algún tipo primitivo, como string, y asignarle un valor en el editor que podremos consultar luego durante la prueba o la ejecución del build.
Así que me decanté por tomar un poco de ambas soluciones: una variable con un archivo XML que contiene los atributos que definen al NPC: sus estadísticas, habilidades e inventario inicial, y que me deja espacio para agregar muchísimas cosas más. La clase base de las entidades se encarga de inicializar todos los valores derivados luego de cargar la definición desde el archivo.
Han sido unos días un poco cargados de trabajo en una PC que no es apta para el desarrollo de juegos, por lo que me tomaré un breve descanso mientras el proyecto va a la Habana y regresa con las escenas retocadas. Las cosas se están poniendo complicadas a medida que avanzo, cuando las funcionalidades dejan de ser básicas (mover la cámara, desplazar el personaje) y se van metiendo en el terreno de lo complejo. Entonces es que empieza a sonar la alerta de locura.

Comentarios