En teoria parece algo facil de hacer, pero no lo creo,
un ejemplo seria que usted pueda saber que tanto esta moviendo el jugador su joystick de movimiento, como pasa en muchos juegos 3d
donde si el jugador mueve solo un poco su joystick de movimiento y mantiene ese rango , el personaje comienza a caminar lenta y sensualmente, entonces podria partir desde ahi, pero no se si Game Maker tenga funciones para saber eso.
le dejo este video sobre como manejan esas cosas en los juegos de sigilo
ya mire el video y si no busca algo tan complejo puede usar collision_circle()
que simularia el area en la que su enemigo puede detectar los sonidos, ademas necesitara un medidor de ruido
como hizo anteriormente con su medidor de stamina, este aumentara su valor dependiendo
de si el jugador esta corriendo, caminando o agachado y descendera si este se mantiene quieto
puede dividir su medidor de ruido en tres rangos diferentes
por que si no el jugador se pasara el juego entero empinado y de nada servira su sistema de ruido.
entonces que pasa si el jugador sobrepasa dichos rangos y ademas esta en el rango de audicion de un enemigo
el primer rango solo hara que el enemigo haga algo random, hable solo o se active que despierte de un sueñito y comience a patrullar.
el segundo rango hara que vaya a checar el terreno. el enemigo se dirigira caminando tranquilamente a la posicion del jugador
el tercer rango hace lo mismo que el segundo, a diferencia que lo hara mas agresivo corriendo y listo para atacar su rango de vision de ataque aumentara.
esto es solo teoria en la practica puede no funcionar u ocasionar muchos mas problemas que no se habian contemplado
como dicen es mas facil decirlo que hacerlo. espero le sea de ayuda