Engineering emergence: applied theory for game design Joris Dormans Samenvatting: Game ontwerptheorieën helpen game designers bij het maken en begrijpen van hun werk. Zulke toegepaste theorieën stimuleren het creatieve proces en kunnen de ontwikkelkosten van games drukken, het ontwerpproces versnellen en de kwaliteit van de eindproducten verbeteren. Dit proefschrift presenteert twee theoretische kaders voor het ontwerpen van games en beschrijft hoe game designers deze kunnen inzetten om het game ontwerpproces te stroomlijnen. Er bestaan op dit moment meerdere ontwerptheorieën voor games, maar geen enkele kan rekenen op een breed draagvlak binnen de game industrie. Vooral academische ontwerptheorieën hebben regelmatig een slechte reputatie. Daar zijn twee redenen voor. Ten eerste vergen ze een grote tijdsinvestering om te leren hanteren. Ten tweede zijn ze vaak geschikter als analyse- dan als ontwikkel-instrument. Het zal dan ook niemand verbazen dat elke nieuwe ontwerptheorie binnen de game industrie op enige scepsis stuit. De ontwerptheorieën uit dit proefschrift zijn daarom ontwikkeld met het idee dat zij praktisch en makkelijk toepasbaar moeten zijn voor game designers. Het eerste theoretische kader biedt handvatten om games te bekijken en begrijpen als systemen van spelregels. Wie de achterliggende spelregels van een game kan identificeren en hun werkwijze begrijpt, kan deze spelregels immers gerichter en effectiever aanpassen en verbeteren. Het tweede ontwerpkader kan game designers helpen bij het creëren van een open en tegelijkertijd dynamische wereld die spelers meezuigt in een soepele spelervaring. De twee ontwerptheorieën staan overigens niet los van elkaar: in een goede game vormen de spelwereld en de spelregels een complexe, goed uitgebalanceerd eenheid. Het een kan niet zonder het ander en andersom. Het eerste kader dat game designers inzicht biedt in spelregels en hun werking heet Machinations en maakt gebruik van dynamische, interactieve diagrammen. Deze diagrammen brengen de interne economie van een game in kaart door de stroom van belangrijke, en soms abstracte, resources te modelleren. Resources kunnen grondstoffen zijn. Maar ook punten, geld of kogels. De belangrijkste structurele eigenschap die Machinations-diagrammen voor het voetlicht brengen zijn feedbackpatronen. Feedback wordt over het algemeen gezien als een belangrijke oorzaak van dynamische gedrag in complexe systemen zoals games. Feedback zorgt ervoor dat een statusverandering van één game-element andere game-elementen beïnvloedt waardoor vervolgens het eerste element weer verandert. In games heeft dit vaak een zelfversterkend effect. Denk aan het klassieke bordspel Monopoly. Wie daar geld investeert in vastgoed verdient dat uiteindelijk ruimschoots terug door huuropbrengsten en kan daardoor nog meer investeren. Het Machinations-kader maakt onderscheid tussen verschillende soorten feedback: feedback kan positief of negatief zijn, constructief of destructief, snel of langzaam, etcetera. Voor game designers is het van belang goed zicht te hebben op de feedbackwerking in hun games en deze te bestuderen en waar nodig aan te passen. Zij kunnen daarbij gebruik maken van patronen in interne speleconomieën die steeds weer terugkeren. Deze patronen zijn een weerslag van veel voorkomende oplossingen voor frequente ontwerpproblemen. Machinations diagrammen zijn een uitstekend vehikel om deze patronen te identificeren en ze verder te bestuderen. Game designers kunnen Machinations-diagrammen maken met de software die voor dit onderzoek is ontwikkeld. Het grootste voordeel van deze software is dat digitale diagrammen net zo dynamisch en interactief zijn als de games die ze representeren. Dit stelt game designers in staat games gemakkelijk en efficiënt te simuleren. Ze kunnen de interne speleconomie modelleren en balanceren nog voordat er een prototype van de game is gemaakt. Het tweede theoretische kader van dit proefschrift, Mission/Space, richt zich op level-ontwerp en spelmechanismen die de voortgang van een speler bepalen. In tegenstelling tot bestaande modellen voor level-ontwerp, bouwt Mission/Space voort op het idee dat er in een level twee verschillende structuren bestaan. Mission-diagrammen worden gebruikt om de structuur van taken en uitdagingen voor de speler te formaliseren, terwijl space-diagrammen de ruimtelijke constructie formaliseren. Beide constructies zijn aan elkaar gerelateerd, maar zijn niet hetzelfde. De verschillende wijzen waarop missies geprojecteerd kunnen worden op een bepaalde ruimte speelt uiteindelijk een belangrijke rol in de totstandkoming van de spelervaring. Spelmechanismen voor sloten en sleutels, die vaak gebruikt worden om te voorkomen dat spelers te snel een bepaald doel bereiken, spelen hier bij een belangrijke rol. Zoals in het geval van Machinations leent het Mission/Space-kader zich voor het ontwikkelen van software die ontwikkelaars kan ondersteunen in het ontwerpen van game levels. Het programma Ludoscope implementeert mission- en space-diagrammen en stelt ontwikkelaars op die manier in staat om de voortgang van spelers door een level te simuleren. Zo helpt Ludoscope in een vroeg stadium met het identificeren van potentiële fouten in het ontwerp. Waar Mission/Space zich richt op level-ontwerp en games of progression, richt Machinations zich meer op interne speleconomie en games of emergence. Door beide kaders te combineren ontstaat een nieuw perspectief waarmee de combinatie van emergence en progression kan worden onderzocht. Veel games combineren beide structuren. Toch is er nog een groot aantal spellen waar de rijkdom van de mechanismen van de speleconomie, ruimte en fysische simulatie niet aansluiten bij de beperkte mechanismen die de spelerprogressie controleren. Door Machinations-diagrammen te combineren met mission- en space-diagrammen, worden twee nieuwe strategieën inzichtelijk waarmee game designers emergence en progression verder kunnen integreren. Een eerste combinatiestrategie richt zich op slot- en sleutelmechanismen die eigenlijk zelden tot nooit gebruik maken van feedbackmechanismen. Met Machinations-diagrammen kunnen designers echter op eenvoudige wijze meer geraffineerde en emergente spelmechanismes ontwikkelen voor sloten en sleutels. Een tweede combinatiestrategie ontstaat door de voortgang van spelers als resource te modelleren waardoor het mogelijk wordt deze te betrekken in feedbackmechanismen op de schaal van het complete level of spel. De Machinations- en Mission/Space-kaders formaliseren verschillende perspectieven op games. 'Model driven engineering', een begrip ontleend aan software engineering, kan beide perspectieven verenigen onder een formele benadering van game ontwikkeling. Wie games op een goede manier formeel weet te benaderen, kan uiteindelijk bepaalde onderdelen van het ontwikkeltraject automatiseren. Door gebruik te maken van formele grammatica's en herschrijfsystemen is het bijvoorbeeld mogelijk om transformaties vast te leggen die game designers kunnen gebruiken om ruimtes te genereren voor een missie, spelmechanismen voor een ruimte, of een missie voor spelmechanismen. Door het ontwikkelproces onder te verdelen in een serie kleine transformaties wordt het mogelijk flexibele software tools te maken die game levels en, tot op zekere hoogte, zelfs hele games automatisch kunnen (helpen) genereren. Een andere toepassing is het ontwikkelen van games die zich automatisch aanpassen aan de prestaties van spelers. Om het automatiseren van game design dichterbij te brengen is voor dit proefschrift het prototype Ludoscope verder uitgebouwd. Het stelt designers in staat grammatica's en herschrijfsystemen zelf te definiëren. In potentie maakt dit Ludoscope tot een zeer krachtige, generieke game ontwikkeltool die het mogelijk maakt om het ontwerpproces op een hoger abstractieniveau te brengen. De software, ontwikkeld als onderdeel van dit onderzoek, is tegelijkertijd ook een manier om de theorie uit dit proefschrift uit te proberen en te valideren. Maar het is niet de enige wijze van valideren die is toegepast. Het overgrote deel van de ideeën uit dit proefschrift zijn gepresenteerd, uitgeprobeerd en bediscussieerd op lezingen en in workshops. Academici en ervaren game designers hebben zo de mogelijkheid gekregen commentaar te leveren en het werk te beënvloeden. Daar komt bij dat beide theoretische kaders, maar vooral Machinations, gebruikt zijn in het game development onderwijs aan de Hogeschool van Amsterdam. Daaruit is gebleken dat de kaders studenten helpen om games beter te begrijpen en te verbeteren. Vooral doordat ze hen een formeel perspectief bieden op belangrijke aspecten van game ontwikkeling die zonder de theoretische kaders niet meteen zicht- of tastbaar zijn. De theoretische kaders stelden de studenten in staat onderdelen van games te simuleren en er mee te experimenteren. Het ontwikkelen van games blijft een uitdaging. De theorie en theoretische gereedschappen die in dit proefschrift zijn gepresenteerd kunnen game ontwerpers helpen doordat ze domeinkennis vastleggen, ontwerpers in staat stellen games in een vroeg stadium te simuleren, en zelfs door gedeeltes van het ontwerpproces te automatiseren. Maar ze kunnen natuurlijk nooit de menselijke creativiteit en vindingrijkheid vervangen die noodzakelijke ingrediënten blijven voor het maken van games. Uiteindelijk denk ik dat deze tools en theorie ontwerpers kunnen helpen en een bijdrage kunnen leveren om game design naar een hoger niveau te tillen.