Gameontwikkeltrajecten falen wanneer teams niet op tijd de vereiste kwaliteit kunnen bereiken omdat verbeteringen te lang duren. Figuur 1 illustreert oorzaken van de vertraging. Enerzijds neemt de kwaliteit van broncode steeds verder af naarmate snel veranderende requirements continu aanpassingen vereisen aan de broncode (+1). Dit algemene fenomeen heet ‘software decay’. Anderzijds missen gamedesigners geschikte specifieke notaties en gereedschappen om tijdig feedback te vergaren (+2) en spelervaringen te verbeteren zonder hulp van software-engineers (+3).
In het kader 'Live gamedesign' wordt een voorbeeld beschreven dat een combinatie van twee oplossingsgebieden illustreert.
1. Geautomatiseerd gamedesign ondersteunt en versnelt creatieve designprocessen. Het biedt designers visuele talen en gereedschappen die hen helpen de kwaliteit te verbeteren. Om beurten schaven designers aan de oplossing en genereren tools voor ontwerpsuggesties.
2. Live programming wordt gekenmerkt door stapsgewijze veranderingen en onmiddellijke feedback. Ontwikkelaars passen een werkend programma aan door de broncode te wijzigen. Ze krijgen onmiddellijk feedback wanneer het zich in reactie daarop aanpast.
Beide technieken helpen om te exploreren en ondersteunen het voortschrijdend inzicht. Het kader 'Live gamedesign' illustreert dit met een kijkje onder de motorkap van Johnny Jetstream, een 2D flyby shootergame, ontwikkeld door IC3D Media uit Breda.
Game-economieën
Veel games hebben een interne economie, een soort 'knikkerbaan' die de spelregels uitdrukt. Het draait hierin natuurlijk allemaal om de knikkers. Gamedesigners introduceren de hendels, valluiken en spaarpotjes die spelers interessante keuzes bieden. Spelers kunnen de knikkers (bijvoorbeeld goud, kristallen of levenselixir) herverdelen, uitgeven, verzamelen, stelen of juist weer kwijtraken. Het is tijdrovend om vast te stellen of deze regels interessante puzzels, strategieën of leerzame ervaringen opleveren. De visuele notatie Machinations helpt om de spelregels te begrijpen. Lussen in de knikkerbaan beschrijven remmende voorsprong, versterkende voordelen, langetermijninvesteringen en kortetermijnwinsten.
Essentiële uitdagingen en kansen
Software is veelal een product van voortschrijdend inzicht. Daarbij hoort dat de eisen en functionaliteit steeds veranderen. Live programming is een veelbelovend oplossingsgebied om de kwaliteit van software gedurende de hele levenscyclus te blijven verbeteren. Dit vereist echter dat aanpassingen en effecten expliciet gerepresenteerd worden, en dat is nu helaas nog zelden het geval.
Naast geschikte technologieën hebben ontwikkelaars interactieve omgevingen voor live programmeren nodig die de aanpassingen inzichtelijk maken. Dat vergt visuele feedback waarmee ontwikkelaars hun mentale modellen (voorstellingsvermogen) kunnen verbeteren. De werkende software zelf dient de veranderingen te kunnen doorvoeren. Uiteraard zijn de hiervoor benodigde programmeertalen en gereedschappen essentieel. De uitdaging is generieke herbruikbare methoden en technieken te ontwikkelen die helpen de complexiteit te reduceren door geschikte dimensies van aanpassing (evolutie) te introduceren.
Game-economieën zijn een geschikte aanpassingsdimensie voor game development, omdat gamedesigners gedurende het hele ontwikkelproces spelregels prototypen, playtesten en finetunen. Visuele programmeeromgevingen kunnen daarbij helpen. Echter, niet alle games hebben een grote interne economie. Andere eigenschappen om te verbeteren, zijn storytelling, virtuele werelden, gamelevels en geloofwaardige karakters.
Game development is veelzijdig en de toolsupport is nog beperkt. Daarom liggen er nog veel kansen voor toegepast onderzoek naar geautomatiseerd gamedesign.
KADER: Live gamedesign
Om het gamedesign te automatiseren en te versnellen, maakten we een domeinspecifieke programmeertaal van Machinations die ontwikkelaars in staat stelt om diagrammen in games te integreren. Met Micro-Machinations kunnen gamedesigners live de spelregels van werkende gamesoftware aanpassen tijdens het playtesten.