Vuelvo a empezar

  He añadido al junkie y la arq enemy -> game_character y enemy_cache.

  Los enemigos se definen desde el tiled

-- Alex
El junkie detecta obstaculos

  Por el momento la IA es muy sencilla, se limita a rebotar!

-- Alex
He quitado el parseInt() en el calculo de las posiciones de los
caracteres

  Ademas ahora cargo 2 junkies para ver como va todo. He solucionado un
  bug que habia con las animaciones.

-- Alex
Voy a empezar a meter la maquina de estados

-- Alex
He añadido los bocadillos que expresan emociones

-- Alex
Distancia de vision se define en el Tiled

  sightDistance: numero de pixeles

-- Alex
Primera version del motor AI añadido

  En esta version  el Junkie se dedica a perseguir al robot

-- Alex
Wandering añadido

  Ahora el Junkie anda debuleando por el escenario, ojo no hay deteccion
  de colisiones.

-- Alex
Steering Behaviour: Arrive

-- Alex
Collision Avoidance

  He añadido el metodo para evitar colisiones entre los personajes,
  queda ahora probarlo.

-- Alex
Arreglado el bug con orientation y asVector()

  No me habia dado cuenta que el asVector( orientation ) no devolvia
  un vector correcto.

  Estaba operando en el 4to cuadrante y no en el 1ro!

  Una orientacion de 0 rads es hacia la derecha
  Una orientacion de PI/2 es hacia arriba
  Una orientacion de PI es hacia la izquierda
  Una orientacion de 3/2PI es hacia abajo.

-- Alex
He reescrito los metodos primitivos de Steering Behavious y el
CollisionAvoidance.

   Ahora son mas simples, devuelve unicamente la fuerza que hay que
   aplicar la velocidad. De esta forma se pueden encardenar entre
   varios steering behaviours.

Alex
Steering Behaviours

   Ahora el steering que se devuelve no esta normalizado, sino que es
   el vector de fuerza.
   De esta manera podemos aplicar prioridades a los steerings devueltos
   por los behavours.

Alex
Steering Behaviour

   He solucionado el problema de que se quedara pegado el yokie al
   robot cuando pasaba algunas veces cerca de el.

   Si se usa el comportamiento "arrive" y la posicion de destino esta
   dentro del circulo de accion del robot, el yonkie nunca podrá llegar
   a el :,/

   Pt en el update() de la clase Enemy compruebo que el robot nunca
   tenga ese punto dentro de su circulo de accion. En cc lo que hago
   es generar otro punto de destino.

-- Alex
En esta version los enemigos ya esquivan las paredes usando steering
behaviours.

-- Alex
Pack de Cambios:

1. AI:
  He encapsulado todos los metodos de steering behaviours dentro de una
  clase llamada Steering, de esta forma podre implementar un wandering
  mas fino que el actual.

  Tambien he organizado los radios de accion de los enemigos:
  - radius: radio de accion que engloba al personaje
  - short_range: Este rango se utilizar para evitar obstaculos y al robot
  - long_range: Este rango se usa para poder ver las trampas

2. BAIT_CACHE
  Esta clase se encargara de detener todas las trampas esparcidas por
  el escenario. Los enemigos deben usarla para poder saber si hay trampas
  cercanas

3. Player:
  He movido la logica de dropBait() a la clase BAIT_CACHE

4. Entity:
  He solucionado un bug que habia en el metodo setPosition() con la Z.
  Cuando se reposicionaba el corazon o la pila en el robot se ajustaba
  la Z sin tener en cuenta que no habia que cambiarla.

-- Alex
Los personajes van a por la trampa

  En esta version ahora los personajes ven las trampas y se dirigen
  hacia ellas. Si alguien llega primero entonces vuelven a andar a su
  bola.

-- Alex
Primera version jugable

 1. Los personajes se dirigen a las trampas y se quedan atrapados un
    tiempo
 2. Puedes matar al personaje preso en una trampa
 3. Cuando matas a un personaje obtienes su corazon con sus puntos de
    energia

-- Alex
Configuracion desde Tiled

  Ahora se puede ajustar desde Tiled los siguientes parametros de los
  personajes:

     - Radio del personaje
     - Rango de vision corta
     - Rango de vision larga

  He aumentado la tolerancia en la detección de colisiones.

  He limpiado el codigo quitando atributos y metodos que ya no se usan.

-- Alex
Ordenacion de codigo y limpieza

-- Alex