Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Integracion De La Ia En El Engine

Iniciado por tiutiu, 10 de Enero de 2006, 06:27:33 PM

« anterior - próximo »

tiutiu

 Me gustaria saber como meteis la parte de IA en vuestro engine. Aunque creo que la pregunta deberia ser mas general. ¿Que entendeis por IA orientada a juegos? Me refiero a nivel de que tareas desarrolla la IA.
Yo habia imaginado que el marco de trabajo son controladores para objetos de la escena, que puedan modificar la transformacion (posicion,rotacion,escala) o efectuar alguna otra operacion sobre el objeto, como añadir,modificar o quitar mas objetos de su jerarquia (sacar un arma) o cambiar de animacion (correr->saltar).

¿Que opinais? ¿Hay algo que me deje por el camino? Pensad que esto es solo el marco de trabajo, ya que cuando programe la IA del juego estara scriptada usando este framework. La accion de disparar seria ir metiendo diferentes tipos de controladores al objeto que maneja la IA.
b>:: Pandora's Box project ::
Notas e ideas sobre desarrollo de engines para juegos

ethernet

 No he leído nada apenas de IA, pero en makefigth la implementé como un controlador más, como si fuera un jostick, teclado, etc, algo así:

controller->Tick(car,otra_info);

siendo controller una clase de la que en una caso heredaba la clase keyboard o la clase IA.

No es para nada avanzado, pero desde luego es muy funcional. De hecho cada coche solo tiene información sobre el coche del jugador (posición, velocidad) , con lo cual cuando en el ring hay varios coches controlados por la CPU se meten entre ellos unas ostias como panes, es más, nisiquiera tienen información sobre su propio coche, que sería interesante ya que los coches muy pesados tienden a volcar con más facilidad y suelen girar menos, de forma que tuve que diseñar los coches pret a poter para la IA XD.

er_willy

 yo uso esto

{
if (my == player)   {_player_intentions(); camara();}
else      {_IA_intentions();}

choques():
rotaciones();
movimiento();
animacion();
}


function _IA_intentions()
{
-recoger datos del exterior

-contratar los datos recogidos con la "personalidad" para decidir las funciones
disparar();
saltar();
etc

-mandar informacion sobre movimiento y rotacion
my.velocidad = xx
my.new_pan= xx

}









Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.