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 entender el código y el funcionamiento de una aplicación de Android hecha a la mitad
- ¿Cómo crear un archivo PDF en Android? ¿Hay una biblioteca con algunos tutoriales?
- Cómo comenzar a trabajar independientemente en el desarrollo de aplicaciones de Android
- ¿Por qué Visual Studio tarda tanto tiempo en implementar y crear una solución para la aplicación de Android Xamarin?
- Cómo usar Android para el seguimiento de paquetes (ver en qué páginas web están las personas)
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.