Comportamientos autónomos para personajes de videojuegos

Hola a todos, Jesús Bosch ha vuelto a postear un gran artículo y ejemplo en su blog que paso a comentaros por aquí, su hace unos días nos sorprendía con ejemplos sobre detección de movimiento, esta vez viene con ejemplos de compotamientos autónomos (Steering Behaviours en Inglés) que básicamente son distintos comportamientos que pueden adoptar distintos tipos de personajes u objetos en un videojuego, en concreto se implementan los siguientes algoritmos:

  • Seek: Consiste en perseguir un objetivo o Target, intentando acercarse a él de forma directa.
  • Flee: Huye del Target, alejándose de él.
  • Arrive: El mismo behavior que el Seek, sólo que este reduce la velocidad suavemente antes de alcanzar el objetivo.
  • Pursuit: Persigue al Target con mayor “inteligencia”, es decir, en vez de acercarse de forma directa al objetivo, realizaremos una estimación de su posición futura teniendo en cuenta el vector de velocidad en cada momento.
  • Evade: Al igual que el pursuit, intenta escapar del Target intentando estimar la posición futura del perseguidor, en lugar de alejarse de forma directa.
  • Wander: El agente se desplaza de forma errática, calculando un punto aleatório del área de un círculo situado enfrente del agente.

Aquí tenéis el enlace directo al ejemplo para poder descargar el código y trastearlo un poco: http://geeks.ms/blogs/jbosch/archive/2010/01/04/ia-steering-behaviors-en-xna-i-de-ii.aspx

Esperamos con ganas la segunda entrega 🙂

Y para muestra del ejemplo un video de todos los comportamiento funcionando a la vez:

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s