Voormalig NHTV student Freek Hoekstra werkt als procedural technical artist bij EA Sports in Vancouver. Hij houdt zich daar voornamelijk bezig met procedural generation. “Bij EA gebruiken we procedural generation om grote schaalproblemen op te lossen.”
Waarom heb je voor werk in het buitenland gekozen?
Is dat een keuze? Goede vraag! Voor mij lagen daar de beste mogelijkheden. Tijdens mijn studie had ik interesse in SSX, een game gemaakt met behulp van procedural generation, waar onder andere CG supervisor Caleb Howard aan had gewerkt. Dit sloot aan bij mijn afstudeerproject. Toen Howard een video van mij online zag liet hij me weten contact met hem op te nemen als ik ooit een baan zocht.
Voor mijn stage heb ik gekozen voor VFX-bedrijf SideEffects in Los Angeles, de makers van de Houdini software waar ik al mee had gewerkt. Bij hen kon ik meer en sneller leren dan waar dan ook. Tegelijkertijd bouwde ik contacten op en kon ik Side-Effects laten zien hoe de game-industrie werkt, want op dat moment hadden ze nog geen ervaring met games.
‘Procedural Leveldesign and Worldbuilding’ video van het YouTube kanaal van Freek Hoekstra
Die zeven maanden waren een goede manier om te testen of ik in het buitenland zou kunnen leven. Toen EA wederom aanklopte, was het voor mij een no-brainer. Ze hebben veel kennis en ervaring in huis en prachtige faciliteiten, zoals een voetbalveld, een massageruimte, bioscoopzalen en twee Starbucks cafés. Dat heb je hier in Nederland niet. Dit kon ik gewoon niet weerstaan.
Hoe ben je met zo weinig ervaring bij EA binnengekomen?
Ik denk dat mensen zich verkijken op ervaring in jaren. Sommige van de NHTV-studenten zijn beter dan industrieprofessionals. Significant beter. Zelf geloof ik meer in specifieke, doelgerichte kennis. Bij EA ben ik binnengekomen omdat ik een unieke skillset had waar zij naar op zoek waren. Als een vacature vermeldt dat je vijf jaar ervaring moet hebben is en je hebt twee jaar ervaring, ga er dan gewoon voor. Het is een wenslijstje, het is niet echt per se harde eis.
Was het lastig om een werkvergunning te krijgen voor Canada?
Dat viel eigenlijk heel erg mee. Ik heb geluk gehad met EA natuurlijk, want zij wilden mij inhuren, dus had ik een werkgever die me hierbij hielp. Van EA had ik een hele stapel papieren meegekregen waarmee ik me bij immigratie op het vliegveld meldde. De beambte waar ik terecht kwam zag ‘EA Sports’ op de documenten staan en vroeg me wat ik daar ging doen. Toen ik vertelde dat ik ging werken aan games als aan NHL en FIFA, werd hij helemaal enthousiast en waren mijn papieren snel getekend.
Ik ben blij dat het is gelukt. Canada is een prachtig land. Het uitzicht van de besneeuwde bergen waar ik elke ochtend mee wakker wordt is prachtig. Het is ook niet overal koud, in Vancouver heerst hetzelfde klimaat als in Nederland, hartstikke mooi, alleen je kunt er ook nog skiën.
Wanneer en hoe is je interesse voor procedural generation begonnen?
Ik was bezig met een specialisatie in level design toen ik een een zware hersenschudding kreeg. Daarna zat ik niet lekker in mijn vel en ben ik voor twee maanden naar Nieuw-Zeeland gegaan. Bij terugkomst moest ik beslissen wat ik wilde doen. Kim Goossens, een van mijn docenten, had een duidelijke visie: games worden te groot om alles met de hand te kunnen doen. Hij wees me op een paar goede tools voor procedural generation. Daar vond ik niets aan, want ik wilde geen tutorials nadoen. Dat was het moment waarop ik dacht ‘Als ik dit ga doen, dan wil ik bewijzen dat ik het zelf kan,’ en ik besloot een procedural railroad-systeem te bouwen. De volgende stap was het bouwen van een procedural level generator in Houdini. Daarna raakte alles in een stroomversnelling.
Hoe wordt procedural generation bij EA gebruikt?
Bij EA gebruiken we procedural generation om grote schaalproblemen op te lossen. We hebben grof geschat zo’n 80.000 fans (NPCs) die in de stadions zitten. Daarvoor hebben we crowd systemen die karakters kiezen om de tribune te vullen. Dat kan niet helemaal willekeurig, want de thuisfans zitten in een bepaald vak en een stadion vult zich op een bepaalde manier. Een ander voorbeeld zijn de duizenden spelers in FIFA die we moesten converteren naar Physically Based Rendering, dat is niet met de hand te doen. Voor UFC hadden we custom collision volumes per karakter en een default figuur waar deze door de designers ingevuld worden, gezien het feit dat er honderden karakters zijn met zeer verschillende lichaamsvormen. Het systeem neemt deze standaard fit en interpoleert die om elk karakter te passen. Op die manier kunnen de designers aanpassingen doen die met een druk op de knop in twee tot drie uur in de game staan. Dan kunnen we in-game testen of het werkt. Dit houdt alles consistent en het zorgt ervoor dat we tot op het laatste moment kunnen itereren.
Publiek in NHL16
Welke kant gaat het op met procedural generation?
Ik verwacht een explosie binnen proceduralisme. Games worden steeds groter, alles wordt complexer, mensen willen meer kunnen doen, sneller itereren. De mate van detail wordt zo hoog dat het gewoon niet meer allemaal handmatig kan. Het is niet te doen om elke baksteen in een muur te sculpten in Zbrush.
Als je weer een aantal jaren verder kijkt gaat net nog verder. Dan moeten we weten hoe de nerven binnen in een boom lopen, omdat we die boom willen opblazen en we die nerven willen volgen. Wanneer we door een bakstenen muur heen willen, moeten we weten waar alle bakstenen zitten en dat betekent dat je niet alleen maar een foto kan maken, een texture en een 3D-scan en daarmee alleen maar de buitenkant hebt. We moeten naar een vol metrische representatie. Het is dan niet voldoende om simpelweg dingen te scannen.
Hieronder een deel van het interview op video.