Tuned hearing
Short one this week. Two values and a boolean.
Aliens were detecting the bat from too far away, and (more annoyingly) every civilian on the map was hearing every chirp like a dinner bell. If a casual echolocation ping from across town wakes up the farmer’s wife, the bat has no incentive to ever chirp, and the entire vision-on-chirp layer that the game’s traversal hangs on stops mattering. So.
SightRadius from 1500 to 800 cm. LoseSightRadius from 2000 to 1200 cm. Aliens still see, they just don’t see across the level. The night reads darker in playtest, which is the only “darker” that matters. I was not adding fog volumes today.
Added a bReactsToChirps UPROPERTY on AEchoAIController, default false. In the perception update’s hearing branch, stimuli tagged "Chirp" get filtered out unless the bool is set. The chirp noise event is still emitted in AEchoPlayerController::HandleBite. The sound goes out into the world, and currently nothing listens for it. Which is the point. The hook is sitting there waiting for one specific future enemy type, the chirp-sensitive listener, the thing that homes in on echolocation itself, to flip the bool on its archetype and become the one thing in the level that hears.
I am extremely excited about that enemy. I am not building it this week.
Scream-hearing is untouched. BTTask_PlayScream noise events aren’t tagged "Chirp", so military alert-on-scream still works the same way it did. Civilian sees the bat, screams, military comes running. That loop is intact, because that’s the feedback loop the player actually learns from.
That’s the week. Next one, hopefully, the listener.