Entornos artificiales: análisis

Esta semana estoy preparando el siguiente requerimiento importante de mi proyecto: capacidad para generar entornos virtuales. Se trata de una idea absolutamente vaga, de la que se pueden sacar algunos requisitos base:

  • Todo espacio virtual necesita pobladores. Animats, células, bots ó cualquier otro tipo de inteligencia artificial o sistema reactivo. Estos pobladores tienen un cuerpo a través del cual perciben su entorno y pueden actuar en él: abrir una puerta, consumir alimento, caerse en un pozo.., y también entre ellos.
  • Los pobladores pueden tener una inteligencia artificial propia como esta: FEAR
  • Espacio concreto: un entorno tiene un espacio y una física concretas. Puede ser agua del mar, un suelo infinito o una habitación. El sistema debe aceptar cualquier posibilidad.
  • Obstáculos: Cualquier escenario puede estar plagado de obstáculos y su forma no tiene porqué ser un primitivo (cono, esfera, caja, cilindro, …) Estos obstáculos no tienen porqué ser inatravesables y pueden ser pasivos con respecto a los pobladores del entorno.
  • Muchos de estos requisitos plantean la necesidad de tener un control de colisiones en el código, lo que signfica … nuevas librerías … cómo me pone esa frase! Y es que Maxine, en este momento tiene 16 bibliotecas incorporadas desde la fuente ;) Algunas de las bibliotecas posibles de control de colisiones son: Control de colisiones y física Existen bastantes bibliotecas especializadas en la gestión de colisiones con volúmenes primitivos, así que no sé si de entrada vamos a poder usar cualquiera de ellas.

    Mi contacto inicial con este problema ha partido de un proyecto de animación por steering: openSteer del que ya he extraído el motor de simulación física. La versión del CVS tiene un excelente soporte para la gestión de obstáculos, pero tiene un inconveniente, abordan el problema como si de un escenario estático se tratase.

    Iré anotando en esta bitácora las ideas que tenga, quizá pueda debatirlas luego con algún experto en el tema.

    Comments are closed.