Techdemo van PUBG-bedenker genereert wereld in real time via machinelearning

PlayerUnknown Productions, de studio van PUBG-bedenker Brendan Greene, heeft Preface: Undiscovered World uitgebracht op Steam. Deze gratis techdemo maakt naar eigen zeggen gebruik van machinelearning om in real time een wereld te genereren op de gpu van spelers.

De ontwikkelaar schrijft op de Steam-pagina van Preface: Undiscovered World dat de demo gebruikmaakt van de Melba-engine. Die zet machinelearning in om in real time een wereld te generen op schaal van de aarde met verschillende biomen. Het Undiscovered-gedeelte van de naam verwijst naar de delen van de wereld die niet zijn 'ontdekt', ofwel gegenereerd, zolang de speler er nog niet is geweest.

De mogelijkheden van Preface zijn voorlopig beperkt. De techdemo is vooral bedoeld om feedback te verzamelen van spelers. Op de korte termijn zijn er plannen om meer biomen en verbeterde grafische effecten toe te voegen. Volgens de roadmap start de studio nu met het ontwikkelen van verschillende features, waaronder functionaliteit die voorkomt dat spelers door objecten kunnen bewegen. Volgens Brendan Greene zal het nog vijf tot tien jaar duren voordat de engine klaar is.

Door Idriz Velghe

Redacteur

06-12-2024 • 16:27

35

Reacties (35)

35
35
24
2
1
9
Wijzig sortering
Saillant detail: dit is een product van Nederlandse bodem, gevestigd in Amsterdam!

Dat weet ik omdat ik er werk :)

Op onze website (https://playerunknownproductions.net/) worden delen van de techniek en processen uitgelicht in blogs, waarbij we continu dingen toevoegen.

Op Discord doen we met regelmaat Q&A sessies om het verder toe te lichten, zo ook eerder vanavond.
We streven daarbij om open te zijn, om samen met de community de techniek en concepten zo goed mogelijk tot wasdom te brengen.

Preface is daar het eerste voorbeeld van, het is een heel prille tech demo die bedoeld is om feedback te verzamelen. Op het eerste gezicht misschien niet zo indrukwekkend, maar het is een begin, niet een eindproduct.

Vraag maar raak!
Een vraag die bij mij opkomt is wat je met AI anders doet dan bijvoorbeeld met rng bepalen wat in een map moet komen en van daaruit voortborduren met rng op detail werk.
Goede vraag @jeroentb!
Met bestaande procedurele technieken en RNG kun je een heel eind komen, maar uiteindelijk is er een limiet aan wat we kunnen verzinnen als mens. Je kunt bijvoorbeeld proberen de manier waarop bergen en landschappen gevormd worden te imiteren, maar daar komen in de werkelijkheid zoveel ingewikkelde factoren bij kijken dat we er als mens niet meer bij kunnen.
Een machine learning algoritme getraind op data van planeet aarde kan in theorie veel meer complexiteit bevatten, en dat bovendien op een relatief efficiente manier toepassen. Zo kunnen we de wereld genereren tijdens het spelen.
Daarbij maken we overigens nogsteeds gebruik van procedurele technieken om de ML resultaten aan te vullen. ML is geen doel an sich.
Het nadeel van ML is dat het grotendeels een zwarte doos is. Je hebt veel minder controle over het resultaat, en het idee dat je een wereld of plaats op die wereld van te voren kunt ontwerpen is niet meer van toepassing. We proberen wel bepaalde parameters toe te voegen aan het algoritme waarmee we kunnen tweaken, maar ook dan is het maar zien wat het resultaat wordt.
Vandaar de sub-titel 'undiscovered world' - we weten niet wat er allemaal te zien is totdat iemand er heen gaat en het genereert!
Is dit een volledig eigen engine? Of gebouwd op Unreal?

Ik werk in simulatie voor self-driving en wij doen veel met proceduralism, maar zitten ook steeds meer naar ML te kijken voor geleerde distributies en andere representaties.

Mooi werk man :)
Hoi freaq,
Dank je!
Melba (de engine) is een volledig eigen engine. Dat is nodig omdat de schaal en dynamiek die wij ambiëren niet overeenkomt met die van bestaande engines als Unreal of Unity.
We zijn ook bezig met een game in Unreal die dezelfde ML technieken gebruikt maar focussed op een kleinere schaal met meer detail, zodat we het probleem van 2 kanten benaderen.
De lessen van beide zouden moeten leiden tot de uiteindelijke visie: een volledig gesimuleerde planeet met op ieder niveau relevante simulatie.
Hi Leon! Ik ben een PUBG speler sinds de pre-alpha periode dus alles wat PlayerUnknown aanraakt heeft bij mij al een streepje voor. Zijn er plannen om op korte termijn wat God Mode functies toe te voegen in de tech demo? Het is nu echt te veel walking sim omdat er geen tools beschikbaar zijn om snel ergens heen te vliegen, custom spawn locaties te kiezen. Waardoor het soms heel droog en leeg aanvoelt. De tech is gaaf! Maar had graag wat toevoegingen gezien om de sandbox omgeving wat meer sandbox aan te laten voelen.
Zeer terechte opmerking.
We hebben intern wel de mogelijkheid om rond te vliegen, maar besloten dit (nog) niet vrij te geven omdat het er simpelweg nog niet best uit ziet. Het run-time genereren en renderen van een enorme wereld is erg zwaar, en als je snel rond kunt reizen ga je dat erg merken.
Daarbij moet ik benadrukken dat de techdemo een begin is, niet een eindproduct.
Het is echt heel erg pril, een van de eerste dingen die we konden delen.
Verwacht dus in de toekomst dat we hard aan de generatie & render snelheid gaan werken, en hopelijk geeft dat de ruimte om snellere reismiddelen toe te voegen.
De droogte en leegte is daar ook een voorbeeld van - we hebben nog niet zoveel assets en biomes en de landschappen zijn nog redelijk primitief - dit gaan we verder uitwerken.
Wat leuk om te horen dat je bij Player Unknown Productions werkt! Hier zijn een paar vragen die ik heb:

1. Wat is het meest uitdagende aspect geweest bij het ontwikkelen van Preface? Ik ben benieuwd naar de technische of conceptuele hindernissen die jullie zijn tegengekomen.

2. Wat zijn de langetermijnplannen voor Preface? Is het de bedoeling om het uit te breiden tot een volledige game, of dient het meer als een testbed voor nieuwe technologieën?

3. Welke technologische innovaties of unieke features worden met Preface geïntroduceerd? Ik zou graag meer willen weten over de technische aspecten die Preface onderscheiden van andere projecten.

4. Hoe beïnvloedt de feedback van de community de richting van de ontwikkeling?Hebben er al specifieke aanpassingen plaatsgevonden op basis van community feedback?

Ik kijk uit naar je antwoorden!
Hoi PacinaAllstars,

Goeie vragen!
1. Dat zijn er legio. Een is dat veel standaard technieken en processen voor het ontwikkelen van games niet werken. Traditioneel bestaat een game uit een van te voren gedefinieerde wereld met een beperkte grootte, waar zowel tech, art en design allerlei trucs kunnen gebruiken om de ervaring en de performance in de juiste banen te leiden.
Bij ons is alles run-time gegenereerd en kunnen we weinig van te voren optimaliseren ('baken') of handmatig tweaken. Alles is dynamisch.
Tel daar de schaal bij op dan kom je op het punt aan dat bestaande engines niet meer aansluiten.
Tevens genereren we alles op de GPU met ML, daarvoor hebben we techniek moeten ontwikkelen die op alle videokaarten werkt en een pipeline moeten maken die selectief data naar de CPU stuurt om verdere simulatie mee te doen, zoals audio, physics, etc.
Uiteraard is het maken van een ML algortime dat een wereld real-time kan generen ook een enorme uitdaging.
Aanverwant is de vraag hoe je uberhaupt zo'n wereld nog kunt designen. Een level designer kan alleen aan hendels van het ML algoritme zitten.
Dat zijn uitdagingen die we met zowel Preface als Prologue (Unreal game) proberen aan te gaan. We hebben op veel dingen nog geen sluitend antwoord!

2. Zie ook onze website - het plan voor Preface is vooral om vanuit de techniek problemen op te lossen en kansen te pakken die door de spelers worden aangekaart. Het is ook voor ons een ontdekkingsreis. We proberen Preface geen game te noemen, omdat dat de verkeerde verwachtingen wekt.
Preface is de voorloper van Artemis - de lange termijn visie. Dat wordt een volwaardige game.

3. Preface introduceert het real-time genereren van een wereld op de GPU middels ML, die werkt op alle grote video kaart merken. Qua rendering gebruiken we de nieuwste technieken (al moet er nog veel gedaan worden, uiteraard) en aan de CPU kant is alles gebaseerd op een ECS architectuur.
In principe gebruiken we traditionele technieken maar het grote verschil is de schaal, dat alles dynamisch is en tijdens run-time wordt gegenereerd.

4. De community helpt ons aangeven waar de pijnpunten en de kansen liggen. Ze is een graad meter over de directie die we op gaan.
Het doel voor Artemis is om een simulatie te zijn waar spelers zelf kunnen doen wat ze willen, met 'systemische' gameplay die aansluit op de simulatie van de wereld. Wij bepalen niet wat de ervaring zou moeten zijn, dat is een combinatie van het ML algoritme, de simulatie, en de creativiteit van de speler. We willen dus inspelen op wat daar uit komt, in plaats van een ervaring forceren wat wij denken dat het moet zijn.
Daarbij proberen we zo open mogelijk te zijn, zowel qua communicatie als software. Open source staat hoog in het vaandel en we staan modden zo min mogelijk in de weg. Wat dat verder betekent moet de toekomst uitwijzen - ik kan niet te ver op dingen vooruit lopen.

edit: typo's, aanvulling

[Reactie gewijzigd door leon001 op 8 december 2024 12:42]

Het zou pas gaaf zijn als ze AI gebruiken om de wereld te renderen op basis van goigle maps en de live feeds daarvan.

Je dropped een vlag op de aarde en de multiplayer map genereerd op basis van photos, gps en map data.
Zie ik ook wel wat in! alleen dan worden alle insides van gebouwen niks meer dan een lege zaal ben ik bang :P
Of de optie die je voorsteld maar dan als een Voxel world? Totaal vernietigbaar met je teammates?
Funda plattegrondgegevens gebruiken 😂
Dat is zo'n beetje wat Flight Simulator 2024 doet. Erg indrukwekkend.
Ik heb zowel de videos als screenshots bekeken maar de meerwaarde van deze aanpak is me totaal niet duidelijk. Wat willekeurig geplaatste bomen en rotsen op een heightmap heb je geen machine learning voor nodig. Starfield is heel wat mooier dan dit.
De meerwaarde is prototyping, mee experimenteren, niet stilzetten en investeerders trekken. Met het online zetten is het vanuit development-kant afgerond en kunnen ze weer focussen op het reguliere product.
Tja, maar moet dat experimenteren in het openbaar, en zelfs op Steam? Misschien dat investeerders enthusiast worden van de woorden "machine learning", maar ik zie vooralsnog weinig potentie. Er zijn legio voorbeelden van procedurele generatie met betere resultaten. Ook op deze schaal.
1 vd eerste dingen wat ze zeggen is dat de schaal unieke stukje hierin is.

Ik ken weinig, misschien wel geen, games die op deze schaal iets leuks neerzetten dus zie de potentie zeker. Maar als ze nu nog beginnen met zakken als het detecteren van aanrakingen dan gaat het, zoals ze zelf al zeggen, nog wel minimaal 5 jaar duren voordat het daadwerkelijk voor een game ingezet kan worden
Gave ontwikkeling! Alleen wat zou het verschil zijn tussen dit en zoals minecraft het doet met seeds??
Je kunt het ook om draaien dit heeft een enorm nadeel omdat je nooit kunt debuggen je kunt immer nooit de zelfde wereld nog maals genereren
Dat weet ik niet zo. Voor hetzelfde geld kunnen ze wel effectief alles terug spelen. Plus als men vaak de feedback krijgt: die bomen staan ondersteboven of lijken niet echt dan moet toch naar dat eens gekeken worden. Vergeet niet dat zulke zaken een stukje AI hebben en dan nog heeeeel veel code er rond of zelfs alignment zaken. Waar alignment hier dan niet kan zijn zorgen dat een ai geen zaken genereert zoals kinderporno, maar wel voorkomen van genereren wat de meeste mensen niet interessant vinden, of lelijk of...
De rede van seeds en debuggen is zodat je dan elke bug situatie kunt bekijken

Ik ben wel eens gevragen of ik hier bij ons aan wou bijdragen. Staan dus duizenden machines werelden te genereren en dan players rond laten lopen en kijken waar ze vast komen te zitten. Als dat gebeurd moet die situatie bekeken worden waarom de generation een clipbug of vastzit bug genereerd.
Wat is er mis met je rng met dezelfde seed te starten?
Die snap ik even niet kunt je dat toe lichten.

Ik geeft juist aan dat het op een andere pc met seed kunnen genereren je een debug optie geeft.

Klant klaagt jij vraagt seed +coordinaten zodat je zelf kunt nabootsen .

Bij AI gen kan dit niet en zul je dus de wereld moeten uploaden of mee kijken met klant.
Hier kan toch nooit een Meta in ontstaan, dat berust meestal op map-kennis.
Lijkt me dat ontdekte delen vd wereld niet veranderen en dus gekend kunnen worden.
Minecraft heeft toch ook een meta?
Ben eigenlijk wel benieuwd naar wat dit gaat brengen.
Kan een interessante opstap zijn naar meer in bijvoorbeeld survival games.
Nee, eigenlijk totaal niet interessant. Minecraft heeft al werelden die gegenereerd worden.

Of dat door A.I of door een ander algoritme gemaakt wordt, zal in veel spellen helemaal niets uit maken.

[Reactie gewijzigd door Accretion op 6 december 2024 18:08]

Het verschil zal hem zitten in het realisme. Een GAN kan mbv reinforced learning een bizar realistische wereld genereren. Minecraft leunt vooral op zaken als Perlin noise en Voronoi welke mbv zorgvuldig geselecteerde wegingsfactoren een eenvoudige wereld kunnen genereren.
Ze geven niet veel informatie. Het lijkt gewoon een run time terrain generator, met mogelijk al bestaande assets, dat bestaat al heel lang. ML sausje er overheen voor de seeding maakt het niet uitzonderlijk.

Zou bijzonder zijn als ze directe image gen doen met AI, ipv rendering, maar daar lijkt het niet op.
Ben ik nou de enigste die kijkt naar Rust in game beelden van 4~10 jaar geleden?
Spel Rust maakt de server na een wipe ook zelf de map aan, uiteraard bij invoer van de beheerder.
@ru8ber Rust= Survival game

Lijkt er behoorlijk op dat dit het zelfde is.
50 of 100 of 200 man server match = Size map met bepaalde gebouwen element/bomen/bergen = altijd andere map en nieuwe speel ervaring.
*Dat maakt het bij de game "Rust" ook verrassend.

Tuurlijk andere systemen en moet goed bug/glitch vrij worden voor een shooter, maar als die goed uitpakt = nieuwe spel ervaring in FPS short matches.
Snap ik @PatRamon alleen dan nog mag ik wel nieuwschierig zijn naar een andere generatie survival games toch?
Dat je echt moet gaan survivalen. En niet simpelweg moet grinden voor dezelfde materialen om een eigen trollkasteel te maken.
Bare minimum recourses, altijd op het randje van leven of dood spelen, en slimme systemen die het mogelijk maken om een paar basic dingen op verschillende manieren te automatiseren.
Tuurlijk snap ik dat er allang auto generated survival games zijn.
ik hoop gewoon op een nieuwe innovatie die kan bijdragen aan het verbeteren van dit genre :)
Andere survival games die hier van gebruik van maken weet ik niet 123.
Maar vond het altijd bij Rust een mooie ontwikkeling.
*Kenmerk met Rust=survival game bij gezet als voorbeeld niet iedereen kent wellicht deze game.

En precies wat je aangeeft de nieuwe innovatie kan zeker goed uitpakken.
Vooral bij FPS shooters.
Vaste map is leuk, maar constant een andere zou een hype kunnen geven toen der tijd met pubg "battle royale"

Ofwel mooie ontwikkelingen
Gemiste kans want het resultaat is slecht. Alles wat ik zie is niet beter dan de terrain generator van bijvoorbeeld rust dus je krijgt niet het gevoel dat er werk in de map gestoken is. Deze eenvoudigheid had je ook met een simpeler algoritme kunnen genereren. AI had het veel diverser moeten maken, waar is een realistische stad bijvoorbeeld die je niet zomaar even willekeurig genereerd? Als ze willen tonen dat AI een toekomst heeft in wereld bouw is het belangrijk dat de wereld voelt alsof het door een mens in elkaar is gezet en niet een willekeurig algoritme.

Op dit item kan niet meer gereageerd worden.