2D Platformer Game Examen
Opdracht?
Tijd: 4 dagen
Hoeveel personen: Alleen
Afgerond: april 2024
Het examen voor het keuzedeel game. Maak een simpele 2d platformer in 4 dagen tijd en presenteer je resultaat op de 5de dag. zorg ervoor dat je je code kunt uitleggen en zorg voor structuur in je project.
Examen cijfer: 10.0
Realisatie
Dit project was het examen voor het keuzedeel game. Ik had 4 dagen de tijd om de game te ontwerpen, realiseren en de documentatie bij te houden. De assetpacks werden geleverd door school. Voor deze game probeerde ik zoveel mogelijk van de geleerde stof toe te passen. Het doel was om een platformer te maken met een eindelijk einddoel, maar met meerdere wegen om daar te komen. Hiervoor liet ik mij inspireren door games zoals de oude Sonic the Hedgehog games.
Ik besloot om voor dit project een andere aanpak te hanteren dan dat ik in het verleden heb gedaan. Waar ik normaal begin met het bouwen van het level en dan de objecten en personages later in het level bouw/plaats, ben ik deze keer begonnen met het programmeren van alle functionaliteiten. Ik ben begonnen met de movement van de speler te maken. Daarna heb ik de drie verschillende vijanden geprogrammeerd. Alle drie hebben verschillend gedrag. Een enorm rotsblok dat zich laat vallen als de speler er onderdoor loopt (denk aan de thwomp uit de super mario bros games), een zaag die tussen twee punten heen en weer beweegt, En rijen aan toortsen die op een interval vuur spuwen.
Nadat ik klaar was met de vijanden heb ik de powerups gemaakt. Drie verschillende: een appel die punten geeft, een meloen die je extra hitpoints geeft (max 2) en een banaan die de speler zijn double jump terug geeft als de speler deze al gebruikt heeft.
Als laatste functionaliteit heb ik de UI en de menu’s gemaakt. Een redelijk simpel systeem met iet veel bijzonders. Wel zit er een pauze functie in. Pas nadat ik dit allemaal gemaakt had, heb ik het level eromheen gebouwd. Nadat ik de tilemap gemaakt had was het voor de rest nog maar een kwestie van de objecten op de juiste plek slepen.

Hierboven zie je hoe het uiteindelijke level eruit is gekomen. Zoals je kunt zien ging ik echt voor meerder wegen en elke weg komt ook langs verschillende vijanden op. Je kunt ook op meerder plekken onderweg van pad wisselen. Aan de rechterkant zie je het einddoel in de vorm van een trofee. Waar ik in eerste instantie heel blij was met dit ontwerp, bleek uit het testen dat er wel een groot probleem was. De testers waren niet zeker welke kant ze op moesten. Waar ik dacht dat het in de meeste platformers vanzelfsprekend is om naar rechts te gaan, waren de speler toch een beetje in de war. Bij nader onderzoek zie ik nu wel waarom bij Sonic niemand in de war is war ze naartoe moeten en bij mijn spel wel. De grootste reden is dat bij Sonic het (eerste) level begint met een simpel pad naar rechts die zich onderweg opsplitst naar meerdere paden. Zo weet de speler wel dat hij naar rechts moet, maar heeft ook de vrijheid om te kiezen. Doordat mijn spel niet echt een opbouw heeft in de keuzes, is het een beetje overweldigend en raken de spelers in de war. Dit is zeker een punt om in de toekomst mee te nemen, maar helaas was er in dit project geen tijd om dit probleem aan te pakkken.
Voorbeeld

Dit is hoe aan het einde van de rit mijn code eruit zag om de speler te laten springen. Ik heb ervoor gekozen om een boolean te gebruiken om te kijken of de speler een double jump heeft, omdat dit dan makkelijker aan te passen was voor de banaan powerup. Over het algemeen een een redelijk simpel script, maar het heeft veel aanpassingen gehad om de jump zo goed mogelijk te krijgen. En ik ben blij met het eindresultaat. Ook zie je twee keer de animator voorbij komen. Hoewel dit niet de eerste keer was dat ik met animaties werkt, was het wel de meest uitgebreide animatie set die ik tot nu toe gemaakt heb. Veel objecten in het spel hebben een animatie, en de speler heeft voor bijna alles wat hij doet wel iets.

Dit is hoe de animator van de speler eruit ziet.
Al met al ben ik heel blij met het eindresultaat en docenten vonden het ook heel indrukwekkend.