A Horizon: Zero Dawn biztosan ott van a valaha készült legszebb játékok között, ráadásul ezt a látványvilágot egy mai PC-s szemmel nézve viszonylag gyenge hardveren képes elérni. Minden dicséretet megérdemel tehát a Guerilla Games programozói csapata, a játékot hajtó Decima engine ugyanis láthatóan fantasztikusan működik.
Most azonban a Game Developers Conference alkalmával tartott előadást a motor vezető programozója, Jaap van Muijden, amiből kiderült egy újabb érdekesség: a Horizon: Zero Dawnban látott környezet procedurálisan generált. Ez azt jelenti, hogy a játék motorja folyamatosan építi fel a játékos körül a világot, és ebbe nem csak a fák, kövek, utak tartoznak bele, hanem a hangok, a vizuális effektusok, a vadvilág és különböző játékmenet-elemek is.
Fontos megjegyezni, hogy itt nem véletlen-generálásról van szó. A művészek és pályatervezők egy nagyon egyszerűen használható szerkesztővel előre felépítik a világot, amit aztán a motor élőben generál le az előre megadott algoritmusok és szabályok alapján - ezek azonban determinisztikusak, tehát minden esetben ugyanaz a végeredmény fog kijönni.
Az alábbi videóban nagyszerűen látszik, hogy a Guerilla dizájnerei mennyire egyszerűen tudnak összerakni egy-egy nagyon látványos, élettől burjánzó területet, így nem kell azzal foglalkozniuk, hogy a hatalmas nyitott világban minden egyes objektumot kézzel helyezzenek el. Ez egyben azt is jelenti, hogy nem kell kézileg legyártani rengeteg különböző grafikai elemet sem (például fákat, aljnövényzetet), így például az összes ilyen jellegű grafikai munkára elég volt három embert alkalmazni.
Felmerülhet persze a kérdés, hogy ha már rendelkezésre állnak ezek az eszközök, és tulajdonképpen ezekkel úgyis előre építik fel a világot, akkor miért nem generálják is le előre, miért van szükség arra, hogy procedurálisan, menet közben építse fel ezt a motor? A válasz egész egyszerűen az, hogy így nem kell mindent eltárolni a merevlemezen, amivel helyet spórolnak, valamint jelentősen lerövidítik a betöltési időt.
De itt jön a lényeg: az egész procedurális generálást a korábban alkalmazott módszerek helyett már nem a CPU, hanem a GPU végzi, ami pedig hihetetlen hatékonysággal tudja megoldani ezt a feladatot. A Guerilla számításai szerint a teljes művelet átlagosan 250 mikromásodperc terhelést jelent a GPU-nak.