jueves, 6 de septiembre de 2012

Planeación Lógica Adaptativa

Planeación Lógica Adaptativa es una serie de pasos que realizara un agente inteligente para alcanzar una meta y que van acompañado de ciertas condiciones. Cada paso o acción tiene sus respectivas precondiciones y postcondiciones.

De un curso anterior, recuerdo que se menciono que hay una universidad de Estados Unidos que creó un lenguaje de programación para el desarrollo de este tipo de  implementaciones, que a simple vista se podría confundir con el lenguaje de programación basado en el lógica Prolog.

Un ejemplo cotidiano donde se puede aplicar esto, es cuando un alumno se despierta por la mañana para acudir a la escuela. Donde:

El inicio sería:
  • Cuando se esta dormido
  
La meta sería :
  • Llegar a la escuela
Las acciones a realizar para llegar a esto pueden ser:
  • Levantarte/Despertar
  • Ducharse
  • Cambiar Ropa
  • Preparar libros p/llevar
  • Desayunar
  • Ir a la escuela
Las precondiciones podrían ser:
  • Para levantarte: (estar dormido)
  • Para ducharse: (estar sucio) (estar despierto)
  • Para cambiar ropa: (tener la ropa) (estar limpio)
  • Para los libros: (saber el horario) 
  • Para desayunar: (tener hambre) (tener que comer)
  • Para ir a la escuela: (traer los libros)
Las postcondiciones:
  • De levantarte: (estar despierto)
  • De ducharse: (estar limpio)
  • De cambiarse: (estar cambiado)
  • De los libros: (mochila preparada)
  • De desayunar: (no tener hambre)
  • De ir a la escuela (suponieno que no pasara nada en el transcurso de la casa a la escuela): (llegar a la escuela)
El siguiente diagrama explica un poco mejor las cosas (eso creo :D) y las opciones (lo adaptativo) que puede tener el alumno (agente) para poder alcanzar la meta (llegar a la escuela).


Algunas acciones, como se muestra, necesitan de que otras se realicen para poder ser llevadas a cabo mientras que otras pueden pasarse por alto y no son necesarias para nada.


Aplicación de esto a nuestro proyecto (el videojuego) 

La aplicación de esto (Planeación Lógica Adaptativa) a los videjuegos se puede dar en los segmentos en los cuales el usuario/jugador necesite tomar decisiones acerca del destino del personaje en el juego y estas decisiones a su vez pueden afectar en el progreso en el juego o pueden cambiar completamente la historia del juego.

Estas técnicas se estan haciendo muy populares dentro de los juegos de rol (RPG) donde se escoge un personaje al iniciar el juego y que la personalidad de este se verá afectada dependiendo de las acciones que se realicen dentro del juego.
Uno de los juegos que empezó con este sistema es:  
  • The Elder Scrolls IV: Oblivion


Se podría tomar en cuenta estas prácticas para implementarse dentro de nuestro juego.

Una manera donde se puede implementar (lo de PLA) en el proyecto es que dependiendo de las acciones, las armas y los caminos que se elijan al estar jugando se puede ver afectado el que enfrentes o no, a ciertos enemigos o jefes de nivel, es decir:
  • Para luchar contra (X) jefe es necesario: tener (a) escudo y (b) espada. 
  • Para obtener (a) escudo: hay que matar a (Y) jefe y quitarselo.
  • Para obtener (b) espada: es necesario tener (a) escudo y matar a (W) jefe y quitarle (b) espada.
A mi parecer esa seria una forma de aplicarlo/implementarlo en nuestro proyecto.


__________________________________________________________________
Referencias:

1 comentario:

  1. Bastante bien; 6. Quería también ver cómo habían avanzado lo de la arquitectura.

    ResponderEliminar