Spotlight: Deep RL voor navigatie in games

Door Andreas Veeckman

Overzicht onderzoek

Navigatie in 2D/3D omgevingen is een complexe taak die, eenmaal opgelost, de weg opent naar implementatie van testbots of playbots. Technieken zoals A* of Dijkstra’s algoritme zijn gevestigde waarden in de developers wereld. Toch zijn er tekortkomingen, vooral wanneer de complexiteit van bewegen vergroot door acties zoals springen, vallen, glijden, double-jumps etc…

Op GDC 2021 stelde een onderzoeksteam van Ubisoft La Forge resultaten voor van een bot die kan navigeren d.m.v. een neuraal netwerk, getrained m.b.v. Deep Reinforcement learning (DRL). In de video hieronder kan je het eindresultaat observeren. (Lees verder onder de video.)

Technische details

De bot bestuurt hier rechtstreeks een virtuele controller, net zoals een speler zou doen. Er is geen navmesh/graph aanwezig. De input voor het neurale netwerk bestaat uit de relatieve positie tot de bestemming, metrics over velocity en versnelling, en een 2D depth map die wordt gecreeërd d.m.v. raycasts vanuit het standpunt van de bot. Het neurale netwerk bevat ‘geheugen’ d.m.v. een LSTM architectuur. Het is getrained op 1 level, en leert zo de plattegrond kennen. De trainingstijd bedraagt 12-15 uur, en werd versneld door het proces te verspreiden over 5 machines en 225 parallelle instanties.

Learnings van de auteurs

  • Het gebruik van een debug display om te zien wat de bot aan het doen is, en of alles correct gebeurt.
  • De computationele kost is vergelijkbaar met die van een path-request voor conventionele methodes.
  • De succes ratio hangt af van de complexiteit en grootte van het level. Hoe groter het level, hoe moeilijker de agent het heeft om de layout te leren. (Dit kan in ons opinie opgelost worden door het level op te delen in kleinere delen waarop dan verschillende netwerken getrained dienen te worden. Het navigeren van 1 deel naar een ander kan dan wel via een conventionele techniek gebeuren. Deze zal veel goedkoper zijn gezien complexiteit zeer laag is.)

Onze opinie

DRL is volgens ons een goed alternatief indien bewegingsvrijheid zeer groot is. Het manueel plaatsen van links, vereist in het geval van een navigation graph/mesh is een intensieve taak, die hierdoor overbodig wordt. We vragen ons wel af of de bots de weg vinden in levels die de complexiteit van een doolhof benaderen.

De paper is vrij te raadplegen via deze link.