Door Daan van Monsjou

Nieuwsredacteur

'Next-gen wordt fantastisch'

Interview met Billy Khan van id Software

10-07-2020 • 06:00

96

Multipage-opmaak

Inleiding

Als het op game-engines en shooters aankomt, is id Software geen nieuweling. Aan het begin van de jaren negentig bracht de in Texas gevestigde studio bijvoorbeeld al de 'grootvader van alle firstpersonshooters' uit. Wolfenstein 3D was revolutionair, een van de allereerste games in een tegenwoordig mateloos populair genre. Door de beperkingen van de computers in die tijd kon de game echter alleen worden voorzien van relatief simpele 2d-omgevingen. Deze werden door slimme vormgeving als 3d-beelden weergegeven, maar met Doom, dat op 10 december 1993 uitkwam, tilde id Software de grafische pracht en praal van zijn shooters naar een hoger niveau. Waar Wolfenstein 3D volgens ontwikkelaar John Carmack nog als een 'doolhofspel' kon worden gezien, had Doom 'echte architectuur'.

De game maakte de overstap naar een volledig verlichte gamewereld die geheel van textures was voorzien. Daardoor konden designers voor die tijd grootsere levels maken. Hoewel de game in feite nog steeds in 2d werd gerenderd, was de 3d-illusie hierdoor sterker dan in Wolfenstein. Dit alles was te danken aan de engine, die toentertijd 'Doom-engine' werd genoemd. Deze Doom-engine kwam later bekend te staan als 'id Tech'.

Door de jaren heen heeft id Software verschillende nieuwe engines ontwikkeld onder deze id Tech-noemer. Met de release van Doom Eternal eerder dit jaar zijn we aangekomen bij de zevende iteratie. Deze engineversie, door de studio toepasselijk id Tech 7 genoemd, heeft veel nieuwe features ten opzichte van zijn voorgangers. Zo is id Software bijvoorbeeld volledig overgestapt op de Vulkan-api van Khronos. Ook heeft de studio zogeheten megatextures definitief de deur gewezen.

Door deze en nog vele andere veranderingen heeft Doom Eternal diversere omgevingen en betere graphics dan zijn voorgangers, terwijl de game nog altijd op veel platforms op hoge framerates draait. Tweakers kreeg onlangs de kans om te praten met Billy Khan, de lead engine programmer van id Software. Hij vertelde over de fijne details van zijn engine. Ook hadden we het over Vulkan, Doom Eternal en id Softwares plannen voor de volgende generatie consoles.

Id Tech 7 en engineoptimalisaties

Billy Khan vertelt dat id Software na de release van de Doom-reboot uit 2016 écht is begonnen met werken aan id Tech 7. Voor die tijd had het team al plannen voor de nieuwe engineversie. “We hebben meestal een roadmap voor de komende vijf tot tien jaar. Er is een oud gezegde: Als je faalt om te plannen, plan je om te falen. Dus we denken altijd goed na over de lange termijn.”

Het team kiest de features die het in een nieuwe engine-iteratie introduceert op basis van feedback uit het team zelf. “Daarnaast hebben we altijd plannen om dingen uit te voeren op basis van wat we weten van hardwarefabrikanten als AMD, Nvidia en Intel. Dit geldt ook voor consolefabrikanten als Sony en Microsoft. Verder kijken we naar wat Khronos doet aan de Vulkan-kant. Op basis daarvan proberen we te bepalen waar we op willen inzetten.”

Billy Khan id Software
Billy Khan tijdens het interview

De focus voor id Tech 7

Met de ontwikkeling van id Tech 7 lag de focus volgens Khan op meer grafische details en betere prestaties. "We hadden al een missionstatement voor id Tech 6 en die hebben we voortgezet met id Tech 7. In feite wilden we ervoor zorgen dat spelers zich afvragen hoe we de 60fps en hoger halen, maar toch in staat zijn om alle visuals en graphics te pushen. Daarbovenop wilden we met id Tech 7 alles visueel verbeteren. Tegelijk wilden we de vloeiende gameplay behouden die id Software-games eigen is. Dat de game op erg hoge framerates draait, is voor ons belangrijk."

Dat laatste blijkt onder andere uit een van de updates voor id Tech 7, waarmee de maximale framerate van 250 naar 1000fps is opgehoogd. "We beschouwen 60fps als het absolute minimum, maar niet per se het maximum. Ik speel persoonlijk op een 144fps-monitor. Dat is wat voor mij momenteel het beste aanvoelt. Uiteraard gaan we steeds hoger, met sommige monitoren die nu al 360fps halen, maar 60fps is dus ons minimum. Dat geeft de speler de beste feedback en de beste spelervaring. Dus die framerate proberen we op zoveel mogelijk platforms te halen."

Optimalisaties in de engine

Met zijn nieuwe engine heeft id Software dus ook flinke stappen gezet met de graphics van zijn games. Een deel van de verbeterde graphics is te danken aan de eliminatie van megatextures, waar we later dieper op ingaan. Bovendien is in Doom Eternal de geometrie aanzienlijk geüpgraded ten opzichte van zijn voorganger, dankzij andere verbeteringen in id Tech 7. Khan vertelt dat in bepaalde scènes in Doom Eternal acht tot tien keer zoveel triangles, een soort polygonen, zitten als in Doom (2016). Dat komt neer op 80 miljoen tot 90 miljoen triangles in een complete scène. "Als je kijkt naar de wireframe van een volledige scène, dan is die bijna helemaal wit."

"We zouden dat nooit in real time kunnen renderen." Om die reden heeft id Software enkele optimalisatiesystemen in zijn engine geïmplementeerd. Het team heeft bijvoorbeeld een hoop werk gedaan om sterk te beheren wat er in iedere frame wordt gerenderd. "Er zijn op dat gebied veel verbeteringen, zodat we zoveel mogelijk natuurgetrouwheid kunnen pushen zonder dat de artistieke visie van onze ontwerpers en artists verloren gaat."

id Tech 7 triangles
In Doom Eternal zitten aanzienlijk meer triangles dan in Doom (2016)

Triangle en occlusion culling

Een van deze optimalisaties is het vernieuwde culling-systeem op de gpu in id Tech 7. Met culling worden objecten, zoals polygonen, die niet nodig zijn in beeld als het ware 'weggegooid', waardoor ze niet gerenderd hoeven te worden. Dat scheelt een aanzienlijke hoeveelheid rekenkracht. Het cullingsysteem bestaat uit verschillende onderdelen. "We voeren eerst al wat ruwe culling uit op de cpu; dat is vrij normaal. De informatie die hieruit voortkomt, wordt opgeslagen in een occlusion-buffer, die aan de gpu wordt gevoed", vertelt Khan. "Maar voordat we de diepteberekeningen uitvoeren, voeren we ook nog een pre-pass uit die deze diepteberekeningen minimaliseert."

Bij dat onderdeel wordt bijvoorbeeld gekeken naar microtriangles. Dat zijn polygonen die dusdanig klein en ver weg in beeld zijn, dat ze de visuele kwaliteit van de scène totaal niet beïnvloeden. Hierdoor kunnen ze probleemloos uit de frame worden verwijderd. Ditzelfde systeem bekijkt ook welke triangles helemaal buiten beeld vallen, waarna die verwijderd worden uit de draw call. Zo'n draw call is een opdracht aan de grafische api om een object, zoals een polygoon, te tekenen.

Ook triangles waarvan de normals niet in de richting van de camera staan, worden door het cullingsysteem uit de draw call gehaald. Denk bijvoorbeeld aan een kubus met zes zijkanten. Daarvan zijn er altijd maximaal drie zichtbaar. De andere drie kanten vallen dan buiten beeld. De polygonen aan die drie kanten van de kubus hoeven niet gerenderd te worden.

Id Tech 7 cube
Er zijn altijd maximaal drie zijkanten van een kubus zichtbaar. De polygonen aan de andere zijkanten kunnen geculld worden.

Volgens Khan komt uit dit alles 'een gigantische lijst met triangles' voort. De gpu maakt geheel nieuwe draw calls door deze triangles te herorganiseren. Deze draw calls worden vervolgens onderverdeeld in batches. De grootte van deze batches hangt af van de gebruikte gpu. "Het is dus best wel complex, maar het is geweldig. We like it."

Dit cullingsysteem helpt de game kort gezegd om in iedere frame alleen de zichtbare triangles te berekenen. Hierdoor kan het team meer polygonen in de complete omgeving gebruiken. Dit concept van culling is niet uniek, maar dankzij de manier waarop id het heeft geïmplementeerd, heeft het team de geometrische details van Doom Eternal sterk kunnen verbeteren ten opzichte van zijn voorganger.

Nieuw lod-systeem

Ook heeft id Tech 7 zijn level-of-detail-systeem verbeterd. Met dit systeem wordt, zoals de naam doet vermoeden, het detailniveau van afzonderlijke objecten bepaald. In de praktijk is dit systeem bedoeld om afwijkingen in het detailniveau van de in-game objecten te vermijden. "We willen niet dat je een zeer gedetailleerd object en een object met weinig detail op dezelfde afstand hebt staan. Je ogen pikken dat heel goed op." Tegelijk bespaart dit systeem de nodige rekenkracht.

Het detailniveau voor objecten wordt door het lod-systeem bepaald door per pixel te bekijken hoeveel schermruimte het object inneemt. Een object dat erg groot is op het scherm en dus veel pixels inneemt, krijgt een hoger detailniveau. Een object dat weinig schermruimte en pixels inneemt, kan een lagere lod-waarde krijgen zonder dat dit de visuele kwaliteit zichtbaar verlaagt. Daardoor vergen deze objecten minder rekenkracht.

Het afschaffen van megatextures

Met de introductie van id Tech 7 heeft id Software megatextures permanent met pensioen gestuurd. Megatextures maakten hun debuut in id Tech 5 en Rage. Deze techniek maakte het mogelijk om met relatief weinig videogeheugen meer unieke textures te gebruiken in games. Toentertijd bleek het een uitkomst, maar inmiddels bleek het vooral een beperkende factor. In id Tech 7 heeft id Software megatextures dan ook ingeruild voor een geometry streaming-systeem. Dit nieuwe systeem leidt tot betere prestaties en tot textures van hogere kwaliteit.

Wat zijn megatextures?

Megatextures zijn exact wat de naam doet vermoeden. In plaats van dat er verschillende losse textures voor een gamewereld worden gebruikt, worden alle benodigde textures voor een frame samengevoegd in één enorm exemplaar. In de praktijk is een megatexture dus een soort gigantische textureatlas, die bestaat uit diverse kleine textures. Het voordeel hiervan is dat megatextures aanzienlijk minder videogeheugen vergen dan een systeem met losse exemplaren.

Doom (2016) gebruikt bijvoorbeeld enkele megatextures met resoluties van 16k x 8k pixels, die worden toegewezen aan het geheugen van de gpu. Deze megatextures zijn opgedeeld in blokjes van 128x128 pixels. Deze blokjes kunnen gevuld worden met de textures die nodig zijn om een frame te renderen. Blokjes die niet langer nodig zijn, worden uit de megatexture gehaald om ruimte te maken voor nieuwe blokjes. Hieronder staat bijvoorbeeld een uitsnede van een megatexture uit Doom (2016), die aan Tweakers is verstrekt door Adrian Courrèges.

Megatexture Doom 2016 met dank aan Adrian Courreges
Een uitsnede van een megatexture uit Doom (2016), bestaande uit 'blokjes' met textures van 128x128 pixels.
Afbeelding met dank aan Adrian Courrèges

“Megatextures waren een fantastisch concept", vertelt Khan. "Het was heel gangbaar in het tijdperk van de Xbox 360 en PS3. We hadden toen heel weinig videogeheugen, maar we wilden wel mooie visuals krijgen, ondanks de kleine hoeveelheid vram. Dat is heel moeilijk te realiseren.” Met megatextures was dit op de beperkte hardware van de vorige generatie dus toch mogelijk.

Nadelen

Er zitten wel veel nadelen aan het gebruik van deze techniek. Allereerst verlies je enorm veel detail bij gebruik van megatextures, doordat compressie meermaals wordt toegepast, vervolgt Khan.

“Je begint met een texture, maar vervolgens verklein je deze naar een gangbaardere grootte. Dan wordt het bestand gecomprimeerd naar jpeg, waarna het gestreamd kan worden naar de game. Eenmaal in het spel wordt het bestand omgezet in een formaat dat gelezen kan worden door de gpu. Je verliest door al deze stappen een hoop detail van de ongerepte texture waarmee je begon. De textures worden modderiger, je verliest natuurgetrouwheid."

Doom (2016) vs. Doom Eternal textures
De textures in Doom (2016) waren soms 'modderig' door gebruik van megatextures

Niet alleen gaat de kwaliteit achteruit, het uitvoeren van al deze stappen veroorzaakt daarnaast pop-in. Dat gebeurt bijvoorbeeld als je snel door een omgeving loopt of van wapens wisselt. Dit komt doordat er een vertraging van een frame is voordat de cpu de benodigde nieuwe textures oproept. “Snel gaan op 60fps vermindert dat probleem enigszins, maar als je snel beweegt, is het nog wel zichtbaar. Daar waren we niet blij mee.” Ook was de functionaliteit van de megatextures beperkt. “In onze eerste titels waren megatextures beperkt tot albedotextures.” Dat zijn heel simpele textures, zonder enige schaduwen of highlights.

Om dat laatste probleem enigszins te verhelpen, werden de megatextures in Doom (2016) geüpdatet om verschillende lagen met verschillende attributen te ondersteunen. Deze lagen bevatten bijvoorbeeld de normals, albedokleuren en gladheidswaarden. Deze update hielp, maar hierdoor verlies je nog steeds detail. “Je hebt dan immers nog steeds verschillende textures die gedecomprimeerd moeten worden.” Bovendien was dat systeem moeilijk om mee te werken en bleef zichtbare pop-in een probleem.

De ontwikkelkosten stegen ook door het gebruik van megatextures. “Het kostte enorm veel ruimte om al deze textures op te slaan. We hebben het over duizenden terabytes op onze servers.” Die toegenomen hoeveelheid schijfruimte zie je terug in de games zelf. Het 'originele' Doom uit 2016 vergt bijna 69GB schijfruimte, waarvan de map met textures ongeveer 44,5GB inneemt. Doom Eternal vergt in zijn geheel nog geen 44GB opslagruimte, terwijl de omgevingen in Eternal groter en gevarieerder zijn dan die in Doom (2016).

Opslagcapaciteit Doom 2016 vs Doom Eternal
Doom uit 2016 (links) vergt aanzienlijk meer schijfruimte dan Doom Eternal

Geometry-streaming in id Tech 7

In id Tech 7 zijn megatextures ingeruild voor een moderner geometry-streamingsysteem. Hierdoor kunnen in de hele game textures van een aanzienlijk hogere resolutie worden gebruikt. In Doom Eternal zie je dat terug in de omgevingen zelf, maar bijvoorbeeld ook in de ontwerpen van wapens en personages. Ook vergt het nieuwe systeem minder schijfruimte, zoals hierboven te zien is. De eerdergenoemde pop-in wordt eveneens geëlimineerd. Verder maakt het nieuwe systeem het mogelijk om meer unieke assets in de game te hebben, doordat de workflow voor artists sneller is met het nieuwe systeem.

Dit alles werd mogelijk gemaakt doordat moderne platforms meer videogeheugen hebben dan platforms als de PS3 en Xbox 360. “Maar ook als we de helft van de hoeveelheid geheugen tot onze beschikking hadden, hadden we deze stap gezet. De voordelen van megatextures zijn marginaal in vergelijking met alle negatieve dingen die we zagen.”

Doom Eternal
In Doom Eternal hebben de textures een hogere resolutie

Transitie naar Vulkan

Een van de grootste veranderingen in id Tech 7 is dat id Software volledig is overgestapt op Vulkan. Als een van de eerste ontwikkelaars ondersteunde id deze grafische api al in titels als Doom (2016), maar destijds draaiden de software en tools van de studio nog op OpenGL. Inmiddels is ook deze software overgezet naar de open api van Khronos, wat de snelheid volgens Khan aanzienlijk heeft verbeterd.

Dankzij de transitie naar Vulkan zijn bijvoorbeeld de prestaties beter in id Studio, de worldbuilding-tool van de ontwikkelaar. Zo kunnen ontwikkelaars sneller en efficiënter te werk gaan. Ook kunnen de medewerkers van id Software door de transitie naar Vulkan meer werk in real time doen in id Studio. Onder andere hierdoor kan een relatief kleine studio als id Software in relatief korte tijd veel content maken.

idStudio workflow
De workflow in id Studio is aanzienlijk versneld dankzij de transitie naar Vulkan

Dichter bij de hardware

De snelheidsverbeteringen behoorden dan ook tot de belangrijkste factoren voor deze overstap, vertelt Billy Khan. Niet alleen de studio heeft hier profijt van, maar de spelers zelf ook. Door gebruik van Vulkan kunnen ontwikkelaars beter gebruikmaken van de hardware die ze tot hun beschikking hebben, waardoor de in-game prestaties zijn verbeterd. Dit komt doordat ontwikkelaars met Vulkan ‘veel dichter bij de hardware’ kunnen programmeren, zoals ze dat ook gewend zijn bij consoles. Hierdoor hebben ontwikkelaars bijvoorbeeld directe beheersing over alle buffers, textures en resources: “Dat geeft ons veel macht.” Bij andere api’s, zoals OpenGL, is de driver hiervoor verantwoordelijk.

Zo zijn de verschillende renderstates van alle draw calls pre-baked, vertelt Khan. Dergelijke renderstates zijn gerelateerd aan de configuratie die een gpu moet gebruiken om een bepaald object te tekenen. Hieronder vallen bijvoorbeeld de textures en shaders die gebruikt moet worden. Door deze 'voor te bakken', worden alle mogelijke variaties van deze renderstates van tevoren berekend en opgeslagen. Zo kunnen de draw calls sneller worden uitgevoerd. Voordat Doom Eternal werd uitgebracht, doorliep de studio bijvoorbeeld de complete game, en werden alle mogelijke renderstate-variaties opgenomen en opgeslagen in een cache. Hierdoor zijn de draw calls 'enorm verbeterd', waardoor de gpu minder werk hoeft te doen, legt Khan uit. Hierdoor kunnen bovendien meer draw calls worden uitgevoerd tijdens een frame.

Samenwerking met hardwarefabrikanten

“Vulkan stelt ons ook in staat om zeer nauw samen te werken met hardwarefabrikanten, met name AMD, Nvidia en Intel. We kunnen hardwarefabrikanten benaderen en aangeven dat we een bepaalde functie willen toevoegen. We gaan dan bijvoorbeeld naar Nvidia en AMD en vragen ze om een extensie voor ons te maken."

Vulkan members
Vulkan stelt ontwikkelaars en hardwarefabrikanten in staat om nauwer samen te werken

“Omdat we zo nauw met hen kunnen samenwerken aan functies die we voor de toekomst hebben gepland, kunnen we hopelijk de richting van Vulkan een beetje sturen en ervoor zorgen dat de game-industrie de functies krijgt die wij nodig vinden. Vulkan staat dat toe. Andere api's zijn beperkender. Je krijgt de api en daar moet je het mee doen." Samenwerken is daardoor aanzienlijk lastiger. Het ontwikkelen van een game wordt dankzij Vulkan 'een organisch proces met zeer veel samenwerking', vertelt Khan. "Het voelt boeiend aan en levert echt geweldige resultaten op. Dat is een van de redenen dat we echt van Vulkan houden, naast de andere voordelen. Het is open source. Het is cross-platform..."

Documentatie

“Iets waar mensen weinig over spreken, is dat de documentatie uitstekend is. De specificatie is zeer duidelijk. Je kunt echt redeneren over wat er in de api gebeurt. Daardoor kunnen mensen binnen ons vakgebied écht met elkaar praten. Met andere api’s is dat niet zo gemakkelijk. Dus proficiat aan de mensen die de documentatie verzorgen, want ze doen het geweldig."

Tegelijkertijd geven sommige developers aan dat het soms moeilijker is om met Vulkan te werken, omdat de api zo dicht bij de hardware werkt. “Het hangt ook af van de ontwikkelaar, denk ik. Het lijkt ontmoedigend, maar ik denk dat je soms gewoon dingen moet proberen. Sommige dingen zijn inderdaad moeilijker, doordat Vulkan echt vereist dat je goed begrijpt hoe de pijplijn werkt. Maar als je het eenmaal door hebt, kun je een betere game maken.”

Bovendien is Vulkan volgens Khan enorm 'expliciet'. Bij oudere api's had je vaak verwarrende functies, die hetzelfde leken te doen of tegenstrijdig leken met elkaar, vertelt hij. "Dat was vooral zo met OpenGL als je de verschillende versies naast elkaar legt. En soms deden drivers compleet verschillende dingen voor verschillende hardwarefabrikanten." Dat is bij Vulkan niet het geval. "Er is geen enkel giswerk. Je weet precies wat er gebeurt."

"Ik denk dat meer mensen in de game-industrie de sprong moeten wagen om Vulkan te leren kennen. Ik denk dat als mensen de tijd nemen om zich erin te verdiepen, ze het leuk zullen vinden om te zien hoe empowering het is om gekke dingen te kunnen doen die ook bij een console mogelijk zijn."

Vulkan Raytracing

Het is geen geheim dat id Software kijkt naar de mogelijkheden van raytracing voor zijn games. Er werd aanvankelijk bijvoorbeeld aangekondigd dat Doom Eternal ondersteuning voor de rendertechniek zou krijgen. Later bleek echter dat dit, in ieder geval bij de release, niet het geval zou zijn. Misschien komt id later met een patch, maar de studio heeft hierover nog weinig details uitgebracht.

Onlangs bracht Khronos zijn Vulkan Raytracing-extensie uit. Het ligt, gezien de transitie naar Vulkan, dan ook voor de hand dat id Software gebruik zal maken van deze nieuwe extensie als het ervoor kiest om in de toekomst aan de haal te gaan met raytracing. “Ik weet niet of ik hierover kan praten, maar als we hier even over theoretiseren… Als we in de toekomst raytracing zouden gebruiken, wat ik niet kan bevestigen of ontkennen, dan zouden we inderdaad waarschijnlijk Vulkan Raytracing gebruiken.”

“We zitten in het beginstadium van raytracing. We hebben eindelijk de benodigde hardware”, vervolgt hij. “Dus iedereen is erg opgewonden, net als wij, maar als we in een vast ecosysteem zitten, zal dat onze vooruitgang vertragen.” Om die reden zal id Software in de toekomst ‘waarschijnlijk’ Vulkan Raytracing gebruiken in plaats van andere api's, zoals DirectX Raytracing. Met Vulkan kunnen ontwikkelaars namelijk direct meedenken over de richting van raytracing in de api en suggesties aandragen bij het Khronos-consortium. Bij api’s als DXR is het aandragen van suggesties en veranderingen minder gemakkelijk.

Vulkan Raytracing in Wolfenstein: YoungbloodVulkan Raytracing in Wolfenstein: Youngblood

Vulkan Raytracing (links) wordt al gebruikt voor Wolfenstein: Youngblood, een game die is gemaakt met id Tech 6

Nieuwe visuele features

Geometry decals

Met id Tech 7 heeft de studio ook workflowverbeteringen doorgevoerd in id Studio, de worldbuildingtool van id Software. Zo heeft het team zijn geometry decals-systeem verbeterd. Met dit systeem kunnen medewerkers decals op objecten plaatsen tijdens het maakproces. Deze decals kunnen bijvoorbeeld kogelgaten of krassen zijn.

In oudere versies van id Tech was het maakproces van assets met deze decals aanzienlijk langzamer dan in id Tech 7, vertelt Khan. "Vaak was er een iteratieproces bij het maken van objecten, waarbij een artist de asset creëerde, waarna iemand het beoordeelde. Die persoon kan bijvoorbeeld zeggen: Oké, ik wil dat je deze kras op het object ergens anders neerzet. Vaak werden zulke kleine details aangedragen. De artist moest dan terug naar de tekentafel, het model opnieuw uitpakken en vervolgens de texture opnieuw 'schilderen'. Dat alles alleen voor die kleine aanpassing."

Het vernieuwde decal-systeem in id Tech 7 brengt daar verandering in. Het systeem werd geïmplementeerd na feedback van een medewerker. "Een van onze artists zei: Ik wou dat ik gewoon wat polygonen kon oppakken in mijn dcc-tool en wijzigingen op die manier kon doorvoeren." Zo geschiedde. Door verbeteringen in het decal-systeem kunnen artists deze decals in real time op de in-game objecten plaatsen en ze vervolgens vrij bewegen. "Hierdoor kunnen artists ook meer experimenteren met het uiterlijk van objecten."

id Tech 7 geometry decals static
Met geo decals kunnen artists van id Software moeiteloos objecten van details voorzien. Klik voor een gifje

Alembic animation caching

Ook nieuw in id Tech 7 is 'Alembic animation caching'. Alembic is een opensource-graphicsframework dat in 2011 werd geïntroduceerd door Sony Pictures Imageworks en Industrial Light & Magic. Sindsdien wordt het gebruikt voor het maken van computeranimaties. Alembic wordt onder andere ondersteund door software als Blender en Cinema 4D. Id Software gebruikt het in zijn nieuwe engine om complexe en herbruikbare animaties te maken voor in zijn games.

Met Alembic kan id Software de gamewereld naar eigen zeggen meer 'levend' laten aanvoelen. Tegelijk stelt het de studio in staat om bepaalde scènes, waarin delen van de gamewereld bijvoorbeeld kapot gaan, groots af te spelen. "Het doel was om het snel te maken, om het er mooi uit te laten zien en om grandioze momenten te maken." Alembic is bijvoorbeeld in actie te zien in de 'Super gore nest', een van de aardse levels in Doom Eternal. "In die scène zijn veel secundaire animaties aan de gang in de wereld, waar de wereld pulseert. Je merkt het misschien niet, maar veel van die stukken zijn Alembic."

Doom Eternal Alembic
Met Alembic kan het team van id complexe en herbruikbare animaties maken. Klik voor een gifje

Het was overigens geen gemakkelijk systeem om in de engine te implementeren, vertelt Khan. "Je moet een streamingset-up doen die problematisch kan zijn." In de game moeten de levels bijvoorbeeld gemarkeerd worden om te weten wanneer de spelers een bepaalde kamer binnenkomen, zodat de animaties gestreamd kunnen worden. "Een ander groot probleem is om het te optimaliseren en daarbij de dataset klein te houden. Er zijn al zoveel andere dingen die je kunt streamen. Dus je moet Alembic in balans brengen met dingen als de geometrie en textures. Er is slechts zoveel wat je door de pijplijn kunt voeren."

Het gebruik van Alembic in games is niet nieuw, maar de mate waarin id Software dat doet, is opvallend. Khan voorziet dat Alembic in de toekomst meer gebruikt zal worden in de game-industrie. "Ik kan me voorstellen dat steeds meer ontwikkelaars dit soort technologie zullen inzetten om specifiek hun cutscenes opwindender te maken."

Destructible demons

Wel nieuw is het 'destructible demons'-systeem. Vijanden bestaan uit geometrische lagen die tot een geheel worden samengevoegd. Spelers kunnen deze lagen vervolgens individueel kapotschieten. Niet alleen is dit een zeer bevredigend feedbacksysteem voor de speler, het heeft ook een gameplayfunctie. Het functioneert namelijk ook als een soort healthbar.

“De intensiteit van Doom Eternal is zo hoog, dat je je echt op het midden van het scherm concentreert. Daardoor kan het moeilijk zijn om naar de randen van het scherm te kijken, waar doorgaans de healthbars staan.” Doordat spelers delen van de vijanden af kunnen schieten, is dat een indicatie voor hoeveel health een vijand overheeft. Een healthbar is dus niet nodig, hoewel ze in Doom Eternal nog wel gebruikt worden voor bossfights. Bovendien is het boeiender voor de spelers. “Er is een gevoel van opwinding als je acties een resultaat hebben en je kunt zien wat dat is.”

Tegelijk wilde id Software de game niet té ‘visueel bloederig’ maken. In plaats daarvan is het geweld in Doom Eternal opzettelijk overdreven, om het geheel wat cartoonachtiger te maken. “Als je in een horrorfilm iemand ziet die op zijn hoofd wordt geslagen met een hamer, dan is dat nogal schokkend. Maar als het in een cartoon gebeurt en het maakt een ‘bonk’-geluid, dan is het verteerbaarder.” Id Software probeert met Doom Eternal meer die kant op te gaan. “Dat is ook de reden waarom het bloed helderder is. En waarom het piñataspul dat van de personages afvliegt, grandioos is.”

id Tech 7 destructible demon system

De vijanden in Doom Eternal zijn 'destructible'. Klik voor een gifje

Overige verbeteringen

Nieuw cpu-jobsysteem

Er zijn meer verbeteringen. Zo vertelt Khan over het cpu-jobsysteem in id Tech 7. "De engine kan zo'n taaksysteem werk geven, waarna het systeem dit kan inplannen zodat het zo efficiënt mogelijk wordt uitgevoerd." Zo'n taaksysteem is niet nieuw, maar id Software heeft zijn systeem herschreven voor id Tech 7. Hierdoor kan het efficiënter gebruikmaken van alle cores die een cpu tot zijn beschikking heeft. "Alles is geparallelliseerd. We gebruiken elke thread en elke core. Er blijft niets op tafel liggen." Het systeem is volgens hem volledig schaalbaar en daarmee is het bijvoorbeeld ook direct geschikt voor de next-genconsoles, die later dit jaar op de markt komen.

Het systeem heeft volgens Khan een punt bereikt dat het aantal cores niet uitmaakt. Al heb je een systeem met tientallen threads, het taaksysteem kan daar goed gebruik van maken. Op dat punt zijn er overigens elders bottlenecks op de cpu. Die zitten bijvoorbeeld bij het uitvoeren van gameplayberekeningen. "Daar komen andere systemen bij kijken. Daar zit nog latency, dus hebben we op dat gebied nog werk te doen."

Ai in Doom Eternal

De kunstmatige intelligentie is daarnaast sterk verbeterd, vervolgt Khan. Niet alleen zijn er meer vijanden tegelijk in een scène ten opzichte van Doom (2016), ook het gedrag van de verschillende vijanden is verbeterd. "We hebben allemaal verschillende personages, die allemaal een uniek gedrag hebben. Kijk bijvoorbeeld naar zo'n gigantische Arachnotron die op het plafond springt, rondloopt, je aanvalt en weet om de hoek te sluipen en je aan te vallen. Zijn gedrag verandert ook nog eens als je hem beschadigt."

Review Doom Eternal
Een Arachnotron in Doom Eternal

Deze kunstmatige intelligentie moet er ook voor zorgen dat de speler op een bepaalde manier de game speelt en gaandeweg beter wordt. "We streven ernaar dat het voor de spelers altijd aanvoelt alsof ze progressie boeken. Je wilt dat elke speler een niveau van meesterschap bereikt en zodra ze dat niveau van meesterschap bereiken, is het alsof Neo de pil krijgt en hij alles duidelijk kan zien. En in dertig seconden kung-fu kan leren."

Verbeterde audiosystemen

"We hebben ook veel verbeterd aan de workflow van de backend van ons effectensysteem. Audio in het bijzonder. We wilden ervoor zorgen dat de mix en het geluidsspectrum, de hoeveelheid ruimte die we hebben voor alle geluiden, in elkaar overvloeien."

"Je hebt al die verschillende geluiden en ze concurreren allemaal met elkaar. Hoe maak je het geluid van een vuurwapen indrukwekkend als er tegelijk een demon schreeuwt en een explosie plaatsvindt? Het maken van die mix is dus erg moeilijk. Het audioteam kwam met een heel slimme manier om dat te doen. Vooral als het gaat om het weven in de muziek en hoe de muziek dynamisch verandert op basis van wat er in de scène gebeurt. Er is veel werk verzet op dat gebied en daar gaan we mee door, want audio is een groot onderdeel van onze titels."

Netwerkcode

"Aan de netwerkkant van de game worden ook een hoop verbeteringen doorgevoerd. Daar blijven we aan werken." Dit doet de studio omdat Doom Eternal een gratis update krijgt met invasions, waarin spelers de singleplayergame van anderen kunnen binnenvallen. "Het volledige spel wordt nog steeds uitgevoerd, terwijl we mensen hebben die bij je binnenvallen en je vervolgens aanvallen. Dat terwijl de framerate nog steeds hoog moet blijven."

Next-genconsoles

Billy Khan stelde in maart in een interview met IGN al dat id Software ‘zeer toffe plannen’ heeft voor de volgende generatie consoles. Inmiddels zijn we enkele maanden verder en delen steeds meer ontwikkelaars hun visie voor next-gen. Id Software heeft inmiddels ook meer te delen over zijn plannen voor de komende consolegeneratie.

Raytracing

“Uiteraard wordt raytracing een ding", begint Khan en in tegenstelling tot zijn eerdere terughoudendheid over dit onderwerp vervolgt hij: "Dat gaan we zeker gebruiken op de next-gensystemen. Ik kan nog niet vertellen of we dat gaan gebruiken voor mooie verlichting of voor andere, interessantere implementaties.” De studio heeft wel al enkele ideeën voor het gebruik van raytracing. Het zou bijvoorbeeld gebruikt kunnen worden voor nieuwe, creatievere toepassingen. Zo kan het gebruikt worden om het eerdergenoemde cullingsysteem te verbeteren. "Of voor betere sound occlusion. Of het doen van traces voor onze kunstmatige intelligentie." Het mag duidelijk zijn dat id Software mogelijkheden ziet voor raytracing. "We willen het gebruiken op een manier die past bij onze games.”

Raytracing Sony PlayStation 5
Id Software wil goed gebruikmaken van de raytracingcapaciteiten van next-genconsoles

Dat wil echter niet zeggen dat id Software de traditionelere gebruiksgevallen van raytracing wil negeren. Zo hoopt de studio af te stappen van 'voorgebakken' verlichting. “We doen onderzoek naar dynamische global illumination”, vertelt Khan. “Daar is al veel goede research naar gedaan, maar we willen er graag onze id-stempel op drukken, zeker als het neerkomt op het gebruik van raytracing daarvoor.”

Dit moet ook de workflow voor de studio zelf verbeteren. “Als een lightingartist een scène moet verlichten en hij hoeft daarbij niet te wachten totdat de bake is gebeurd, dan versnelt dat onze ontwikkeltijd. Daardoor kunnen we betere content in minder tijd maken.” Ook moet dergelijke global illumination de gamewereld 'dynamischer' maken.

id Tech 7 lighting
Id Tech 7 gebruikt nog 'pre-baked lighting', maar daar wil de studio op termijn van afstappen

Verbeterde hardware

Door de verbeterde hardware van de komende platforms kunnen ontwikkelaars ook meer werk aan de gpu toewijzen, vertelt Khan. Daardoor heeft de cpu tijd voor ‘meer coole gameplaydingen’. "Dat zal ons ook helpen met het verminderen van latency. Daar willen we ook op focussen, bijvoorbeeld voor het verlagen van inputlag.”

“Uiteraard krijgen we ook meer videogeheugen tot onze beschikking met de nieuwe platforms.” Dat wordt een grote verbetering, mede doordat raytracing veel videogeheugen vereist ‘als je er interessante dingen mee wilt doen’. “Ik zou graag zien dat 8GB geheugen aan de lage kant is. Ik zou zelfs graag zien dat 16GB aan vram de low-end is op de pc.”

Ssd Sony PlayStation 5
De ssd's van next-genconsoles gaan een enorm verschil maken

Zoals veel andere ontwikkelaars ook al stelden, zullen de nieuwe ssd’s in de komende consoles een groot verschil maken. Zo denkt ook id Software. “Hoe sneller je ssd, hoe meer dingen we kunnen streamen. Dat is belangrijk omdat we dit regelmatig moeten doen. Alembic vereist bijvoorbeeld een enorme hoeveelheid bandbreedte.”

Het schijfgebruik zal dus flink verbeterd worden. “Dat is een gegeven, iedereen zal dat tot op zekere hoogte doen.” Dat zal ook gelden voor de pc. "Pc-gamers moeten zich voorbereiden om snellere ssd's te kopen, want we zullen op dat gebied stappen zetten." Ook foliage is iets wat id Software graag wil verbeteren. Daarmee wordt bijvoorbeeld gedoeld op het simuleren van realistischer gras of realistische bladeren aan bomen. “Het doel is in ieder geval om maximaal gebruik te maken van de hardware."

Doom Eternal en next-gen

In de afgelopen weken gaven ontwikkelaars steeds meer details rondom de upgrades van huidige games voor de volgende generatie consoles. Met dingen als Smart Delivery voor de Xbox Series X kunnen huidige games geüpgraded worden om gebruik te maken van de verbeterde hardware van die console. Ook doen ontwikkelaars hetzelfde voor enkele PS4-games op de PS5. Khan vertelt echter dat hij nog geen stellige uitspraak kan doen over een eventuele patch voor Doom Eternal. Wel vertelt hij: “Doom moet draaien op elk platform en ik denk niet dat we dat ooit zullen veranderen.”

Review Doom Eternal
Doom moet 'op elk platform draaien'

Nintendo Switch, Linux en overige vragen

Doom Eternal op de Nintendo Switch

Momenteel wordt naarstig gewerkt aan een Nintendo Switch-port van Doom Eternal. Panic Button, een studio die vaker games naar deze console overzet, neemt het ontwikkelen van deze port op zich. Hoewel deze versie van de game nog geen concrete releasedatum heeft, staat het spel in de planning voor 2020. Dit is sinds de aankondiging niet veranderd, vertelt Khan. De port komt nog steeds dit jaar uit.

Wel is duidelijk dat de Switch-versie geen 60fps zal halen, vanwege de minder krachtige hardware. "De Switch draait op 30fps. We richten ons op beeldkwaliteit en we willen ervoor zorgen dat het spel vloeiend draait." Daarbij zullen geen functies ontbreken in de game. Functies als Alembic worden volgens de lead engine programmer allemaal overgezet naar de Switch. Het enige dat dus écht verschilt, is de framerate. "Het spel zal elk beetje rekenkracht van de Switch volledig gebruiken."

Doom Eternal op Linux

Doom Eternal heeft momenteel geen native versie voor Linux-systemen. De game draait wel op Stadia, dat gebaseerd is op Linux, en de game kreeg daarvoor een prototype met standaard Ubuntu 18.04, net als Doom (2016). "Momenteel hebben we geen plannen om een native Linux-versie uit te brengen. Wel hebben we ervoor gezorgd dat de game werkt met Wine. Uiteraard zijn we gek op Linux. We gebruiken het in de studio vaak voor servers en zo, maar er zijn dus al manieren om de game te spelen op Linux-systemen."

Doom Eternal Ubuntu 18.04

De Stadia-versie van Doom werd getest op Ubuntu 18.04. Afbeelding via GDC

Dlc voor Doom Eternal

Id Software werkt verder aan dlc voor Doom Eternal. Dit is al langer bekend. Het gaat hierbij om singleplayer-dlc met nieuwe verhaalcontent. "Ik denk dat iedereen moet uitkijken naar de dlc. Ons team doet echt toffe dingen op het gebied van visuals, en het verkennen van nieuwe wegen en gebieden." Over een releasedatum van de dlc durft Khan nog niets te zeggen. Zo is dus nog niet duidelijk of het dlc-pakket nog dit jaar verschijnt. "Ik denk dat we daarover binnenkort meer details hebben. Ik kan daar nog niets over zeggen, maar het is zeker in de maak."

Ook werkt het team aan een gratis update met invasions, zoals eerder genoemd. Na deze update kunnen spelers bij elkaar binnendringen in de singleplayercampagne. "Invasies worden enorm cool om te spelen. Het geeft een nieuwe draai aan de gameplay. Het maakt dat je de campagne opnieuw kunt spelen, maar dan op een heel andere manier." Ook voor deze update is nog geen releaseperiode bekend.

Doom Eternal dlc-screenshotsDoom Eternal dlc-screenshots

De eerste screenshots van de komende singleplayer-dlc voor Doom Eternal. Afbeeldingen via Twitter

Komende games

Khan is zelf ook een gamer. "Op dit moment speel ik bijvoorbeeld Civilization VI als een change of pace. En ik heb onlangs The Last of Us Part II gekocht; ik heb zin om daarin te duiken. Ik moet die game waarschijnlijk wel 's avonds spelen, zodat mijn kinderen al dat geweld niet zien." Ook is Khan momenteel bezig met Red Dead Redemption 2 en heeft hij zin in Cyberpunk 2077. "Ik ben een enorme fan van The Witcher 3, dus ik kan niet wachten om dat spel te spelen."

Ook volgt hij de ontwikkelingen in de game-industrie op de voet. Zeker in de afgelopen maanden is er op dat gebied veel gebeurd. "De dingen die we zagen bij de Unreal Engine 5-onthulling van Sony, waren super indrukwekkend. We zien Epic als leiders in de sector. We vinden het fantastisch om dat soort dingen te zien, omdat het ons motiveert om zelf geweldige dingen te doen. Het levert ons inspiratie."

Ook andere next-gentitels die eraan zitten te komen, zien er indrukwekkend uit, vindt Khan. "De dingen die Insomniac doet met Ratchet & Clank zijn ook prachtig. Het was mooi om de ssd in werking te zien met de teleportatie die daar werd getoond. En de raytracing-implementaties die we op de oppervlakken konden zien, zijn indrukwekkend, vooral op Clank. Spider-Man ziet er fantastisch uit. En uiteraard ook Halo, dat eraan zit te komen."

"We kijken uit naar al die titels. En vanuit onze kant is de game waar Arkane aan werkt, erg opwindend." Hij doelt op Deathloop, dat tijdens het digitale PS5-evenement van Sony werd getoond. "Ik denk dat iedereen opgewonden moet zijn voor de volgende generatie. De herfst wordt fantastisch."

Lees meer

Reacties (96)

Sorteer op:

Weergave:

"Het schijfgebruik zal dus flink verbeterd worden. “Dat is een gegeven, iedereen zal dat tot op zekere hoogte doen.” Dat zal ook gelden voor de pc. "Pc-gamers moeten zich voorbereiden om snellere ssd's te kopen."
Welke ssds hebben pc gamers nodig? PCI Express 4.0 x4 of kan het ook met 3 want het zijn flinke ssds. Next gen PlayStation heeft leessnelheid die minimaal 4000mbs is.
Elke console generatie vallen de developers over elkaar heen om als hardste te roepen hoe geweldig de nieuwe technologie wel niet is. De PS2 ging zogenaamd verboden worden omdat het gebruikt kon worden als supercomputer, de PS3 had de "power of the cell" en ga zo maar door. Je moet in de aanloop van een console te allen tijden de woorden van developers met een gigantische korrel zout nemen. Ze zijn contractueel verboden om iets negatiefs over de producten en/of services van Sony en/of Microsoft te zeggen en worden vaak beloond als ze zich er positief over uitlaten in de pers met als extraatje dat hun eigen product van ook vaak wat extra marketing krijgt. Als de console dan eenmaal gelanceerd is hoor je niets meer over de 'game changers', omdat het elke keer zwaar overdreven wordt.

Je zult daarnaast zien dat de next-gen games over het algemeen tegen gaan vallen qua graphics. Graphics in games hebben diminishing returns. Hoe meer je eruit perst, hoe moelijker het wordt en hetzelfde ga je zien in de komende generatie games, zeker met ray tracing in de mix erbij, iets dat je overigens maar in beperkte mate gaat zien. Full scene ray tracing is een mythe met de PS5/XSX, daarvoor zijn beide consoles gewoonweg nog te zwak en je zult zien dat enkel de player een likje ray tracing krijgt, maar voor de rest vooral nog SSR en BM gebruikt wordt.
Deel van de marketing. PC's lopen al tijden voor qua lees/schrijfsnelheid, nu de next-gen ook toegang gaat krijgen tot (theoretische) PCI 4.0 snelheden is het ineens een ding. Terwijl iedere gamer al een SSD had vanwege laadtijdfrustraties.

Wat alleen vergeten wordt is datde PCI 5.0 standaard vorig jaar is vrijgegeven en analysten verwachten dat de eerste hardware (Intel/AMD) rond 2021 beschikbaar is. Nog lang voordat er weer een nieuwe generatie consoles komen kan de PC hardware ook op dit vlak weer flink vooruit gaan lopen.
In dat geval moet je maar deze eens kijken:
https://www.youtube.com/watch?v=4ehDRCE1Z38
Zeker nuttig om te kijken voor degenen die het beter willen snappen. Mijn punt blijft staan, console features die nu de hemel ingeprezen worden zullen in de nabije toekomst ook naar de PC komen, zeker binnen de gebruikelijke console life cycle van 7-8 jaar.

Ik zie dit overigens alleen maar als een voordeel voor gamers.
Wat je niet schijnt te beseffen is dat het in het verleden net andersom was en een gemiddelde gaming rig voorliep op de console.

[Reactie gewijzigd door Elefant op 22 juli 2024 19:16]

Wat ook goed is om te weten is dat op de PC tussen een normale SATA SSD met fatsoenlijke random r/w en een turbo PCI-E SSD, er zelfs bij de meest veeleisende spellen op 4k met hoge resolutie textures geen verschil te merken is.
Ik schat dat het voornamelijk gaat om de bijna instantane random reads van SSDs (tov een HDD) en dat je dus met elke SSD wel goed zit.
Ik hoop dat m'n 32GB ram voldoende buffer is om toe te kunnen met een "langzame" 3GB/s ssd.
ik vraag me af of zo een speaker (audio source location) in een game engine, ook een raytracing kan doen voor audio, zodra een ray een gebruiker detecteert om te berekenen wat die gebruiker dan en van welke directie het zou moeten horen en welke reflecties bv voor een dieper, voller ruimtelijk effect. etc.
Ray tracing toepassen op geluid is juist vanuit de theorie weer raar, geluid gedraagt zich (volledig) als golven. Interferentie is van veel grotere impact op geluid dan reflectie, het deel waar RT voor toegepast wordt.
Ik ben wel benieuwd hoe DICE dit in Battlefield doet, want dat geluid is echt subliem. Dat is (of was) namelijk zonder ray tracing.
"Momenteel hebben we geen plannen om een native Linux-versie uit te brengen. Wel hebben we ervoor gezorgd dat de game werkt met Wine. Uiteraard zijn we gek op Linux. We gebruiken het in de studio vaak voor servers en zo, maar er zijn dus al manieren om de game te spelen op Linux-systemen."
Helaas wordt dit nu als excuus gebruikt. Het werkt, maar het is suboptimaal om Windows als het leidende besturingssysteem te blijven gebruiken in plaats van onafhankelijke ontwikkeling af te dwingen.
Daar kan ik nog wel overheen komen. Wat mij echt steekt als langdurige Id Software fan, is dat ze gestopt zijn met GPL releases. Oude games zoals Doom en Quake draaien als een zonnetje op elke hardware die je ze voorzet? Exotische homebrew BSD? Grafische rekenmachine? IoT koffiezet apparaat... allemaal draaien ze Doom 1993.

Dat ze de code niet meer openbaar maken na zoveel jaren betekend dus ook dat er een soort van historische schism is gekomen. Je hebt in de toekomst de oude games die je nog kunt spelen zoals ze oorspronkelijk waren, en je hebt dan een stuk of wat Id games die alleen maar te verkrijgen zijn als Remastered Re-Release editie, met 50% meer micro-transactions, 30% meer censuur, en 100% minder eigendomsrecht.

Ik heb Doom 2016 op Linux gewoon draaien, en ik speel hem af en toe nog wel, maar Doom Eternal heb ik afgehouden omdat de liefde voor de studio een beetje is vervaagd. Het feit dat ze geen Linux builds meer on-officeel uitbrengen zoal in het verleden, geeft mij ook wel het vermoeden dat die code ook nooit meer gedeeld gaat worden.

PS. ben een Linux Package maintainer dus ik spreek hier uit ervaring, oude Id titels zijn de eerste krenten in de pap die je toevoegt aan jouw distributie systeem :D
Wij maken video switchers voor studios die draaien op iets van Linux, wil d'r altijd al een keertje Doom op compileren :+
Ow, Doom comileren is een eitje, zal je even een korte uitleg geven :D

- Download een community versie. Voor iets eenvoudigs raad ik Crispy Doom aan: https://github.com/fabiangreffrath/crispy-doom.git
- $ autoreconf -fiv
- $ ./configure
- $ make

Doom binaries zijn ook super eenvoudig, dus je kunt het eventueel op je werkstation compileren en vervolgens de de ELF copy-pasten naar de video switch.

Het enige wat je dan nog nodig hebt, is de art assets. Deze kun je kopen op GOG of je gebruikt FreeDoom, een asset-compatible FLOSS versie.
Cool! Ik heb er zelf helaas weinig verstand van, maar draait dat dan op alle CPU's? Wij werken namelijk met Altera Cyclone FPGA's, dus geen x86...
Eerste indruk, ow, spannend 8-)

Doom en Autotools werken op ARM dus je zou in theorie met de zelfde commando's ook voor ARM kunnen compileren. Ik beheer onder andere de GZDoom package op Flathub, welke zowel x64 als ARM ondersteund.

Als ik kijk bij de Flathub voor Crispy Doom, dan heb ik er goed vertrouwen in dat hij op ARM werkt. Hier kun je de build-logs inzien, zodat je meteen kunt checken wat er onder de motorkap gebeurd:
https://flathub.org/build...thub.fabiangreffrath.Doom
Precies. Er draait ook gewoon een desktop manager op, dus in theorie moet het gewoon lukken. Eens kijken of ik volgende week een uurtje vrij kan maken 8)
In dat geval, probeer eens Flatpak te installeren. Als dat lukt, dan kun je met een enkele druk op de knop Doom draaien ;)

https://www.flathub.org/home
Het draait echt op de meest gekke dingen: https://www.reddit.com/r/itrunsdoom/

Uiteraard werkt het ook met de Altera Cyclone: https://www.google.com/am...-chip-fpga-173503758.html
Er staat toch nog /amp/ in je link.
is een redirect. Zolang je de 'google.com' eraf knipt zit je goed.
100% met jou eens.

Doom 2016 was geweldig, maar ik heb er veel minder tijd in gestopt dan in de originele Doom of Quake. 2016 heeft zeer weinig replay value als je geen highscore-hunter bent in de arcade mode.

Community mods en maps zijn ongekend goed en gevarieerd. Het doet me echt pijn dat iD software die zijde van hun fanbase tegenwoordig compleet aan de kant heeft gezet en dat is ook de reden dat ik Eternal heb laten liggen ;(
Ik speel elk jaar nog wel eens Plutonia 1 en 2 uit... schitterend ontworpen en super goede gameplay. Een maps zoals Lurking Fear (PL2, map20) en Arch-Violence (PL2, map11) zijn zo strak en ritmisch dat menig ontwerper daar nog een puntje aan kan zuigen.

De technische eenvoud van Doom, geeft het spel ook zo'n lange levensduur, maps en mods. Je kunt met beperkte technische kennis toch een map of mod voor Doom maken, terwijl je in bijvoorbeeld Unreal veel meer kennis en skills nodig hebt voordat je een half degelijk deathmatch level hebt gebouwd. Het helpt ook met onderhouden. Ik kan met een beetje moeite wat extra functionaliteit toevoegen aan een bestaande game zoals Doom 1993, terwijl je een leger van programmeurs nodig hebt om in Doom 2019 de gameplay te programmeren.

Community Modding en Mapping is niet dood. Het is vooral dat bij nieuwe games, de tijds-investing te groot is. Het is niet meer realistisch om met drie vrijwilligers iets moois te maken in 9 maanden tijd. Beter dan dat je met 3 man, 9 maanden gaat werken aan een indie game.
Het marktaandeel van Windows kan er natuurlijk ook iets mee te maken hebben ;-)
Dat is natuurlijk een motivatie, ook al lijkt het aandeel langzaam te stijgen. Tegelijkertijd ga je dat marktaandeel niet verkleinen door alles primair voor Windows te ontwikkelen.

Het is goed om meerdere besturingssystemen te ondersteunen, om zo minder afhankelijk te zijn van een enkele partij (Microsoft).
Dit ligt natuurlijk aan de context waarin je het bekijkt. Wanneer je voor twee systemen moet ontwikkelen die ieder een eigen aanpak vergen is het voor een bedrijf helemaal niet zo interessant om voor meerdere systemen te ontwikkelen. Uiteindelijk wil je een product afleveren wat maximale opbrengst heeft tegen minimale kosten. Dat zal niet zomaar gaan als je twee verschillende manieren van werken erop na moet houden. Daarbij is het stijgende aandeel natuurlijk peanuts op de grote berg.

Voor de toekomst ben ik het met je eens dat concurrentie goed is, maar voor game makers is dat niet per definitie het geval. Daarbij twijfel ik of Linux ooit een echte concurrent kan worden door zijn opzet.
Dit ligt natuurlijk aan de context waarin je het bekijkt. Wanneer je voor twee systemen moet ontwikkelen die ieder een eigen aanpak vergen is het voor een bedrijf helemaal niet zo interessant om voor meerdere systemen te ontwikkelen.
Maar dat 'moet' niet. Veel technieken zijn onderling uitwisselbaar.
Als je ver genoeg uitzoomt dan lijkt een peer ook op een appel natuurlijk. Het probleem zit hem juist in de kleine verschillen, de afweging die vele studio's moeten maken is extra effort stoppen in een marginaal deel van het eindproduct.

En vergeet niet dat als je het als nog probeert en niet volledig succesvol bent je de wind van voren krijgt van de communitie.
Ja maar een dev moet dan maar net weten dat dat zo is.. en weten hoe of wat.

Tenzij je op een of andere magische manier devs hebt die evenveel van windows development weten als ook linux development ga je krijgen dat voor élke 'techniek' een vertaal slag gemaakt moet worden.
En zoeken naar soortgelijke functionaliteit op een ander platform en deze implementeren met de verschillende settings etc. die dat teweeg brengt is vaak complexer dan het geheel van de grond af aan op dat andere platform produceren.

Tenzij er magische '1 op 1' vertaalmachines bestaan kost het dus gewoon meer dan 2x ontwikkeltijd.

Ik ben geen game-engine developer maar ik heb wel genoeg met verschillende 'platformen' gewerkt om te weten dat het vaak meer tijd kost om vergelijkbare functionaliteit te zoeken op platform B die je gewent bent op platform A dan wanneer je gewoon direct op platform B iets produceert (en kennis hebt van platform B).

Stel op platform A heb je enkel hout van bepaalde afmetingen en (philipskop) schroeven tot je beschikking van bepaalde lengte. Je ontwerpt vervolgens je tafel rekening houdend met deze tools en wat dat betekent voor waar je die schroeven gebruikt om de tafel onderdelen vast te maken aan elkaar.
Vervolgens wil je diezelfde tafel 'porten' naar platform B.. maar daar heb je ineens geen philipskop schroeven maar alleen spijkers (van een andere lengte) en houtlijm tot je beschikking.
Prima voldoende om een zelfde tafel mee te kunnen produceren maar je kunt niet zomaar 'hier zit een schroef, dus die vervang ik nu met een spijker' 1 op 1 vertaling maken en je zult dus in feite je hele ontwerp 'opnieuw' moeten maken.

érg ruwe analogie, ik weet het, maar dit soort dingen kom je (ik iig) best vaak tegen.

[Reactie gewijzigd door Ayporos op 22 juli 2024 19:16]

Een van de grote issues waar je als developer tegenaan kunt lopen op Linux is dat de verschillen tussen distro's soms bijzonder groot kunnen zijn. Ookal gebruiken ze meestal vergelijkbare WM, X11 of Wayland. Drivers voor spellen zijn ook niet zo volwassen als op Windows, want de focus ligt er niet. Zaken als Nvidia Optimus en de AMD tegenhanger werken ook eigenlijk niet onder Linux en als je die wel aan de praat krijgt, dan is de performance minder en de stabiliteit is helemaal droevig. Of je levert flinke batterijduur in. Ook onder steamOS zijn er de nodige uitdagingen. Natuurlijk zijn er uitzonderingen die wel uit de doos goed werken, maar vaak met gigantische inspanningen van vrijwilligers en ontwikkelaars van te voren.
Tegelijkertijd ga je dat marktaandeel niet verkleinen door alles primair voor Windows te ontwikkelen.
Die verantwoordelijkheid ligt toch ook helemaal niet bij game-ontwikkelaars? Die willen met hun game klanten bereiken en dat gaat het efficiëntst op Windows (als we ons beperken tot desktop). Kun je wel voor twee platformen gaan ontwikkelen, maar dat resulteert er op z'n hoogst in dat iemand van het een naar het ander verhuist en je dus met meer moeite en geld dezelfde klanten bereikt.

[Reactie gewijzigd door vickypollard op 22 juli 2024 19:16]

Precies, en met die reden is ooit ook DirectX in het leven geroepen en daarmee de windows pc een echt gaming device geworden.
Maar ze ontwikkelen de engine ook voor andere platformen zoals de Switch en de PS5 (Xbox is Windows zonder de schil dus die reken ik niet mee). Ik vermoed dat het verschil tussen Windows en Linux niet groter is dan het verschil met de Switch, bijvoorbeeld.

De reden dat het met Wine/Proton prima werkt, is dat er sowieso weinig kernel calls gedaan worden. De engine bestaat voor 99% uit logica en grafische API calls die op elk platform hetzelfde zijn zolang het Vulkan ondersteunt.
"Tegelijkertijd ga je dat marktaandeel niet verkleinen door alles primair voor Windows te ontwikkelen."

Dat verkleinen is toch niet de taak van de software ontwikkelaars? Dat is aan de OS bouwers en de gebruikers
Is het een excuus? Het is gewoon een valide reden. Het marktaandeel is minuscuul, dus ben je eigenlijk veel werk en tijd en geld kwijt aan een ontzettend kleine markt. Een markt die zelf ook prima weet hoe een dual boot werkt.
Helaas wordt dit nu als excuus gebruikt. Het werkt, maar het is suboptimaal om Windows als het leidende besturingssysteem te blijven gebruiken in plaats van onafhankelijke ontwikkeling af te dwingen.
De eeuwige discussie: Wat is beter, native Linux games maar niet zo veel, of Playable-on-Linux games en heel veel.

Beide hebben hun plus- en minpunten. Voor mij is het simpel: Ik ben een pragmatist: Het liefst zoveel mogelijk native Linux games, maar ik heb geen enkele moeite met Playable-on-Linux games. En als die ervoor zorgen dat praktisch alle spellen die ik wil 'gewoon' op Linux werken, dan ben ik blij.
Ik ben er zeer tevreden mee. Je moet realistisch zijn en deze geste vind ik al veel waard.
Ik wist niet dat je "id software" als "it software" uitspreekt. Ik sprak het altijd als "I. D. software" uit :)

Wat ik mij wel afvraag:
• Waarom een eigen engine nog ontwikkelen, terwijl ze dit bijna praktisch voor één spel doen?
• Gaan ze nog steeds hun engines na een tijd als open source vrijgeven? Toen John Carmack nog in de lead was werkte bijvoorbeeld Doom 3 op Linux, en de engine is vrijgegeven als open-source (na een tijd). Idem voor de quake engine.
Ze ontwikkelen hun engine die ook wordt gebruikt door andere bedrijven die vallen onder Zenimax Media. Wolfenstein 2, Wolfenstein Youngblood, Wolfenstein Cyberpilot en Doom VFR draaide bijvoorbeeld op een verbeterde versie van idTech 6. Dishonered 2 draaide op een bijgewerkte versie van idTech 5. Dus ik verwacht dat Wolfenstein 3 gemaakt zal worden met idTech 7. Dus dat maakt het misschien wel de moeite waard om zelf een engine te ontwikkelen. Vooral als je kijkt naar de kosten die je bespaart als je geen geld hoeft uit te geven aan een engine-licentie... Plus, natuurlijk heeft id op deze manier zelf in de hand wat ze willen met de engine, zodat ze de engine kunnen aanpassen aan wat ze willen i.p.v. andersom.
Het grote unreal engine 4 is ook niet heilig, de meeste ue4 games zitten vol met texture streaming of frame pacing issues, iets waar de custom engines geen last van hadden.
Ik wist niet dat je "id software" als "it software" uitspreekt. Ik sprak het altijd als "I. D. software" uit :)
Hmmm nee hoor.. Volgens mij spreek je het nog altijd met een d in plaats van t, dus id, niet it. Zoals je ad rem uitspreekt maar dan a = i. Het is vernoemd naar een deel van je psyche, je geest.

"The part of the mind in which innate instinctive impulses and primary processes are manifest."
https://en.wikipedia.org/wiki/Id,_ego_and_super-ego#Id
Id's oude logo intro: https://www.youtube.com/watch?v=4DJoPN8Jvao

[Reactie gewijzigd door Armselig op 22 juli 2024 19:16]

(Hoe) werkt culling samen met ray tracing?

Want het hele ding van ray tracing is dat het zichtbaar maakt wanneer een glanzende achterkant van een voorwerp licht weerkaatst? Maar die weerkaatsing zal onrealistisch zijn als door culling alle achterkanten platte vlakken zijn.
Realtime raytracing in huidige vorm is max 1 of 2 bounces, dus een groot deel van wat niet direct zichtbaar is, zal ook weinig invloed hebben op het beeld.

Daarnaast leeft de ray-tracer "buiten" de renderer, en zitten geculde objecten (die wel bestaan, maar niet door de renderer worden getoont) samen met de rest van de scene (en textures) nog gewoon in het video-geheugen, waar de ray-tracer nog steeds colour samples van objecten uit kan halen.

[Reactie gewijzigd door SirNobax op 22 juli 2024 19:16]

Occlusion zal nu bijvoorbeeld niet goed kunnen bepalen dat surfaces zo goed als niets bijdragen vanwege de verlichting in de omgeving, ondanks dat ze nominaal "zichtbaar" zijn volgens de andere heuristieken. Als je door het schieten van rays kunt bepalen dat een surface niet (noemenswaardig) bijdraagt aan een scene kun je die surface uit je lijst schrappen, of reduceren tot een simpelere polygoonvorm die nog steeds hetzelfde bijdraagt (zeker als het alleen maar diffuus weerkaatst). Dit laatste kan dan zelfs als het object in principe volledig zichtbaar is volgens occlusion (zeg maar een sterk verbeterde versie van wat ze nu doen met microtriangles weglaten).

[Reactie gewijzigd door MneoreJ op 22 juli 2024 19:16]

Culling kan toch in andere vorm worden toegepast? Stel zonder culling heb je view distance tot 100 (als voorbeeld) in een cirkel om je heen. Stel FOV is 120 graden.

Je kan spelen met:
× view distance, culling tot 30& van max view buiten FOV (+ marges).
× high/mid/low res models, altijd cullen van high, mid cullen vanaf afstand x

De reflecties die nu met raytracing gemaakt worden zijn nog niet van het detailniveau dat je in een reflectie verschil ziet tussen een low-poly en high-poly model.
60fps is het minimum voor ons op alle platformen en ervaringen!

En de switch versie?

Owja die draait op 30fps...
De switch heeft gewoon hele matige hardware, zeker ten opzichte van de andere consoles. Dat is prima want zorgt voor meer focus op gameplay, maar grafisch zijn ze gewoon niet top.
Sowieso is dit er eentje van eerst zien, dan geloven.
Lees dit ook maar eens: https://www.eurogamer.net...-stay-for-next-gen-gaming
toch niet verwonderlijk... op een rekenmachine Doom Eternal draaien gaat toch ook niet vooruit te branden zijn...

Nintendo hardware is toch altijd al niet HET geweest. Zij kiezen voor leuke spelervaring, en dat hoeft volgens hen dan niet de nieuwste GFX te hebben...

Is een keuze als een ander, ben er geen fan van, maar het komt dan toch ook niet meer als verrassing aan.
licht het aan mij of liggen ze mijlen ver achter als ik de dingen bekijk die zij noemen en hoe het er allemaal uitziet als je vergelijkt met Unreal 4 engine.
Laat maar eens een Unreal 4 game zien die hetzelfde voor elkaar tovert met 60 fps op bijvoorbeeld de huidige consoles.
Gears 5 is het beste voorbeeld
Die ziet er inderdaad prima uit, maar een zwaluw maakt nog geen zomer ;) Overigens vind ik Doom Eternal er weinig voor onderdoen, beide games hebben duidelijk andere prioriteiten. Je kan overigens nog discussiëren over het gebruik van dynamische resoluties en hoe stabiel alles draait. Maar het belangrijkste is dat de technologie zich blijft doorontwikkelen, dus het is alleen maar mooi dat er wat concurrentie is.
Ik had er in een ander bericht onder dit artikel er ook al over dat unreal engine 4 op console niet zo heilig is als iedereen denkt.
Mooi artikel waar veel tijd in is gestoken :) Wel jammer dat deze video ruim 3.5 maanden na release wordt gemaakt. Digital Foundry heeft bij de release van Doom Eternal ook met de developers gepraat en een video gemaakt met bijna dezelfde informatie als in dit artikel: https://www.youtube.com/watch?v=UsmqWSZpgJY

De game zelf en IdTech 7 ziet er goed uit, maar het viel me op dat de game je gewoon dood laat gaan (edit: je respawnt met ietsje minder hp/armor) als je probeert een short-cut te nemen in een level. Misschien om je te pushen richting hoe zij willen dat je het level aanpakt of misschien omdat dat deel van het level nog niet geladen is? Iets wat me helaas wel wat meer irriteerde was het vele gebruik van invisible walls; geef me a.u.b. gewoon vrijheid in de gamewereld.

Daarnaast, en dit heeft niks met de engine te maken, vond ik de platforming in het spel af en toe net ietsje teveel. Daarnaast voelde het in Doom 2016 altijd als onderdeel van de wereld. In Doom Eternal voelt het af en toe te geforceerd, minder natuurlijk en dus "more gamy". Maar aangezien dit ook een game is, kun je je afvragen hoe erg dit werkelijk is :)

[Reactie gewijzigd door mrtnptrs op 22 juli 2024 19:16]

Je gaat niet echt dood, je verliest een x aantal hp/armor, anders zou ultra nightmare of hoe het ook heet een letterlijke nachtmerrie worden :D Maar helemaal eens, het voelde heel raar aan, maar dat komt juist omdat ze je tegelijkertijd pushen om te exploren voor meer dan alleen maar optional collectibles. Vind het niet nodig om in een high-paced shooter content te gaten achter platforming. Staat volgens mij helemaal los van de engine als ik hem zo hoor praten, gewoon puur level design.

Persoonlijk? In een game als deze, hou het lekker lineair en plaats de details in de combat arena's. Ik heb regelmatig even stil gestaan om goed te kijken en de scenes op te nemen, het is een schitterende game ook in art direction. De game is high-paced, close combat, heel tactisch en dat gaat lastig in een open world.

Ik kon me er niet zo aan storen omdat de rest zo solide was. Ben wel wat biased, enige game in jaren waar ik naar uit keek en waarschijnlijk de enige die ik 2x achter elkaar heb uitgespeeld. Dus dat platforming maakt de 10 dan meer een 9-9,5 :)
Ze doen nu net alsof dit allemaal nieuw is terwijl deze rekenkracht en mogelijkheden al jaren beschikbaar zijn op de PC. Het is overduidelijk dat de consoles continue vooruitgang in de weg zit. Rekenkracht op de PC wordt amper benut, games zijn vaak slechte console ports met wat extra grafische opties etc. Het is gewoon jammer dat er niet dedicated voor de PC wordt ontwikkeld. Dan was het hele verhaal wat ze hier vertellen allang werkelijkheid. Ze zijn overduidelijk afhankelijk van de capaciteiten van de consoles. En dat is ook logisch.
Tja, je technologie moet schaalbaar zijn en werken op de gemene deler. Het blijft natuurlijk een commerciële afweging die je moet maken :) Je kan het ook positief bekijken: Men probeert door het gebrek aan krachtige hardware wel het onderste uit de kan te halen. Er zullen genoeg developers zijn die denken "tja, investeer maar in een nieuwe GPU/CPU".
Ik mag toch hopen dat Vulkan de standaard gaat worden. Als je kijkt hoe Doom 2016 en Eternal er uit zien en hoe goed ze draaien... zeer indrukwekkend!

Op dit item kan niet meer gereageerd worden.