Hola y bienvenida!
Veras, el tema es un poco complicado como para que alguien lo explique en un post. ¿Sabes que es una maquina(?) de estados? Bueno, viene a ser algo así como los estados en los que se encuentra un autómata, y a partir de ellos, a cuales otros estados puede acceder. Para explicarlo más fácil, yo ahora mismo estoy sentado en mi silla; se puede decir que estoy en un estado determinado que se llama "sentado" ¿A que otro estado puedo acceder desde mi estado actual? Bueno, puedo acceder solamente a uno de dos: "escribir en la portátil" o ponerme "de pie". Sí me pusiera de pie, podría acceder a otros estados como "caminar", "saltar" y nuevamente "sentado". ¿Cómo se consigue que un autómata pase de un estado a otro de forma lógica y sin saltarse un estado? Con
arboles binarios. De esta forma, evitaras que tu autómata pase de "escribir en la portátil" a "correr", que es un cambio de estado ilógico.
Ahora, el problema que describes se puede afrontar de esta manera, con una maquina de estado para los actores/sprites/enemigos involucrados. Escribes una maquina de estado raíz dentro de la clase del actor, y enlazas esa maquina de estado con otras dos o tres o las que necesites por medio de una estructura de árbol binario. La lógica de la IA, supongo yo, iría dentro de cada maquina de estado haciendo que el actor se comporte de forma diferente cuando la maquina de estado cambie.
Por supuesto, para que el autómata cambie de comportamiento por medio de su maquina de estados, es necesario que pueda comprobar ciertas condiciones externas a él (de otra manera ¿Cómo cambiaría de estado?). Si el actor no esta en alerta, que camine de un lado al otro (aquí tendrás que darle la posibilidad de "decidir" a donde "quiere" ir que seguido, se mueva hasta el lugar que el actor "desea"), y si el actor mientras camina o esta decidiendo dónde moverse, "ve" al jugador, lo persiga y le dispare. Por supuesto esto ya es un tema algo más complicado. Posiblemente el modulo
aima-python (por si estas implementando el juego en Python) te ayude a evitar reinventar la rueda, pero en lo personal te recomiendo que estudies algo de álgebra y te familiarices con el tema.