Für dein Problem mit der 50ms Prüfung hab ich ne einfache Lösung die ich auch für asos verwende.
mach eine Prüfung die alle zb 2s ausgeführt wird, und wenn der Spieler innerhalb von zB 1000 um das Lagerfeuer ist, dann wird die 50ms Prüfung gestarted, und solange durchgeführt bis der Spieler wieder weiter weg ist.
Damit werden weiter entfernte Prüfungen sozusagen "abgestellt" und belasten die Rechenleistung nichtmehr so stark.
(Ich hoffe ich konnte halbwegs vernünftig erklären was ich meinte )