Effiziente Erkennung geschlossener Bereiche in einem Browser-Spiel

2025-02-07
Effiziente Erkennung geschlossener Bereiche in einem Browser-Spiel

In einem Browser-Spiel platzieren Spieler Hindernisse, um Gegner aufzuhalten. Um zu verhindern, dass Spieler durch das Einkesseln ihrer eigenen Figur oder der Gegner schummeln, hat der Autor einen effizienten Algorithmus zur Erkennung geschlossener Bereiche entwickelt. Der anfängliche Brute-Force-Ansatz – das Füllen jeder Zelle mit einer Flut – erwies sich als zu langsam. Der Autor entwickelte einen verbesserten Algorithmus, der einen Cache von „offenen“ Zellen (Zellen, die nicht von Hindernissen umgeben sind) nutzt, um den Suchraum des Flutfüllens zu reduzieren. Wenn Hindernisse hinzugefügt oder entfernt werden, aktualisiert der Algorithmus die Menge der offenen Zellen und berechnet die legalen Platzierungsstellen neu. Obwohl die Worst-Case-Zeitkomplexität dieselbe bleibt wie beim Brute-Force-Flutfüllen, reduziert dieser Algorithmus in der Praxis die Verzögerung erheblich. Der Autor bespricht auch andere Optimierungstricks, wie iterative Updates und die Überprüfung nur der Zellen, die an mindestens zwei Hindernisse angrenzen. Schließlich erwähnt der Autor eine andere mögliche Lösung: einen Algorithmus, der auf der Zykluserkennung basiert.

Mehr lesen

Pfadfindung zu einem beweglichen Ziel in sich veränderndem Gelände

2025-01-11
Pfadfindung zu einem beweglichen Ziel in sich veränderndem Gelände

Dieser Blogbeitrag beschreibt eine neuartige Lösung für die Pfadfindung in einem Unity-Browser-Spiel namens 'Build + Brawl', in dem Hunderte von Feinden zu einem sich bewegenden Spieler in einer dynamisch verändernden Umgebung navigieren. Anstatt A* wurde ein Richtungsfeld-Ansatz implementiert. Dieser berechnet vorab optimale Bewegungsrichtungen und -distanzen für jede Gitterzelle und minimiert so die Aktualisierungen bei Änderungen des Spielers oder von Hindernissen. Dies verbessert die Leistung erheblich und vermeidet Browser-Lag. Der Beitrag ist in zwei Teile gegliedert, die den Aufbau des Algorithmus und die Behandlung von Hindernissen erklären, illustriert durch übersichtliche Diagramme. Es ist eine großartige Fallstudie für Spieleentwickler.

Mehr lesen
Spiele Richtungsfeld