Een paar jaar geleden schreef ik een boek waarin elk niveau in Super Mario World (1990) werd geanalyseerd, waarbij ik de systematische manier identificeerde waarop de meeste levels van de game werden gemaakt. Super Mario World is een klassieker en de moeite van het bestuderen waard, maar de lessen die het geeft, zijn over het algemeen van toepassing op het ontwerp van videogames. De "Super Mario World-methode", oftewel de "Nintendo-methode" van levelontwerp, komt eigenlijk voor in allerlei spellen, zelfs games die niet door Nintendo zijn gemaakt..
In deze zelfstudie bekijken we een natuurlijke organisatievorm die is geëvolueerd in niveauontwerpen uit de jaren 90 en daarna. Omdat videogamedesigners (met name Nintendo-ontwerpers) meer en meer in hun vakgebied oefenden, begonnen ze hun inhoud intuïtief te organiseren. Hier zal ik uitleggen hoe je al deze intuïtieve trucs opzettelijk kunt gebruiken in je eigen spellen.
Ik heb een Super Mario Maker-niveau gemaakt (en geannoteerd) met deze methode; je kunt het hier zien:
Level ID: 0740-0000-00CD-4D5B
De feitelijke naam voor het raamwerk waar we naar kijken is "uitdaging, cadans, vaardigheidsthema" of kortweg CCST. Ik ga voorbeelden van Super Mario Maker gebruiken om de fundamentele onderdelen van de CCST-structuur uit te leggen, omdat het een heel handig voorbeeld is. Ik heb echter gebruik gemaakt van de CCST-structuur in Mega Man, Metroid, Portal, Half-Life, Super Meat Boy en vele andere spellen. Met de praktijk kun je deze dingen in sommige van je favoriete spellen identificeren, zodat je een grotere mate van organisatie en diepte in de inhoud van je spel kunt brengen.
De eerste stap ligt in het begrijpen en identificeren van uitdagingen. Een uitdaging is een korte taak, omringd door periodes van relatieve veiligheid, die de speler in één keer moet voltooien. Bekijk het onderstaande voorbeeld, waar Mario op en af moet springen van een bewegend platform boven een bodemloze put.
Aan weerszijden van het bewegende platform kan de speler in wezen wachten zonder gevaar te lopen. Eenmaal op het platform moet de speler echter voorzichtig zijn om niet in de bodemloze put te vallen en een leven te verliezen. De uitdaging begint en eindigt dus op de veilige, stationaire grond links en rechts van het bewegende platform.
Laten we eens naar iets complexers kijken. In deze volgende uitdaging heb ik een tweede bewegend platform van een ander type toegevoegd. Voor deze uitdaging zijn de grenzen aan beide zijden nog steeds de vaste grond, maar nu moet de speler over twee soorten platforms springen om het veilig te maken door.
Ook al is deze uitdaging groter, het is nog steeds een uitdaging, omdat de speler in één actie door de twee bewegende platforms moet komen, voordat hij aan de veilige grens voor de uitdaging aan de rechterkant komt.
Uitdagingen kunnen behoorlijk groot zijn, maar je moet altijd onthouden dat ze worden begrensd door veilige perioden waarin de speler (in zekere zin) even kan 'rusten' voordat hij aan de volgende uitdaging begint. Uitdagingen en hun grenzen zijn verschillend in verschillende soorten games. Sommige uitdagingen in een Sonic the Hedgehog-game zijn bijvoorbeeld veel ruimer dan die in een Mario-game, omdat Sonic meestal veel sneller beweegt en de speler de extra ruimte nodig heeft om te vertragen, stoppen of van richting te veranderen. Het principe is echter nog steeds hetzelfde.
Het is niet genoeg om te weten welke uitdagingen zijn; een goede ontwerper moet ook weten hoe hij een niveau moet vullen. Het niveau moet moeilijker worden, anders zal het saai zijn. Maar tegelijkertijd kan de ontwerper niet zomaar willekeurige uitdagingen in het niveau gooien; het niveau moet coherent zijn van uitdaging tot uitdaging. Dit is waar we ingaan op de verschillende soorten uitdagingen en hun relatie tot elkaar.
Laten we eens kijken hoe de twee uitdagingen die ik je heb laten zien met elkaar te maken hebben:
Wat is er anders tussen de eerste uitdaging en de tweede uitdaging? Ze zijn allebei gebaseerd op bewegende platforms, maar de tweede uitdaging heeft iets nieuws toegevoegd: er zijn twee verschillende soorten platformbewegingen in verschillende vormen op verschillende intervallen. Alle complexiteit komt van veranderingen in type of soort.
Wanneer het verschil tussen twee uitdagingen de toevoeging is van een kwalitatief element zoals dit, de latere uitdaging heet een evolutie van de eerste uitdaging. Uitdaging twee is een kwalitatief complexere iteratie van uitdaging één.
Hier is nog een evolutie om te verduidelijken wat ik bedoel:
Je ziet hier dat ik alleen maar een vijand heb toegevoegd die op en neer beweegt tussen de platforms. Dit is een andere kwalitatieve toename van de complexiteit, waardoor het moeilijker wordt voor de speler om het juiste tijdsvenster te vinden om te springen.
Het is echter niet zo'n grote stap in de complexiteit; Nintendo-games worden steeds moeilijker, stap voor stap. Tegen het einde van een moeilijk niveau, creëert de geleidelijke opeenstapeling van evoluties de moeilijkste uitdagingen, maar het proces wordt altijd één evolutie tegelijk volbracht.
Er is een andere manier om de moeilijkheidsgraad van uitdagingen te vergroten terwijl je trouw blijft aan het originele ontwerpidee van het level. In de onderstaande uitdaging heb ik de eerste uitdaging herhaald, maar met één cruciaal verschil.
Ik heb de afstand tussen het stationaire platform en het bewegende platform vergroot; omdat Mario een grotere afstand moet springen, is de sprong iets moeilijker. Dit is wat ik noem uitbreiding uitdaging.
Een uitbreiding is in sommige gevallen een toename kwantitatief meetbaar aspect van een eerdere uitdaging. In dit geval is de ruimte tussen platforms verdrievoudigd. Laten we een andere uitbreiding bekijken:
Deze uitdaging is net als de tweede evolutie van vroeger, behalve dat ik het aantal vijanden tussen de twee platforms heb verdubbeld. De sprong is moeilijker omdat het venster voor optimaal springen korter is, maar dit is te danken aan een eenvoudige kwantitatieve verandering, van een Grinder tot twee.
Uitbreidingsuitdagingen zijn heel gemakkelijk te implementeren, omdat alles wat de ontwerper hoeft te doen meer is dan iets dat er al is. Om deze reden is het voor beginnende ontwerpers gemakkelijk om uitbreidingsuitdagingen te overdrijven (hoewel dit iets is dat we in een andere zelfstudie zullen bespreken).
Voordat je aan de slag gaat met het uitproberen van evoluties en uitbreidingen op je eigen niveaus, zijn er nog een paar richtlijnen waar je rekening mee moet houden.
Ten eerste blijven Mario-niveaus (en hun opvolgers) niet lineair evolueren. In plaats daarvan worden niveaus vaak opnieuw ingesteld naar het begin en evolueren ze vervolgens in een andere richting.
Hier is een voorbeeld van in mijn niveau:
In plaats van vast te houden aan de looping-platforms en steeds gecompliceerder te worden, neemt mijn niveau een andere weg in. Hier evolueert het basis loopplatform naar een lineair bewegend platform. In plaats van te springen om een nieuw platform te bereiken, moet Mario springen om vijanden te ontwijken.
De vaardigheid is hetzelfde - het draait allemaal om springen op het juiste moment - maar er is een nieuwe kwalitatieve richting voor het niveau. Voor de volgende paar uitdagingen gaan we deze nieuwe richting gebruiken als basis voor onze uitdagingen.
De volgende uitdaging gaat verder met het lineaire bewegingsidee:
Je hoeft niet te nauwkeurig te kijken om te zien dat deze uitdaging zowel kwalitatieve als kwantitatieve veranderingen toevoegt aan de vorige uitdaging. De dip in het trackpad is een kwalitatieve verandering, terwijl de toevoeging van extra vijanden in de jump-oversectie een kwantitatieve verandering is. Dit is zowel een evolutie en een uitbreiding.
In Super Mario World zijn uitdagingen die zowel evolueren als uitbreiden van hun voorouders ongeveer net zo gewoon als uitdagingen die slechts één van die dingen doen.
Ten slotte eindigt mijn niveau met deze uitdaging, die de eerdere looping-platforms terugbrengt:
Dit is een enigszins gemeenschappelijke strategie, waarin de twee evolutionaire takken van een niveau aan het einde worden samengebracht. Hier hebben we de lusvormige en lineair bijgehouden platforms samen voor een laatste, klimatologische uitdaging.
Op dit punt wil ik terugkeren naar de definitie van een cadans. Een cadans is de manier waarop alle uitdagingen in een niveau met elkaar verband houden.
Om dit te illustreren, heb ik een kaartafbeelding gemaakt waarin wordt uitgelegd hoe mijn voorbeeldniveau werkt:
Zoals je kunt zien, breekt dit niveau af in twee zich ontwikkelende takken, of wat ik de 'vork'-cadans noem, met een nieuwe beweging aan het eind.
Zelfs binnen Nintendo-games, en binnen Super Mario World zelf, zijn er verschillende cadensen:
Er zijn meer cadansstijlen dan wat je hier ziet in andere spellen van andere ontwikkelaars. Dit betekent dat de cadansstructuur je creativiteit als level designer niet beperkt, maar juist verbetert.
Het CCST-raamwerk is slechts een hulpmiddel om ontwerpers te helpen hun creatieve werk georganiseerd en coherent te houden. Evoluties en uitbreidingen kunnen op vrijwel elke game- of game-monteur worden toegepast. Cadensen zijn een manier om van nature voorkomende patronen in het ontwerp van niveaus te begrijpen.
Hoewel ik de bovenstaande concepten heb genoemd als onderdeel van mijn onderzoek, is alles wat ik in dit artikel (en de follow-ups ervan!) Bespreek iets dat ik op een natuurlijke manier heb waargenomen bij het ontwerpen van klassieke videogames. Theorie is niet belangrijker dan de praktijk, en er is geen perfect recept voor niveau-ontwerp. Dat gezegd hebbende, de CCST-structuur kan en zal u helpen om uw beste werk te verbeteren en te organiseren.
Volgende: Leer hoe u evoluties en uitbreidingen kunt gebruiken in uw niveauontwerp.