Homepagina Over mij Decompositie en adviezen Digitale veiligheid Gestructureerde data Representeren Rekenspel 1 Rekenspel 2 Identificeren Warmingstripes Eindopdracht: Webshop Development Eindopdracht: Game Development

Eindopdracht: Webshop Development

Deze periode heb ik gewerkt aan de game opdracht. Alle opdrachten zijn volledig uitgewerkt met alle basis en expert eisen. In dit verslag werk ik uit hoe ik alle opdrachten heb gemaakt, en hoe mijn eindopdracht in elkaar zit.

Deel 1: De eerste fases:
De eindopdracht begint met het kiezen van de engine. Omdat ik het idee heb dat ik met python het best uit de voeten kan komen, heb ik gekozen voor Pygame-ce. Er was ook veel uitleg online te vinden voor het maken van games met python. Voor de eerste drie fases leek het mij namelijk het best om YouTube-tutorials te kijken om toch een beetje te leren hoe ik deze opdrachten moet aanpakken. De links naar deze tutorials staan in de comments van de code. De tutorials gaven me in de meeste gevallen de houvast om alle basiseisen uit te werken, maar niet altijd om de expertfuncties toe te voegen. De expertfuncties zijn in de meeste gevallen gewoon kleine aanpassingen op de "basis” code die ik met de YouTube-tutorials heb gemaakt. Daar was het dan ook handig bij om al een beetje python te kunnen, en daarom was het dus handig dat ik python gekozen had als engine. Bij Flappy Bird komt nog de moeilijkheid van de sprites erbij, maar omdat de YouTube-tutorial deze inbegrepen had, werd het een stuk makkelijker, omdat het de tijd van het maken van de sprites weg nam.

Deel 2: De eindopdracht:
Voor de eindopdracht heb ik ook een tutorial gekeken, maar bij deze opdracht heb ik wel het meeste zelf toegevoegd en aangepast. Het doel was om GameBoy Tetris uit 1989 te recreëren, dus heb ik het puntensysteem zo aangepast dat het matcht met het puntensysteem uit de originele game. Ook heb ik (met een beetje hulp van AI) een levelsysteem geïmplementeerd, waardoor de game naarmate je meer speelt ook steeds lastiger wordt. Dat was nog best lastig, omdat ik de code goed moest analyseren om te zien waar ik het levelsysteem kon toevoegen. AI heeft me hierbij geholpen. Omdat de tutorial twee uur lang is, is het moeilijk om steeds terug te gaan naar het punt waar een bepaalde functionaliteit wordt uitgelegd. Het hielp dus ook dat ik python voordat ik aan deze opdracht begon al een beetje kende, omdat het anders lastig zou zijn om de nieuwe functies logisch te implementeren.
Doordat het spel is gebaseerd op één van de best verkochte spellen aller tijden, bouwt de moeilijkheidsgraad door het nieuwe levelingssysteem op een belonende manier op. Ook heb ik de sound effects zelf toegevoegd van het internet. Het eindresultaat is een GBC achtige Tetris game met een volledig speelbare spelmodus A, waarbij alle puntensystemen en speciale effecten hetzelfde zijn als in het origineel.

Deel 3: Evaluatie:
In tegenstelling tot de webdesign opdracht, is deze opdracht naar mijn mening een stuk eenvoudiger om uit te voeren. Ik ben blij dat ik aan het begin ervoor heb gekozen om Python te gebruiken, en dat het mogelijk was om YouTube video's te vinden die leken op de opdrachten. Doordat er veel uitleg over Python en Pygame voor beginners online staat, was het ook minder vaak nodig om AI te gebruiken om dingen uit te leggen vergeleken met de webdesign opdracht. Omdat de periode vrij lang was, werd het voor mij ook een stuk makkelijker om de deelopdrachten uit te spreiden over langere perioden, waardoor er een stuk minder gedaan hoefde te worden in de laatste weken. Ik denk dat deze opdracht een mooie conclusie was voor dit schooljaar informatica.

Download de games hier.