Valós idejű adaptív útvonalkeresés Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék MI számítógépes játékokban Valós idejű adaptív útvonalkeresés Készítette: Hernáth Zoltán Msc Konzulens: Dr. Dobrowiecki Tadeusz BME-MIT
Tartalom Útvonalkeresés számítógépes játékokban A* algoritmus bemutatása A* keresés korlátai RTAA* ismertetése Tervezett alkalmazás bemutatása Összefoglalás és kitekintés
Útvonalkeresés számítógépes játékokban Kezdetben nem ismert a teljes térkép Az egységek egy bizonyos területet látnak csak maguk körül Amire igyekeznek emlékezni a későbbiekben A játékos ismert és ismeretlen területre is küldheti az egységét Amennyiben a tervezett pályán akadály van, új útvonalat kell keresni A mozgásnak folyamatosnak kell lennie
A* keresés Optimális offline útvonalkereső algoritmus Heurisztikák alapján választja ki a következő mezőt H heurisztika: az adott mezőtől a célig (alul) becsült távolság G: start pozíciótól az adott mezőig megtett távolság F: G+H Open List: ismert mezők F értéke alapján növekvő sorrendbe rendezve Closed List: meglátogatott mezők
A* keresés korlátai Az első lépés megtétele előtt ismerni kell az útvonalat Ezt kiszámolni nagy tereknél időigényes lehet Ha a terep ismeretlen, vagy változik, nem feltétlenül tudjuk követni a kijelölt utat Szélsőséges esetben minden lépésnél le kéne futtatni egy teljes A* keresést A terepről szerzett új ismereteinket nem kamatoztatjuk
Real Time Adaptive A* A* keresésen alapuló algoritmus Limitált számú mezőt vizsgálunk egyszerre (LookAhead érték) A heurisztika értékeket folyamatosan frissítjük (növeljük) Egyet (vagy többet) lépünk Lépés közben frissítjük a térképünket, amennyiben szükséges
Real Time Adaptive A*
Real Time Adaptive A*
Real Time Adaptive A*
Real Time Adaptive A*
Real Time Adaptive A*
Real Time Adaptive A*
A fejlesztett alkalmazás Java nyelven .txt fájlban tárolt térkép LookAhead, illetve max lépések számának változtatása Lehetőség az algoritmus léptetésére, illetve célig futtatásra
A fejlesztett alkalmazás folyt. Többszöri futtatás azonos térképen (a javuló heurisztikák hatásának ábrázolására) Heurisztikák, felderített terület, optimális útvonal ábrázolása
Összefoglalás és kitekintés Amivel eddig foglalkoztam Számítógépes játékok útvonalkeresése Valós idejű útvonalkereső algoritmusok Alap RTAA* algoritmus implementálása Grafikus felületű program az RTAA* algoritmus demonstrálására További fejlesztési lehetőségek Program és az algoritmus bővítése pl.: folyamatosan változó terep kezelése, különböző költségű elemek bevezetése, stb ...
Köszönöm a figyelmet!