Game Design in het (Informatica) Onderwijs Mark Overmars Universiteit Utrecht Aspecten van Game Ontwerp • Design – Hoe het spel gespeeld wordt en hoe het eruit ziet • Interne Context – Waar het spel over gaat • Implementatie – Hoe het spel gemaakt wordt 2 Game Design • • • • • Regels en Mechanismen Interface Ontwerp Verhaallijnen Grafische Vormgeving Geluid en Muziek 3 Wiskunde: Regels • Een game wordt gestuurd door regels – Creatieve aspecten • Regels moeten leuk zijn • Regels moeten zinvol zijn – Wiskundige aspecten • Regels moeten consistent zijn • Regels moeten gebalanceerd zijn • Regels moeten eerlijk zijn 4 Regels • Operationele regels – – – – Hoe speel je het spel Zetten, acties, handelingen Score Begin situatie, win conditie • Onderliggende mechanismen – Hoe wordt berekend welke unit een strijd wint • Impliciete regels – Hoe lang mag je nadenken – Je mag niet halverwege ophouden – Je mag de tegenstander niet afleiden 5 Mechanismen • Boter kaas en eieren – Spelers leggen afwisselend een steen van hun kleur op een leeg veld – Wie het eerste drie op een rij heeft wint • 3 tot 15 – Spelers kiezen afwisselend een getal tussen de 1 en de 9 – Een getal mag maar door 1 speler gekozen worden – Degene die als eerste 3 getallen heeft die optellen tot 15 heeft gewonnen 2 9 4 7 5 3 6 1 8 6 Balans • Regels moeten in balans zijn – Spelers hebben gelijke kans om te winnen – Beloningen zijn gebalanceerd met de uitdagingen of risico's – Features moeten met elkaar in balans zijn 7 Spel Theorie • Elke feature moet nuttig zijn • Duidelijke winnende strategieën moeten voorkomen worden • Doel van spel theorie is om winnende strategieën te berekenen 8 Papier – Steen - Schaar • Papier verslaat steen verslaat schaar verslaat papier Papier Steen Schaar Papier Papier 0 +1 -1 Steen -1 0 +1 Schaar +1 -1 0 Steen Verander kosten: Papier 1, Steen 2, Schaar 3 Wie wint krijgt 5 punten Schaar Papier Steen Schaar Papier 0 +6 -3 Steen -6 0 +6 Schaar +3 -6 0 9 Strijd horse bowman archer bowman infantry cavalry archer bowman 0 +1 +1 -1 infantry -1 0 +1 -1 cavalry -1 -1 0 +1 archer +1 +1 -1 0 infantry cava lry • Goed: Meerdere winnende strategieën • Slecht: Je kunt zonder infantry – Oplossen door ze goedkoper te maken Laat leerlingen zulke schema's maken en ze analyseren 10 Beloning • Beloning is essentieel in spellen – Globaal, per level, lokaal – Gerelateerd aan de doelen – Vele soorten • • • • Score (verhoogd status) Verrassing Uitbreiding van spel Functie binnen het spel (extra auto, powerup, etc.) 11 Kansrekening • Beloningen moeten gerelateerd zijn aan de uitdaging of het risico • Echte versus ervaren kans • Laat leerlingen een goed casino spel maken 12 Taalonderwijs • Verhalen zijn belangrijk in spellen – Achtergrond verhaal – Interactief verhaal • “Hero’s journey” • Archetypes • Laat leerlingen spelverhalen analyseren en hun eigen verhalen schrijven 13 Kunstonderwijs • Game karakters – Laat leerlingen deze ontwerpen – Creëer modellen en eventueel animaties • Game werelden – Achtergronden tekenen – Werken met kleur en lichtval voor juiste ambiance • Game muziek – Bestudeer game muziek – Creëer eigen (adaptieve) muziek – Maak effectieve geluidseffecten 14 Interne Context • Waar gaat het spel over – Natuurkunde – Scheikunde – Geografie – Geschiedenis – Economie – Sociale relaties • Laat leerlingen educatieve spelen maken 15 Informatica: Maak het spel • • • • Programmeren Computer Grafiek Kunstmatige Intelligentie Netwerken • Testen • Gebruikers Onderzoek • Projectmatig werken 16 Programmeren • Een spel vanaf de basis zelf programmeren is heel veel werk • Goede pakketten bestaan • Leerlingen leren concepten zoals – Object-oriented design – Event based programming – Real-time programming – Distributed programming 17 Computer Grafiek • Accent in spellen ligt minder op graphics dan vroeger • Het meeste wordt door bibliotheken gedaan • Leerlingen kunnen leren over – – – – – De beperkingen van grafische kaarten Sprites en isometrische spellen 3D modellen Licht, mist, spiegelingen, schaduw Animaties en particle systemen 18 Kunstmatige Intelligentie • Kunstmatige intelligentie wordt steeds belangrijker in spellen • Leerlingen leren over – Reactief gedrag – Regelgebaseerde systemen – Finite state machines – Agenten – Pad planning en flocking 19 Finite State Machines Jager Eet pil Timer Terug thuis Gevangen Bang Dood 20 Spelen over een Netwerk • Belangrijk en populair • Erg lastig – Synchronisatie – Verloren data – Hackers • Leerlingen zullen dit beter waarderen als ze zelf geprobeerd hebben het te maken 21 Testen • Testen heeft twee doelen – Zijn er bugs – Is het spel leuk en gebalanceerd • Testen is een belangrijk aspect dat niet door de maker gedaan kan worden • Leerlingen leren hoe op effectieve manier met testen om te gaan 22 Groepsprojecten • • • • • Verschillende capaciteiten vereist Planning is belangrijk Design documenten schrijven Gebruikersonderzoek Documentatie 23 Hulpmiddelen • Een spel vanaf de basis ontwikkelen is te veel werk – Commerciële spelen worden gemaakt door teams van 50 personen • Goede hulpmiddelen zijn beschikbaar – – – – StageCast (www.stagecast.com) ClickTeam (www.clickteam.com) Game Maker (www.gamemaker.nl) Veel specifieke pakketten (RPG maker, 3D game maker, …) 24 Game Maker • Rapid Application Development omgeving voor spellen • Voornamelijk 2-dimensional • Geen programmeren nodig maar er is een ingebouwde taal. • Geschikt voor mensen van 8 tot 80 • Gratis en geregistreerde versie • Site-licence 25 Game Maker • Gemiddeld 100.000 keer per maand gedownload. • Zeer actieve gebruikersgroep • Gebruik: – – – – – Thuis Veel technologie zomerkampen Op basisscholen In voortgezet onderwijs Op hogescholen en universiteiten 26 Game Maker • Vele soorten spelen zijn ermee gemaakt 27 Object-Oriented, Event-Driven • Alles in een spel is een object • Objecten reageren op events – Botsing, User input, Timers, etc. – Acties worden uitgevoerd • Instanties kunnen van object type veranderen 28 Acties • Meer dan 120 drag-and-drop acties • Ongeveer 1000 functie in de programmeer taal – – – – – – Botsingen testen Pad planning Geluid en muziek Een particle systeem Netwerk functies 3D graphics • Uit te breiden met extra acties en via DLLs 29 Inheritance • Inheritance is eenvoudig in Game Maker – Objecten kunnen parent objecten hebben – Zij overerven hun gedrag – Gedrag kan overschreven worden door eigen events voor het kind object te definiëren 30 Demonstratie 31 “Make a Game” • SURFnet/Kennisnet project • Wedstrijd voor leerlingen om educatieve games te maken met Game Maker • Lesmateriaal en helpdesk voor docenten • Beoordeeld door professionals en leerlingen • Start in februari 2005 32 Conclusies • Game Design kan heel goed in het onderwijs gebruikt worden – Niet alleen bij informatica! • Het geeft goede mogelijkheden voor multidisciplinaire projecten • Enthousiasme onder leerlingen is groot – Jongens en meisjes • Goede hulpmiddelen beschikbaar – www.gamemaker.nl 33