Gamedesign leerjaar 2

Inleiding

Leerdoelen

De komende tijd gaan we de diepte in bij Game Design! Je leert over de opbouw van games met game-objecten en bijbehorende acties. Vervolgens breng je dit zelf in de praktijk met behulp van de state-of-the-art ontwikkeltool Unity. No strings attached, dit is voor de mensen die echt een flinke stap willen maken qua game design en development.

Het doel: het maken van een supercoole 3D-gebaseerde game die de show steelt tijdens onze open dag, op school en online.

Hoe zit een game technisch in elkaar?

  • Game-objecten
  • Acties en flowcharts

Maken van een game in Unity

  • Verkennen van de ontwikkelomgeving
  • Herbruikbare game-objecten maken
  • Scripting met C#
  • Animatie met state machines
  • Geluiden en muziek toevoegen
  • Game deployen
  • Tutorials: appelplukker, roll-a-ball, space shooter

Samenwerken en presenteren

  • Projectmanagement met overleg en Trello
  • Je eigen company weblog
  • Uitlegfilmpjes

1. Game-objecten en acties

Bij het ontwikkelen van games is het belangrijk dat je nauwkeurig en analytisch kijkt naar je game en dat je complexe acties opsplitst in simpelere, kleine actiestappen.

Herkennen van game-objecten

Een game bestaat altijd uit één of meerdere game-objecten. Een game-object is een object dat invloed heeft op het verloop van het spel. Voorbeelden van game-objecten zijn spelers, vijanden en projectielen (zoals bommen). Bewegende platforms kun je ook zien als game-objecten, maar een stilstaand platform over het algemeen niet. Een uitzondering hierop zijn deuren of stekels (want die hebben invloed op het verloop van het spel).

Het is belangrijk om alleen verschillende game-objecten te identificeren. Vaak komt een bepaald game-object meerdere keren voor in het spel. Als het gedrag en uiterlijk (bijna) gelijk is, dan is het steeds één en hetzelfde game-object.

Hieronder zie je een scene uit New Super Mario Bros. In het beeld wat je nu ziet, komen vier verschillende game-objecten voor. Kijk welke dit zijn door op de letters te klikken.

 

Opdracht 1 Zoek zelf een screenshot van een 2D-spel naar keuze met tenminste vijf verschillende game-objecten erop. Maak een ThingLink van dit screenshot om de game-objecten aan te wijzen en laat je resultaat zien aan de docent.

 

Opdracht 2 Maak bij elk van je gevonden game-objecten een kort lijstje van acties die het game-object kan uitvoeren gedurende het spel. Bedenk je telkens: wat doet het game-object, wanneer vinden de acties plaats en wat gebeurt er met het game-object.

2. Flowcharts

Als je een spel gaat maken, moet je heel goed kijken welke game-objecten je spel heeft en wat deze moeten doen. In een spel gebeurt namelijk alleen maar iets als je dit van tevoren bedenkt. Het is belangrijk dat je dit gestructureerd in kaart brengt. Een techniek die je daarbij helpt, is het maken van flowcharts.

Een flowchart is een diagram waarin je laat zien wat een game-object doet en welke stappen daarbij doorlopen worden. Je werkt daarbij met de volgende symbolen:

Ovaal of cirkel Begin of einde van de acties
Parallellogram Invoer- of uitvoerstap (actie van de gebruiker of van de computer)

Rechthoek Processtap (iets uitrekenen)

Ruit Beslissingsstap

Pijl Verbindt de stappen in een bepaalde volgorde

 

De centrale gedachte is dus dat acties uit meerdere stappen bestaan en dat je die met een flowchart in kaart brengt.

 

Voorbeeld: flappy bird

Flappy Bird is eind 2013 bedacht door een Vietnamees genaamd Dong Nguyen. Het spel is in 2014 een enorme rage geweest, totdat de ontwikkelaar het spel zelf verwijderde uit de App store (later heeft hij het spel weer beschikbaar gemaakt).

Het doel van het spel is om een vogel te laten vliegen en daarbij buizen te ontwijken. Voor elke buis die de vogel passeert, krijgt de speler een punt. Er zijn vier verschillende soorten medailles te winnen. Bij een score van 10 of meer is dat een bronzen medaille. Bij een score van 20 of meer een zilveren, bij 30 of meer een gouden en bij 40 of meer een platina medaille.

Bron: Wikipedia: Flappy Bird

Game-objecten

Flappy Bird heeft twee game-objecten:

  • Flappy Bird (de hoofdpersoon)
  • Een paar buizen (eentje aan de onderkant en eentje aan de bovenkant, met een ruimte ertussen waar Flappy Bird doorheen moet vliegen)
    Dit game-object wordt steeds herhaald met wisselende (random) afstand tussen de buizen

Flowchart

Hieronder zie je de flowchart met logica voor Flappy Bird.

Voorbeeld: kaboom

Kaboom is een spel uit 1981 voor een ouderwetse spelconsole, de Atari 2600. Het was een behoorlijk succes met ruim 1 miljoen verkochte spellen.

De gameplay bestaat uit het vangen van bommen die steeds door de 'Mad Bomber' worden gedropt. Elke gevangen bom levert punten op. In eerste instantie heb je drie 'buckets' om bommen mee te vangen. Bij elke 1000 punten krijg je een bucket extra, tot maximaal zes. Maar als je een bom mist, dan verlies je een bucket. Heb je geen buckets meer, dan ben je game-over.

Game-objecten

Kaboom heeft de volgende game-objecten:

  • De speler, met een aantal buckets
  • Mad bomber
  • Bom (komt vaker gelijktijdig voor)
Speler Bom Mad bomber

Acties:

  • Beweeg naar links en rechts, volg de muis van de speler.
  • Als een bom botst tegen de speler:
    • Vang de bom op
    • Verhoog de score.

Acties:

  • Val naar beneden.
  • Als een bom de grond raakt:
    • Verlaag het aantal buckets van de speler
    • Verdwijn
    • Laat de andere bommen verdwijnen

Acties:

  • Beweeg willekeurig naar links en naar rechts
  • Laat elke x seconden een bom vallen (wordt steeds sneller)

 

 

 

 

Doen: spel-analyse

Voor de Atari 2600 zijn veel verschillende spellen gemaakt. Deze spellen hebben allemaal gemeen dat ze niet heel ingewikkeld konden zijn, omdat de Atari niet zoveel aankon. Dat maakte de makers van spellen enorm creatief, want veel van deze spellen zijn toch erg leuk om te spelen. Aan jou de taak om één van deze spellen verder te analyseren.

Opdracht (individueel) Kies hieronder een spel uit dat ooit gemaakt is voor de Atari 2600. Je kunt het direct spelen in een emulator. Denk eraan: voor veel spellen moet je eerst de 'reset game'-switch overhalen op de console. Speel een paar spellen enkele minuten lang voordat je definitief een spel uitkiest.

Maak een document waarin je het volgende opneemt:

  • Achtergrondinformatie op over het spel (maker, jaar van uitgifte, verhaal, bediening, aantal spelers, leuke feitjes, etc.)
  • Beschrijving van de verschillende game-objecten (met afbeeldingen erbij)
  • Per game-object een lijstje met acties
  • Per game-object een zelfgemaakte flowchart 

Flowcharts maak je met draw.io. Je kunt deze webtool koppelen aan je onedrive. Exporteer uiteindelijk je flowchart via Bestand > Export as > Portable Network Graphics (PNG) en plak deze afbeeldingen in je document.

iPad: Je mag flowcharts ook maken met de app PureFlow voor je iPad en je document in Pages maken.

 

Als de linkjes hieronder het niet doen, kun je naar de Javatari.js pagina gaan en vervolgens het Atarispel handmatig inladen. Je vindt de spellen in L:\Publieke documenten\Games\Atari.

 

 

3. Introductie op Unity

Doorloop de hele tutorial en maak een werkende appelplukkergame. Deze game wordt beoordeeld.

a. Intro

Unity thuis downloaden:

  • Ga naar unity3d.com en download daar Unity5 personal voor Mac of Windows.
  • Login met de volgende gebruiker:
    • gebruikersnaam: icthelpdesk@hvc.nl
    • wachtwoord: HvCUnity200

Intro op Unity

b. Game art

Appelplukker - game art

c. Camera

Appelplukker - camera

d. Appelboom bewegen

Appelplukker - appelboom bewegen

e. Van richting veranderen

Appelplukker - van richting veranderen

f. Appels laten vallen

Appelplukker - appels laten vallen

g. Manden in scherm

Appelplukker - manden in scherm

h. Appels opvangen

Appelplukker - appels opvangen

Opdracht (individueel) Breid het spel dat je nu gemaakt hebt op een slimme manier uit. Hoe mag je zelf bedenken, maar je kan denken aan verschillende kleuren appels of andere soorten fruit of afspelen van een geluidje als de appel in de mand terechtkomt.

i. Scores toevoegen

Appelplukker - scores toevoegen

j. Appels laten verdwijnen

Appelplukker - appels laten verdwijnen

k. Manden laten verdwijnen

Uitleg (individueel) Kom langs bij de docent voor uitleg over lijsten en stapels in je code.

Appelplukker - manden laten verdwijnen

4. Meer oefenen

Het is slim om nog meer te oefenen met Unity. Unity heeft zelf heel nuttige tutorials waar je ontzettend veel van kunt leren.

Ik vind het moeilijk

Ik kom er goed uit

Ik wil meer gaan doen met graphics

Ik wil meer gaan doen met geluid

 

 

5. Entertainmentgame

Voor je entertainmentgame kun je verschillende dingen nodig hebben.

Bepaal of je een 2d-game maakt met sprites of een 3d-game met 3d-objecten.

2D-game development met Unity

Tanks tutorial

Blender tutorial

 

 

Vervolg (in ontwikkeling)

Acties en flowcharts

Flowcharts

Een flowchart (stroomdiagram in het Nederlands) is een manier om een proces dat uit meerdere stappen bestaat in kaart te brengen. Flowcharts worden gebruikt bij het maken van games en software, omdat ze inzichtelijk kunnen maken hoe spelobjecten moeten werken.

Een flowchart maak je eenvoudig met draw.io. Een flowchart bestaat uit meerdere vormen.

<<meer uitleg volgt>>

Programmeren