Fragzone-fredag – Om tungdrivna Unreal Engine 5-spel
Vi reder ut varför Epics spelmotor kräver så mycket.
#borderlands-4, #fragzone-fredag, #the-witcher-4, #unreal-engine-5
Spelbranschen har fastnat mellan en sten och ett hårt ställe. Förr kunde spel nästan enbart säljas med att visa upp häftiga grafiska framsteg. Nu ser vi inte längre lika stora framsteg och de har tappat ett stort köpargument. De försöker därmed kräma ur det mesta det går, men sen faller det pladask när de inte får ur den produktivitetsökning de önskat och det blir också suboptimalt på köpet. Som man brukar säga: De sista 10% brukar ta mer än 90% av tiden.
Ryzen 7 Gökboet Edition med gräddvisp och känsloregulator, Sapphire PÖLSA XTREM 7800XT PartyClown Edition med RGB-wienerkorv, MSI BARNKALAS 650 UNICORN HOWL med emotionellt stödchip, DDR5 32GB 6000MHz Fluffig Kattpäls Limited Edition med självvärmande moduler
Alltid gillat fin grafik med xtra allt. Men idag så är det så random, vissa spel som inte alls ser så märkvärdiga ut är plötsligt jättetungdrivna, medans andra som ser likvärdiga ut flyter på prima.
Annan grej när stora kliv kom. Som crysis, cyberpunk. Då finns det mer en acceptans till att det är tungdrivet. Visserligen helt andra motorer men
🖥 R5 9600X || RTX 4070 ti Super || 32GB DDR5 || 27" 240hz OLED
⌨️ ROG Azoth 75% |🖱️ROG Keris Aimpoint
🎮 PS5 || LG 55" CX
Var tog alla utvecklare vägen som ville optimera för prestanda?
De finns så klart, men nånstans verkar det inte prioriteras. För prestanda skapar inte hype. Hur många gånger har man inte läst typ ”känns som 2018” eller ”ser ut som ett PS3-spel” när en trailer visas och det inte ser helt episkt nextgen ut?
AAA-spelindustrin vet inte hur bra de har det. Jobbar man med någon annan form av utveckling idag så som webb och appar måste man tänka på accessibility, tusentals olika devices, operativsystem osv. Även en blind person ska kunna använda tjänsten och appen för att ta ett exempel.
Spelutvecklarna å andra sidan kan göra nästan precis hur fan de vill och med tanke på detta tycker jag att de borde ha kommit mycket längre än Unreal Engine 5. Den är alldeles för ytlig och hysterin kring den här spelmotorn är tokig.
Hoppas på fler och mindre spelmotorer i framtiden som kan röra om lite i grytan.
Säljargumentet Epic använder till Spelutvecklare är att med Nanite och Lumen så kan man korta ned spelutvecklingstiden och därav öka vinstmarginalen. Men Nanite och lumen har både två dålig prestanda och är proppfyllda med visuella artefakt. Vi får suddiga, gryniga och buggiga spel. Många spelare bryr sig inte om kvalité och köper de ooptimerade spelen ändå. Ett vanligt uttryck har blivit "Det ser bra ut på min dator!" Vilket självklart inte är sant. Sanningen är att de har en lägre tröskel för kvalité.
The Witcher 4 trailern som visades upp såg hemskt dålig ut. Jag tror upplösningen ligger under 720p, jag har aldrig sett ett så suddigt spel.
Mycket handlar nog om hur benägna och kunniga utvecklare är att optimera spelen till olika grafikmotorer, men framförallt hur mycket utgivarna ger tid och utrymme för optimering. Många klagar på Unreal Engine 5 och kopplar motorn med dålig prestanda per automatik - men om man tittar på exempelvis The Finals, Arc Raiders, Satisfactory, Split Fiction, eller Fortnite så går det ju bevisligen att få det både snyggt och optimerat grafikmotorn till trots. Unreal Engine 5 ska tydligen ha väldigt många "bells and whistles" som simulerar allt möjligt i realtid och får saker och ting att se snyggt ut - vissa saker blir väldigt tydligt, medan andra saker knappt märks av men som ändå är väldigt tungdrivet. Precis som när vi spelare stänger av eller kompromissar olika grafikinställningar för att få så hög FPS som möjligt medan det fortfarande ser snyggt ut är det ungefär samma sak som utvecklarna behöver göra för sina spel medan de är under utveckling.
Det är ju inte bara Unreal Engine 5 som har haft problem. Varje gång Sony ska försöka släppa ett spel till PC så är det en shaitshow. Samtliga spel Sony har släppt är totalt ospelbara dom första 1 - 3 månaderna och det krävs alltid 6 - 7 stora patcher för att få spelet stabilt. Det var patetiskt gjort med last of us 2. Med god of war ragnarök var det rent av patetiskt.
UE5 demo realtime global illumniation för 5 år sen.
https://www.youtube.com/watch?v=qC5KtatMcUw
Tim Sweeney och gänget på Epic är bra på att göra häftiga demos, men UE är en kraftigt överskattad spelmotor. För många spel med UE5 har haft prestandaproblem. Då är det något fel i motorn, inte med de individuella utvecklarna.
Detta ämne är min absolut största pet peeve. Jag har jobbat hela mitt yrkesverksamma liv i flera olika spelmotorer, som grafiker eller designer eller lärare. Ser man forum poster här eller på reddit så är det på sån otrolig ytlig nivå där folk copy pastar olika citat från sina favorit influencer eller försöker förstå extremt teknisk och komplex programvara genom att googla i ett par minuter.
Ett tips för liknande saker i framtiden är att försöka hitta någon senior engine programmerare eller engine architect som kan bryta ner det hela i lekmans termer.
Saker som många missar, kraftigt förenklat -
Unreal Engine är source available, bakomliggade kod är tillgängligt, många studios göra stora ändringar eller bygger sina egna renderingssystem och mycket mer, bara för att studion använder Unreal 5 betyder det inte att det är exakt samma motor.
Det finns flera ljussystem som kan användas separat eller kombinerat, att köra Lumen och raytracing är inte ett krav, man kan fortfarande baka ljus etc.
Nanite är valfritt att användas och ger mer eller mindre prestanda beroende på hur komplex grafiken är och om man bygger sina assets för att ta vara på det som nanite gör bra.
Och mycket mycket mer.
men UE är en kraftigt överskattad spelmotor.
Man får dock ge Epic att den är extremt användarvänlig och vem som helst kan tanka ner den och leka med jämfört med andras in-house motorer som man får lära sig på plats. Finns även en gedigen community och manual vilket många andra inte har så ur den aspekten är unreal bra.
Min top 3 i motorer är nog 1. Unreal, 2. Snowdrop och 3. Frostbite som animatör/utvecklare.
Har nog arbetat med en unik motor på varje ställe man varit och dessa tre har helt klart varit bäst som animatör. Däremot har jag helt klart upplevt att UE5 käkar mer prestanda även i ett tomt projekt jämfört med UE4 (ser betydligt snyggare ut out of the box dock)
Detta ämne är min absolut största pet peeve. Jag har jobbat hela mitt yrkesverksamma liv i flera olika spelmotorer, som grafiker eller designer eller lärare. Ser man forum poster här eller på reddit så är det på sån otrolig ytlig nivå där folk copy pastar olika citat från sina favorit influencer eller försöker förstå extremt teknisk och komplex programvara genom att googla i ett par minuter.
Ett tips för liknande saker i framtiden är att försöka hitta någon senior engine programmerare eller engine architect som kan bryta ner det hela i lekmans termer.
Saker som många missar, kraftigt förenklat -
Unreal Engine är source available, bakomliggade kod är tillgängligt, många studios göra stora ändringar eller bygger sina egna renderingssystem och mycket mer, bara för att studion använder Unreal 5 betyder det inte att det är exakt samma motor.
Det finns flera ljussystem som kan användas separat eller kombinerat, att köra Lumen och raytracing är inte ett krav, man kan fortfarande baka ljus etc.
Nanite är valfritt att användas och ger mer eller mindre prestanda beroende på hur komplex grafiken är och om man bygger sina assets för att ta vara på det som nanite gör bra.
Och mycket mycket mer.
Kanske det bästa som skrivits om Unreal Engine 5 på FZ. Väldigt sakligt och bra sammanfattat. Jag har inte alls samma erfarenhet och kunskap som dig (min resa i den här branschen har precis börjat), men även min juniora kunskap om just Unreal Engine 5 överensstämmer med vad du skriver.
Kontentan – det är inte så himla svårt att läsa på lite om sakernas tillstånd och förstå förutsättningarna. Med det som startpunkt kan en verkligt intressant diskussion om spels prestandaproblem börja. Men alldeles för många hakar på färdiga diskurser som helt enkelt inte stämmer.
Detta ämne är min absolut största pet peeve. Jag har jobbat hela mitt yrkesverksamma liv i flera olika spelmotorer, som grafiker eller designer eller lärare. Ser man forum poster här eller på reddit så är det på sån otrolig ytlig nivå där folk copy pastar olika citat från sina favorit influencer eller försöker förstå extremt teknisk och komplex programvara genom att googla i ett par minuter.
Ett tips för liknande saker i framtiden är att försöka hitta någon senior engine programmerare eller engine architect som kan bryta ner det hela i lekmans termer.
Saker som många missar, kraftigt förenklat -
Unreal Engine är source available, bakomliggade kod är tillgängligt, många studios göra stora ändringar eller bygger sina egna renderingssystem och mycket mer, bara för att studion använder Unreal 5 betyder det inte att det är exakt samma motor.
Det finns flera ljussystem som kan användas separat eller kombinerat, att köra Lumen och raytracing är inte ett krav, man kan fortfarande baka ljus etc.
Nanite är valfritt att användas och ger mer eller mindre prestanda beroende på hur komplex grafiken är och om man bygger sina assets för att ta vara på det som nanite gör bra.
Och mycket mycket mer.
Hur mycket tror du ligger hos utvecklare som försöker få in motorn i befintliga arbetssätt/verktyg/kodbaser och därmed skapar sina egna problem?
Detta ämne är min absolut största pet peeve. Jag har jobbat hela mitt yrkesverksamma liv i flera olika spelmotorer, som grafiker eller designer eller lärare. Ser man forum poster här eller på reddit så är det på sån otrolig ytlig nivå där folk copy pastar olika citat från sina favorit influencer eller försöker förstå extremt teknisk och komplex programvara genom att googla i ett par minuter.
Ett tips för liknande saker i framtiden är att försöka hitta någon senior engine programmerare eller engine architect som kan bryta ner det hela i lekmans termer.
Saker som många missar, kraftigt förenklat -
Unreal Engine är source available, bakomliggade kod är tillgängligt, många studios göra stora ändringar eller bygger sina egna renderingssystem och mycket mer, bara för att studion använder Unreal 5 betyder det inte att det är exakt samma motor.
Det finns flera ljussystem som kan användas separat eller kombinerat, att köra Lumen och raytracing är inte ett krav, man kan fortfarande baka ljus etc.
Nanite är valfritt att användas och ger mer eller mindre prestanda beroende på hur komplex grafiken är och om man bygger sina assets för att ta vara på det som nanite gör bra.
Och mycket mycket mer.
Problemet med ditt inlägg är att du verkar ignorera att det finns många spel som har problem med UE5. Du pratar nedlåtande om användare som "googlar lite" eller kollar någon youtube video, men vad har du för insikter om deras kunskaper eller erfarenheter om UE-spel egentligen? Du viftar bort problemen det med gissningar att andra utvecklare kanske gjort om spelmotorn och att det kanske inte är samma spelmotor som används i olika spel. Men har du fakta eller vet något säkert om det?
Det är känt att nu rätt många spel som använt UE5 har tekniska problem och/eller problem med prestandan. Det går inte bara att vifta bort. Jag själv tycker att de spel jag spelade i UE4 fungerade utan klagomål från mig, men med UE5 dök problemen upp. Är din tanke om det "jag som är utvecklare sen massor av år vet vad som är rätt, och du som bara spelar UE-spelen vet ingenting fast du upplevt problemen hands on". Hela ditt inlägg har en lite elitistisk ton.
Personligen är jag orolig för ett av de spel jag ser fram emot, eftersom det presenterades som ett UE5 spel. När de släppte en gameplay film från spelet och jag såg hack/stutter i en kort sekvens där så minskade inte min oro. Men jag håller tummarna att de lyckas optimera spelet så det har bra prestanda när det väl släpps.
Detta ämne är min absolut största pet peeve. Jag har jobbat hela mitt yrkesverksamma liv i flera olika spelmotorer, som grafiker eller designer eller lärare. Ser man forum poster här eller på reddit så är det på sån otrolig ytlig nivå där folk copy pastar olika citat från sina favorit influencer eller försöker förstå extremt teknisk och komplex programvara genom att googla i ett par minuter.
Ett tips för liknande saker i framtiden är att försöka hitta någon senior engine programmerare eller engine architect som kan bryta ner det hela i lekmans termer.
Saker som många missar, kraftigt förenklat -
Unreal Engine är source available, bakomliggade kod är tillgängligt, många studios göra stora ändringar eller bygger sina egna renderingssystem och mycket mer, bara för att studion använder Unreal 5 betyder det inte att det är exakt samma motor.
Det finns flera ljussystem som kan användas separat eller kombinerat, att köra Lumen och raytracing är inte ett krav, man kan fortfarande baka ljus etc.
Nanite är valfritt att användas och ger mer eller mindre prestanda beroende på hur komplex grafiken är och om man bygger sina assets för att ta vara på det som nanite gör bra.
Och mycket mycket mer.
Sant, men jag tror själva problemet är att många stora spelutvecklare verkar också tro att UE5 ska göra jobbet helt och hållet åt dem. Till viss del förstår jag det, då Epic marknadsförde teknologier som Nanite just på det sättet. Att det var nånting som gjorde att man kunde slänga in hur högupplösta modeller som helst, och så fixar motorn resten, klappat och klart.
såg hack/stutter i en kort sekvens där så minskade inte min oro.
Det där brukar mig veterligen vara shader-caching, något många väljer att lägga när man startar spelen numera vilket ska hjälpa en del. Det är förmodligen inte enda anledningen till stutter dock, kan vara när nya bitar av världen laddas in med, vet att UE5 har en hel del ändringar för t.ex open world med partitions vilket säkert kan ge stutter.
Alternativet till viss del stutter är ju laddningsskärmar vilket folk sällan uppskattar mitt i spelen, speciellt inte om man kör större open world.
Problemet med ditt inlägg är att du verkar ignorera att det finns många spel som har problem med UE5. Du pratar nedlåtande om användare som "googlar lite" eller kollar någon youtube video, men vad har du för insikter om deras kunskaper eller erfarenheter om UE-spel egentligen? Du viftar bort problemen det med gissningar att andra utvecklare kanske gjort om spelmotorn och att det kanske inte är samma spelmotor som används i olika spel. Men har du fakta eller vet något säkert om det?
Det är känt att nu rätt många spel som använt UE5 har tekniska problem och/eller problem med prestandan. Det går inte bara att vifta bort. Jag själv tycker att de spel jag spelade i UE4 fungerade utan klagomål från mig, men med UE5 dök problemen upp. Är din tanke om det "jag som är utvecklare sen massor av år vet vad som är rätt, och du som bara spelar UE-spelen vet ingenting fast du upplevt problemen hands on". Hela ditt inlägg har en lite elitistisk ton.
Personligen är jag orolig för ett av de spel jag ser fram emot, eftersom det presenterades som ett UE5 spel. När de släppte en gameplay film från spelet och jag såg hack/stutter i en kort sekvens där så minskade inte min oro. Men jag håller tummarna att de lyckas optimera spelet så det har bra prestanda när det väl släpps.
Vill börja med följande - Man kan vara en person som bara vill spela fungerande spel och inte bry sig om det tekniska, en 100% ok åsikt att ha som konsument. Det jag försöker ta upp har inget med det att göra utan dialogen runt om varför och hur det är väldigt enkelt något blir etablerade sanningar oavsett hur verkligheten ser ut.
Jag tycker inte jag nämner något av det du tar upp, jag har inte nämnt någon åsikt om att Unreal är bra eller dåligt förrän i detta inlägg, har inte heller tagit upp hur vanligt eller ovanligt det är med Unreal-spel som har problem, inte heller att det ska viftas bort, utan snarare motsatsen att ge fördjupande kunskap om ämnet så behöver man faktiskt prata med personer som kan ämnet. Jag väljer att nämna exempel så som att olika utvecklare bygger sina egna lösningar i Unreal för att uppmärksamma att bara för man pratar Unreal så är det inte nödvändigtvis samma Unreal eller samma problem som orsakar stutters eller visuella artefakter etc. Jag tycker också att det är viktigt att nämna att de två syndabockar som alltid tas upp inte heller är nödvändiga att använda och även kan tweakas i en massor av kombinationer.
Jag belyser hur okunskap och copy pastande av åsikter inte leder till en djupgående diskussion eller förståelse. Det är ytterst sällan artiklar om ämnet eller forumposter tar upp någon faktiskt intervju eller artiklar från personer med expertkunskap i ämnet. Om vi aldrig tar upp vad orsakerna till problemen är och hur utvecklare faktiskt jobbar, prioriterar, hur affärssidan påverkar utvecklarsidan, tech-debt, svårighet att hitta personal med rätt kunskap, kompetensdränering på grund av osäkra anställningsformer, hur olika Unreal spel med helt olika tekniska lösningar klumpas ihop till LUL UNREAL BAD och mycket annat så kommer vi ju aldrig att lära oss något av vikt? Det finns ju massor av Unreal spel som fungerar fantastiskt, varför inte ta in en expert som jämför en bra och dålig Unreal titel och varför? Det hade jag tyckt var intressant som konsument.
Jag är absolut inte en expert inom spelmotorer på en teknisk nivå, det kräver personer som jobbar med arkitektur eller programmerare, det är extremt komplex programvara, det tar många år av erfarenhet för att förstå. Jag har jobbat med 5+ spelmotorer och har relativt ok kunskap i samtliga från min isolerade lilla del som grafiker/designer. Summerat har jag tillräckligt mycket kunskap för att förstå hur väldigt lite jag vet och i förlängning hur extremt lite en lekman vet. Jag ser hur missvisande och direkt felaktiga påståenden alltid cirkulerar inom gaming forum.
"men vad har du för insikter om deras kunskaper eller erfarenheter" - Jag vill inte verka förminskade, men ibland är top kommentarer på exempelvis reddit i stil med det klassiska "modermodemet, själva hjärtat i hårddisken" nivån. Man pratar om polygon-limits som en mobiltelefon från tidigt 2000-tal skulle klara av som anledning till prestanda problem. Påstår att 4k texturer har något att göra med skärmar som har "4k" upplösning. Blandar ihop olika terminologier och tekniska lösningar, tar upp draw call limits tillhörande playstation 2 eran och mycket annat och då är det relativt enkla ämnen, när vi pratar ljusmodeller eller hur renderings-pipelinen fungerar i Unreal eller Unity så blir det ännu mer fel. Det diskuteras nästan aldrig hur mycket frihet som finns och hur olika lösningar som kommer med olika utmaningar.
Ca 31% av alla spel som släpps på steam är byggda i Unreal enligt en snabb googling, det är också är den icke proprietära spelmotor som används till flest AAA spel. Dessa spel får sen mest utrymme i media. Negativitet tar extremt stort medieutrymme och är även det ledande klimatet i många forum. Man belyser aldrig det bra utan att ta upp det dåliga men man tar gärna upp det dåliga utan det bra. Detta ger missvisande diskussioner och bidrar till att man fokuserar på fel saker. Vad jag föreslår är inte att man sopar problem under mattan utan tar upp djupgående tekniska anledningar till varför vissa Unreal-spel fungerar fantastiskt bra och andra dåligt, vilka val som gjordes, vad som faktiskt leder till dessa olika problem. Då kan spelarna fokusera på att välja spel från rätt studios, inte oroa sig bara för något är i Unreal eller för den delen Unity eller Bitsquid eller vilken annan spelmotor som helst som kommer med en rad andra utmaningar.
Avslutningsvis - man får vara en konsument som bara vill spela fungerande spel och inte bry sig om den tekniska sidan, det är helt okej, men denna tråd handlar ju om det mer tekniska, det är det enda jag vill ta upp här, jag säger inte att man måste tycka si eller så eller försöker försvara någon spelmotor eller programvara utan värnar om kunskap och korrekt fakta.
Hur mycket tror du ligger hos utvecklare som försöker få in motorn i befintliga arbetssätt/verktyg/kodbaser och därmed skapar sina egna problem?
Det kan absolut vara vanligt, tar man den grafiska biten att jobba med nanite-assets jämfört med mer traditionella 3d assets så behöver man tänka nästan precis tvärt om. Ett objekt med många fler polygoner kan spara prestanda istället i och med hur nanite-segmenteringen fungerar.
Andra spel började utvecklas i Unreal 4 och bytte under utvecklingen. Det är också stora skillnader på olika Unreal 5 versioner.
Finns fler exempel på ganska unika och intressanta lösningar på kod, finns en svensk spelstudio som absolut ville använda Unity men inte C# och byggde in en lösning för ett annat programmeringsspråk, detta ledde till att ett projekt lades ner efter flera år i utveckling.
Men det finns bra exempel så som Hazelights angelscript som är deras egna lösning för script språk som kringår c++ problematik och blueprint-röra https://angelscript.hazelight.se/ en annan mindre bra lösning verkar tillsynes vara Oblivion Remastern. Nu är det svårt att hitta källor på exakt hur deras lösning fungerar men två vanliga rykten är att man kör Gamebryo motorn för allt förutom grafik där unreal körs eller att man kodade in Gamebryos scriptspråk och hantering av assets i en custom Unreal fork vilket skulle kunna bidra till problemen med performance. Vill dock starkt poängtera att jag inte har någon riktig kunskap om det senare.