Ik las in de PC Gameplay een reuze interessant artikel over procedural content generation. Hoogstwaarschijnlijk kennen de meeste van jullie het wel, maar ik leg het toch even uit. Het basis idee is dat je gegevens genereert en niet daadwerkelijk zelf helemaal maakt.
Stel je wil een fictief planetenstelsel modelleren. Wat je dan kan doen, en wat ook vaak gedaan wordt, is een planeet modelleren in 3ds Max, hier textures voor maken. Vervolgens maak je modellen voor de steden, huisjes, rivieren, bossen etc. Best veel werk. Maar het is wel te doen. Het wordt een probleem echter wanneer je besluit om dan die andere 21 (voorbeeldje he?
) planeten wil modelleren....dat wordt gewoon een rotwerk. Stel nou dat die ene planeet 100MB was kwa informatie (textures, modellen etc.) dan wordt het hele stelsel 2,2GB.
Wat de insteek van Procedural Content Generation (PCG) dan is om eigenlijk uit te gaan van een paar basis modellen, textures, physiscs regels etc. en deze algoritmisch aan te passen tot unieke instanties. Je genereert algoritmisch een aarde en de rivieren, landmassa's etc etc. Als je dit nu ook nog doet met een bepaalde randomness met een seed erin, kan je eigenlijk 1 unieke planeet koppelen aan 1 enkele seed. Je hebt dus 1 algoritme om een planeet en z'n flora en fauna uit te rekenen mbv een stel basisblokken van pakweg 100mb. Hoeveel planeten je ook genereert...de basisblokken zullen niet veranderen kwa grootte. En voor 1 miljoen unieke planeten heb je alleen maar een bestandje nodig met 1 seed in principe erin bij wijze van spreken en dus dit algoritme met z'n bijbehorende basisblokken.
Ik wist dat er wel al onderzoek was naar deze techniek maar niet dat er nu weer daadwerkelijk games gemaakt werden. Het idee is eigenlijk al heel oud. Ten tijde van Elite en Elite II was het onmogelijk veel ruimte te gebruiken op een computer en toch bevatten deze games vele duizenden, wellicht wel miljoenen, planeten. Nu is er echter een opvolger en die wou ik jullie ook niet onthouden, namelijk Infinity (http://www.fl-tw.com/Infinity/) en je hebt natuurlijk Spore (http://www.spore.com/) dat hetzelfde idee toepast. Ook Speedtree (http://www.speedtree.com) is onderhand bekend.
Echter het meest indrukwekkende voorbeeld is wel .kkrieger van .theprodukkt (http://www.theprodukkt.com/kkrieger) wat er uitziet als een waardige tegenstander van de laatste Unrea Tournament, maar maar 96kb groot is. En een oude bekende is natuurlijk Diablo II (http://www.blizzard.com/diablo2/).
Waarom dit topic dan?
Ten eerste om degene die er niet bekend mee zijn dit te laten zien en hopen dat ze ook net als ik echt een enorm *wow*-gevoel krijgen.
Ten tweede om te vragen of er misschien mensen bezig zijn met zulke projecten of projectjes in hun vrije tijd en dat willen laten zien. Ik ben zelf bezig (als testje begonnen) met een doolhofgenerator die puur op randomness mbv een seed gebaseerd is. Niet spectaculair, wel leuk.
Ten derde omdat ik eigenlijk vrij weinig informatie kan vinden over dit onderwerp en ik hoop of mensen wellicht links etc hebben waar ik verder kan loeren.
Ten vierde omdat ik wel graag een discussie wil starten over wat dit betekend voor de (games)toekomst.
Mijn idee over de (games)toekomst is toch wel dat PCG een enorme invloed gaat hebben in de computerwereld. Het einde van de enorme textures en gigantisch data die het inneemt voor een enkele game komt langzaam in zicht en de processoren zijn onderhand zo krachtig dat die (helemaal met het dual/quad-core verhaal) meer en meer geschikt zijn hiervoor. Als we zo doorgaan neemt een game binnenkort vele GB's in. Binnenkort wordt het misschien mogelijk om 3d games te maken waar het oppervlakte met gemak een gebied als europa beslaat. Of wellicht handig voor 3d-film- en effectenspecialisten die dus unieke explosies/bomen/textures in een handomdraai kunnen maken, waardoor het er nog realistischer uit gaat zien. Zelfs op animatiegebied kan het mooier (zie Spore), want ook daar is PCG mogelijk. Maar misschien nog wel interessanter, is dat de ontwikkelingskosten omlaag kunnen. Als we op het huidige ontwikkelingstempo doorgaan kwa games is een game over 10 jaar bijna onbetaalbaar voor een ontwikkelaar, omdat er alleen al 500 mensen met de textures bezig zijn. Aangezien er minder mensen nodig zijn om al die individuele content te maken en er eigenlijk een kleinere groep is voor de basiscontent + algoritmes is er misschien meer ruimte voor risico en dus originaliteit. Volgens mij is er een ware revolutie in gamesland op til
Nu maar hopen dat de mainstream ontwikkelaars dit ook (gaan) zien.
Jullie visie, links, verhalen, projectjes etc zijn erg welkom
Stel je wil een fictief planetenstelsel modelleren. Wat je dan kan doen, en wat ook vaak gedaan wordt, is een planeet modelleren in 3ds Max, hier textures voor maken. Vervolgens maak je modellen voor de steden, huisjes, rivieren, bossen etc. Best veel werk. Maar het is wel te doen. Het wordt een probleem echter wanneer je besluit om dan die andere 21 (voorbeeldje he?
Wat de insteek van Procedural Content Generation (PCG) dan is om eigenlijk uit te gaan van een paar basis modellen, textures, physiscs regels etc. en deze algoritmisch aan te passen tot unieke instanties. Je genereert algoritmisch een aarde en de rivieren, landmassa's etc etc. Als je dit nu ook nog doet met een bepaalde randomness met een seed erin, kan je eigenlijk 1 unieke planeet koppelen aan 1 enkele seed. Je hebt dus 1 algoritme om een planeet en z'n flora en fauna uit te rekenen mbv een stel basisblokken van pakweg 100mb. Hoeveel planeten je ook genereert...de basisblokken zullen niet veranderen kwa grootte. En voor 1 miljoen unieke planeten heb je alleen maar een bestandje nodig met 1 seed in principe erin bij wijze van spreken en dus dit algoritme met z'n bijbehorende basisblokken.
Ik wist dat er wel al onderzoek was naar deze techniek maar niet dat er nu weer daadwerkelijk games gemaakt werden. Het idee is eigenlijk al heel oud. Ten tijde van Elite en Elite II was het onmogelijk veel ruimte te gebruiken op een computer en toch bevatten deze games vele duizenden, wellicht wel miljoenen, planeten. Nu is er echter een opvolger en die wou ik jullie ook niet onthouden, namelijk Infinity (http://www.fl-tw.com/Infinity/) en je hebt natuurlijk Spore (http://www.spore.com/) dat hetzelfde idee toepast. Ook Speedtree (http://www.speedtree.com) is onderhand bekend.
Echter het meest indrukwekkende voorbeeld is wel .kkrieger van .theprodukkt (http://www.theprodukkt.com/kkrieger) wat er uitziet als een waardige tegenstander van de laatste Unrea Tournament, maar maar 96kb groot is. En een oude bekende is natuurlijk Diablo II (http://www.blizzard.com/diablo2/).
Waarom dit topic dan?
Ten eerste om degene die er niet bekend mee zijn dit te laten zien en hopen dat ze ook net als ik echt een enorm *wow*-gevoel krijgen.
Ten tweede om te vragen of er misschien mensen bezig zijn met zulke projecten of projectjes in hun vrije tijd en dat willen laten zien. Ik ben zelf bezig (als testje begonnen) met een doolhofgenerator die puur op randomness mbv een seed gebaseerd is. Niet spectaculair, wel leuk.
Ten derde omdat ik eigenlijk vrij weinig informatie kan vinden over dit onderwerp en ik hoop of mensen wellicht links etc hebben waar ik verder kan loeren.
Ten vierde omdat ik wel graag een discussie wil starten over wat dit betekend voor de (games)toekomst.
Mijn idee over de (games)toekomst is toch wel dat PCG een enorme invloed gaat hebben in de computerwereld. Het einde van de enorme textures en gigantisch data die het inneemt voor een enkele game komt langzaam in zicht en de processoren zijn onderhand zo krachtig dat die (helemaal met het dual/quad-core verhaal) meer en meer geschikt zijn hiervoor. Als we zo doorgaan neemt een game binnenkort vele GB's in. Binnenkort wordt het misschien mogelijk om 3d games te maken waar het oppervlakte met gemak een gebied als europa beslaat. Of wellicht handig voor 3d-film- en effectenspecialisten die dus unieke explosies/bomen/textures in een handomdraai kunnen maken, waardoor het er nog realistischer uit gaat zien. Zelfs op animatiegebied kan het mooier (zie Spore), want ook daar is PCG mogelijk. Maar misschien nog wel interessanter, is dat de ontwikkelingskosten omlaag kunnen. Als we op het huidige ontwikkelingstempo doorgaan kwa games is een game over 10 jaar bijna onbetaalbaar voor een ontwikkelaar, omdat er alleen al 500 mensen met de textures bezig zijn. Aangezien er minder mensen nodig zijn om al die individuele content te maken en er eigenlijk een kleinere groep is voor de basiscontent + algoritmes is er misschien meer ruimte voor risico en dus originaliteit. Volgens mij is er een ware revolutie in gamesland op til
Jullie visie, links, verhalen, projectjes etc zijn erg welkom
Engineering is like Tetris. Succes disappears and errors accumulate.