Portfolio · Unreal Engine 5.8 · 2026
En procedurell pipeline som gör om en skriven designbrief till en spelbar nordisk postapokalyptisk region på 8 × 8 km i Unreal Engine, och en testanläggning där varje gameplaysystem i spelet kan provas i ett eget rum.
Vad jag gjorde
Jag satte visionen för spelet (utforskande och städer i Fallout-stil, NPC-liv i Kenshi-stil, människor och fordon på vägarna) och designade världen det utspelar sig i: regionerna, städerna och deras roller, väghierarkin, berättelsen om katastrofen och utseendet jag var ute efter.
Koden skrevs av AI-kodassistenter utifrån mina briefar, i många korta iterationer. Mitt jobb var att bestämma vad som skulle byggas, bedöma varje renderat resultat mot målet, spela det, underkänna det som såg falskt ut och sätta reglerna som pipelinen måste följa, till exempel att landsvägar saknar kantsten och att varje väg slutar i en väg av samma eller högre klass.
Varje siffra på den här sidan är uppmätt i motorn. Där något inte är klart än står det under Status.
Fallstudie 1
Världen börjar som en JSON-spec: kust, berg, floder, städer med sina roller, vägnätet och en bombkrater med sitt skadeområde. En generator i Python gör om den till terräng och planer; Unreal bygger nivån från de filerna utan att någon placerar en enda aktör för hand.
Regioner med hot- och lootnivåer, bosättningar, vägklasser, katastrofen. Versionshanterad med ändringslogg.
Python och NumPy: terräng, erosion, floder och sjöar, en vägraf efter lägsta kostnad, planer för städer och byar, regler för dekor. Ungefär 8 minuter.
Vägar, broar, husplattor, byggsatsdelar och vatten som enkla datafiler, med QA-kontroller av väglutning, terränglutning och överlapp.
Headless-steg i Unreal: en landskapsimportör i C++, vatten, vegetation, hus, städer av AAA-byggsatser, vägar, dekor, broar, navmesh.
Renderade bilder styrda från Python via editorns MCP-server, granskningsskript, sedan spel i editorn.










Fallstudie 1, fortsättning
Hela regionen är för tung att speltesta. Ett beskärningsverktyg skär ut en kvadrat på 2,5 km runt Kvarnvik och jordbruksbyn Fjällby ur samma data och behåller alla världskoordinater, och samma byggsteg ger en nivå som går att spela.

| Mätning | Resultat | Hur det mättes |
|---|---|---|
| Nivåstorlek | 143 MB | mot 640 MB för hela regionen |
| Byggtid | ~4 min | alla steg headless, från data till sparad nivå |
| Bildtid | 11,4 ms median | ungefär 88 fps i 1920 × 1080, Lumen på, RTX 4080 SUPER; renderingstråden sätter gränsen vid ungefär 3 000 draw calls |
| Laddning av kartan | 10,6 s | fristående spel, CSV-profil över 2 400 bildrutor |
| Minne som kartan lägger till | ~2,5 GB | jämfört med samma körning på den lilla standardnivån |
| Bygge av navmesh | 22 s | 2,5 × 2,5 km, sparad med nivån |
Felsökning
Den första navmeshen såg komplett ut, men rutterna från torget till hälften av byarna tog slut efter några hundra meter. En flood fill över celler på 50 m visade ett rent diagonalt snitt genom öppen landsbygd. Genom att utesluta en grupp i taget hittades orsaken: flodernas ytor delade navmeshen i öar, även med kollisionen avstängd. När vattnet undantogs från navigeringen och riktiga broar placerades vid varje korsning hängde alla elva byar ihop.
Fallstudie 2
En central hall med en monter och en teleportplatta för varje rum, så att varje system i spelet kan provas för sig på en minut. Hela nivån byggs av ett enda skript, rummen kontrolleras automatiskt i spel, och mina egna speltester ledde till att hälften av rummen byggdes om.









Under huven
Status, oktober 2026