Método simple:
Cada “turno” (esto podría ser un marco, esta podría ser cada oportunidad que tenga de moverse, siempre que pueda moverse), haga que la IA genere una lista de posibles lugares a los que podría ir. Cuando esté en esta lista, verifique que cada lugar al que pueda ir no lo coloque fuera del nivel. Luego, elegirá lo que lo coloca dentro de los límites del nivel. Esto también funciona para evitar barreras y otros objetos en el terreno.
Método ligeramente más difícil:
- ¿Cómo administra Android las aplicaciones en segundo plano?
- ¿Por qué debería aprender programación C para el desarrollo de Android?
- ¿Puedo publicar cualquier cantidad de aplicaciones de Android por el mismo costo de $ 25? ¿Cuánto podemos ganar con la instalación o descarga de una aplicación móvil?
- ¿Cuál es la mejor aplicación de Android para clasificar imágenes en una galería sin mover archivos?
- Cómo declarar fondo en Java Android studio
Dale un poco de previsión y haz que evite los bordes del mapa. Dale dónde están las cosas y deja que elija a dónde quiere ir (necesitarás escribir un método que pueda seguir). Luego muévete según la ubicación. Digamos que si ve una pared dentro de 2 unidades de su posición, muévase en sentido contrario. Esto impedirá que se acerque a los bordes. Una vez más, también funciona para una IA más compleja, por ejemplo, evitando jugadores bajo mecánicas de miedo o tácticas furtivas, lo que sea.
Personalmente, he implementado la opción 1 en Java. Muy simple, muy fácil, dada una cantidad fija de movimiento finito en cualquier dirección y un número finito de direcciones posibles, es muy factible y razonablemente rápido de correr.