Game Input Design

Game Input Design

In het voorjaar van 2011 heb ik voor de opleiding “Game Design” van het Alfa-college in Groningen acht workshops verzorgd over “Game Input Design“.  Ik denk, dat Game Input Design steeds belangrijker wordt voor games. Er is qua game input steeds meer mogelijk (denk maar aan de dansmat, de Wii, Eyetoy, Move en Kinect), het is vaak het meest onderscheidende element tussen de verschillende game consoles, en heeft enorm veel impact op de game beleving. Ik denk ook dat game designers vaak nog niet goed weten wat er allemaal mogelijk is, en er ook niet echt mee durven te spelen. En dan heb je zoiets als de Teensy (een Arduino-compatibele microprocessor) die het mogelijk maakt om voor gewone studenten (dus niet superprogrammeurs) om heel eenvoudig zelf dingen te maken en uit te proberen …..

Les en lesmateriaal

Voor de cursus heb ik 8 verschillende lessen voorbereid, en een aantal “hardware-kits” samengesteld met simpele elektronica-onderdelen die de studenten als basis konden gebruiken. Veel van de informatie moet je toch zelf ervaren voordat het tot je doordringt.

De lessen waren:

  1. Introductie Game Input Design. Een heleboel vragen komen aan de orde, naast een eerste kennismaking met werken met de Teensy.
    •Wat is een Game Input Device (GID)?
    •Wat kun je allemaal als game input device gebruiken?
    •Waarom zou je andere GID dan muis en toetsenbord gebruiken?
    •Hoe kun je zelf input devices maken?
    •Waarom zou je dat willen?
    •Hoe koppel je zo’n apparaat aan een computer?
    •Wat zijn de gevolgen voor de game?
  2. Digitale Input. Een schakelaar of knop als sensor levert voor een game een digitaal input op: aan of uit. Wat kun je allemaal met “schakelaars” in een game? Hoe herken je een schakelaar? (Wat zijn er eigenlijk voor soorten schakelaars?) Vervolgens gaan we aan de slag met de Teensy, en sturen games aan op de computer die ook met het toetsenbord bediend kunnen worden.
  3. Analoge Input. Een analoge input is een input die een hele reeks van waarden kan hebben, in plaats van alleen “aan” of “uit”. Heel veel belangrijke grootheden in een spel zijn “analoog”: snelheid, positie, sterkte van de held etcetera. Welke Game Input Devices en welke sensoren leveren analoge inputs? We zien hoe we analoge sensoren aan de Teensy++ kunnen hangen, en vervolgens gebruiken we die om bijvoorbeeld de muis te besturen.
  4. Feedback en output. Een Game Input Device vertaalt acties van de speler naar acties in het spel. Maar het spel geeft dan ook iets terug aan de speler (in beeld/geluid/kracht/…).  Welke “feedback loops” zijn er in het spel, en wat moet het spel daarin doen? Wat voor soort output kan een Game Input Device richting de speler geven? Daarna zien we hoe we dat kunnen doen met de Teensy en proberen het zelf uit.
  5. Capacitive Sensing. Een mens is te beschouwen als een grote condensator. Deze eigenschap maakt het mogelijk om schakelaars te maken voor games zonder bewegende delen (denk aan een dansmat), of analoge inputs die bediend kunnen worden door je hand in de buurt van een sensorplaat te houden. Met de Teensy++, een paar weerstandjes en wat aluminiumfolie komen we een heel eind.
  6. Input processing.  Apparaten doen nooit meteen wat je van ze wil. In deze les zien we hoe input van de speler voorbewerkt kan worden, zodat een spel voor een hele grote doelgroep leuk is, terwijl er toch veel verschillende soorten spelers zijn. En we zien ook hoe je met eenvoudige filters de gebreken van hardware kunt beperken. We besturen de muis met bewegingen van de nunchuk, ook al variëren de waarden van de accelerometers enorm.
  7. Motion Sensing. Bij motion sensing gebruik je beweging van de speler om acties in een spel te veroorzaken. Waarom zou je dat doen? Welke bewegingen kun je detecteren en welke devices doen dat al? Waar moet je als game designer/game  programmer op letten? We zien hoe we een snelle beweging van de nunchuk met de Teensy kunnen herkennen en gebruiken in een game. (In meer detail ga ik daar hier op in).
  8. Directe koppeling tussen game en input device. De Teensy ondersteunt USB-HID voor keyboard en muis, dat wil zeggen, dat met een eenvoudige compiler-optie een Teensy door een willekeurige computer herkend zal worden als een externe muis of toetsenbord. Maar soms wil je een directere koppeling tussen het spel en de controller, onder andere om feedback (in geluid of vibratie) terug te kunnen geven. In deze les kijken we hoe we de Firmata bibliotheek kunnen gebruiken om Flash programma’s te laten communiceren met de Teensy.

Elke hardware-kit bestond in basis uit een Teensy++ en een breadboard, en daarnaast verschillende sensoren en simpele elektronica componenten. Het moest natuurlijk allemaal goedkoop zijn, maar voor 60 euro per kit was er nog genoeg te doen. En ik kon natuurlijk niet verwachten dat iedereen een degelijke kennis van elektronica heeft (heb ik ook niet). Ik vind het belangrijk om ook te laten zien dat je met goedkope middelen ook interessante dingen kunt doen, dus de kit bevat bijvoorbeeld een tilt-switch, reed relais, piezo buzzer, opto-couplers (om bijvoorbeeld extern speelgoed met geluidjes te koppelen). Ik had via eBay 7 nunchuks gekocht, voor 7 euro per stuk, en dat geeft je meteen een joystick en 3 accelerometers!

Ervaringen

Ik vond het erg leuk om aan een groep van ongeveer 20 studenten les te geven. Van tevoren wist ik niet wat ik er van kon verwachten maar ik denk dat iedereen zijn best heeft gedaan om er iets van te leren.

In de eindpresentatie was ik over alle teams heel tevreden – elk team had een heel eigen draai aan de opdracht voor het blok (“gegeven deze specs voor een nieuw draagbaar device: ontwerp een spel en speciale controller voor een game voor de hele familie”) en er iets van gemaakt. Een bijzondere vermelding hoort voor “Team Elite”: (Maarten, Keriem, Robin en Maas). Zij hadden een spel ontworpen genaamd “Rollbotic“, waarbij bewegingen van de speler (bukken, omhoog komen) direct vertaald werden in bewegingen van een soort transformer robot in een side-scroller game.

Maas en Keriem tijdens de eindpresentatie

Maas en Keriem tijdens de eindpresentatie

Dat team had de opdracht aangepakt zoals ik hoopte: zelf knutselen, je niet laten beperken door wat er toevallig al aanwezig was en er gewoon voor gaan. En met een heel mooi resultaat! Ze hadden op internet een cool uitziende ventilator gevonden die blauw licht uitstraalde. Dat, gecombineerd met de accelerometers van de nunchuk die ze voorzichtig uit elkaar hadden gehaald bleek voldoende voor een futuristisch ogend device wat mooi aansloot bij de vormgeving van de robot. En de bediening van het spel werkte ook zoals zij hoopten.

 

 

1 Reactie
  • Pingback:Gee!Design »  De kabouter(portal)detector
    Geplaatst op 14:09h, 11 januari

    […] regelt en de geluiden maakt, en voor dit project is het een voordeel dat hij lekker klein is.  (Op eerdere pagina’s ben ik al ingegaan op de voordelen van de Teensy boven de […]