Pfadsuche bleibt weiter ein spannendes Thema: da gibt's Stress mit unerreichbaren Zielen, oder der NSC ist zu nah an der Wand und damit auf einem Pfadsuche-Feld, wo er mit seinem Mindestabstand zur Wand eigentlich nicht hingekommen sein dürfte... naja.
Immerhin habe ich jetzt einen Grund für ein Pfad-Ziel in der Wand beseitigt: die Suche, wenn ein NSC die Agentin entdeckt hat. Man kann sich dann im hohen Gras ja wieder wegducken, und dann läuft die Wache stattdessen zur letzten bekannten Position. Und von da aus sucht sie dann die Umgebung ab.
Bisher war diese Umgebungssuche einfach ein "4m - 6m in eine zufällige Richtung und rumgucken". Und das hat leider gern dafür gesorgt, dass die Wache vor ne Wand läuft und dann die Krümel in der Rauhfasertapete sucht - das sieht nicht aus. Wär doch viel geiler, wenn sie gezielt Übergänge in Nachbarräume ansteuern würde! Aber wie erkenne ich die?
Dafür habe ich jetzt eine Lösung implementiert. Die Suche geht rekursiv durch die Flächen vom Suchzentrum aus. Zum Einen markiert sie in einer gewissen Entfernung die Flächen als potentielle Umschau-Stellen, zum Anderen markiert sie die Kanten, an denen die Agentin durchkommen könnte, der NSC aber nicht. Letzteres sind dann halbhohe Schwellen wie z.B. Fenster. Leider aber nicht nur, der halbhohe "Schreibtisch" im Nebenzimmer wird auch für ein Fenster gehalten.
Das Bild zeigt die Debug-Anzeige einer Suche im Editor. Die weiße Säule ist das Suchzentrum, da liegt zum Beispiel die Leiche. Die blauen Säulen sind Zielpositionen zum Umschauen, ich filter da ein bisschen, dass die nicht zu dicht liegen. Man sieht schön oben im Bild, wie das rekursive Ausbreiten von Fläche zu Fläche dann auch einen Punkt in den Korridor gesetzt hat, so dass die Wachen dann hoffentlich auch durch Türen in die Nachbarräume gehen und da mal reinschauen. Und dann gibt's die Fenster, mit Richtung zum Rausgucken, weil die Agentin da rausgeklettert sein könnte. Im Aggro-Zustand können die NSCs ihr da folgen, bei der Umfeldsuche schaffen sie die Schwelle nicht.
Jetzt noch bissl feintunen und tatsächlich im Spiel verwenden, dann auf zum nächsten Thema.