posts

Scratch

Scratch

Scratch
Scratch is software ontwikkeld door de afdeling Lifelong Kindergarten van het MIT. Scratch is een programmeeromgeving waarin op speelse wijze programma’s gebouwd kunnen worden. Anders dan het speelse uiterlijk doet vermoeden kunnen er grootse dingen in worden gemaakt. Scratch is breed (animatie, film, spelletjes, interactie), maar ook diep (eenvoudige scripts die een poes geluid laken maken, tot meer omvangrijke projecten waarbij muziekstukken interactief gecomponeerd kunnen worden).

Natuurlijk wordt er door te Scratchen flink wat geleerd in termen van computers (if-then-else e.d.) maar de echte leerpunten zitten hem meer in probleem oplossen, logisch denken en stimuleren van creativiteit.

Scratch is gratis en beschikbaar voor alle computersystemen. De naam verwijst naar de DJ-stijl jaren 80 waarbij door het scratchen van langspeelplaten nieuw werk ontstond. De internationale site stimuleert het hergebruik van elkaars werk. Vernieuwing door remixen en leren van elkaars werk zijn uitgangspunt.

Nederland
In Nederland zijn de afgelopen jaren her en der interessante Scratch initiatieven ontplooid. Vaak in bescheiden setting waarbij de inzet en ideeën niet veel verder kwamen dan het klaslokaal van de enthousiaste docent. Stichting Scratchweb stelt zich tot doel het gebruik van Scratch in Nederland te stimuleren. Via een website een community op te bouwen die praktisch met elkaar Scratch kennis gaat documenteren. Denk daarbij aan lesmaterialen, vertalen van handleidingen, voorbeelden en de internationale site. Ook wil de site de Scratch cursussen ontsluiten, zodat docenten en organisaties elkaar makkelijker kunnen vinden. Op langere termijn is er de ambitie om vaardigheden van programmeren, animeren, game design enz. systematisch te ontsluiten met Scratch modules.

Scratch Dag
Jaarlijks is er een Scratch dag waarop wereldwijd evenementen worden georganiseerd om Scratch een groter publiek te geven. Dit jaar valt deze dag, zaterdag 21 mei, samen met UNESCO’s World Day for Cultural Diversity for Dialogue and Development.

 

Meer info: http://www.scratchweb.nl/

Games in het MBO

Bericht van Alex van Winkel, oud cursist van Gamescool:

Op verzoek zal ik met enige regelmaat verslag doen van mijn ervaringen met Gamemaker in de klas. ‘In de klas”, betekent groepen uit het Voortgezet Onderwijs voor  AndersTaligen (VOAT) en de MBO-1  Assistenten opleiding (AKA). Dit zijn twee onderdelen van School 23, dat op zichzelf weer een onderdeel is van het ROC Eindhoven.

Gamemaker op school
Gamemaker op school

Ik geef lessen Informatica / Digitale vaardigheden (het beestje moet een naam hebben) in groepen binnen eerder genoemde afdelingen van School 23. VOAT en AKA zijn twee totaal verschillende doelgroepen, die elk een andere aanpak vereisen. Voor beide groepen geldt wel dat het werken met Gamemaker (en GameMaker4School) vooral facultatief is.  De leerlingen  van AKA – techniek krijgen allemaal wel een initiatie in GameMaker, maar daarbuiten is het zo dat leerlingen in bepaalde periodes kunnen KIEZEN voor het maken van games in GameMaker.Goed.. een leerling heeft gekozen voor het maken van games met Gamemaker… en dan ?  Dan krijgt de leerling eerst een heel eenvoudige opdracht die ik zelf gemaakt heb. Vanwege het (taal-)niveau is deze opdracht in héél kleine stapjes opgedeeld, met héél veel extra screenshots.  Dit bevordert het zelfvertrouwen van de leerling , is mijn ervaring en geeft de leerling de moed om verder te gaan in een reguliere lesmethode zoals GameMaker4School voor het Voortgezet Onderwijs.

Over het algemeen kunnen leerlingen uit de “hogere klassen” van VOAT goed met de methode van GameMaker4School uit de voeten. Het boek heeft een prettige lay-out, er staan zo goed als geen fouten in en de opdrachten zijn helder geformuleerd.  Het afgelopen schooljaar ben ik begonnen met het inzetten van deze methode en dat heeft al tot mooie creaties geleid.

Het mooiste is het natuurlijk als een leerling een game helemaal “from scratch” maakt.  Voor ze dát vertrouwen in zichzelf hebben…  dat duurt wel even. Een paar maanden meestal. De leerlingen vinden het prettig om met een spel te beginnen dat al half af is, merk ik. En zo is de methode ook opgebouwd.

GameMaker zelf is lekker overzichtelijk. Binnen een paar lessen voel je je al vertrouwd met de werkwijze en syntax. Je hebt snel resultaat en dat werkt stimulerend.

Tot zo ver een verslag uit de praktijk. En omdat ik gezien heb dat er hier en daar tips worden gegeven op deze weblog, sluit ik af met deze tip:

http://www.codecademy.com/ 

Een Engelstalige website om zelfstandig o.a. Python of JAVA-script te leren. Voor docenten met leerlingen die het Engels redelijk beheersen… een GOUDEN tip, al zeg ik het zelf…     🙂

Een andere dag met games op het MBO:

Zooo.. vandaag weer een leuke les gehad met 3 leerlingen van AKA richting economie en handel. Fijn om leerlingen plezier te zien hebben in leren. Mijn veronderstelling werd weer eens bewezen: mensen vinden het van nature fijn om iets te leren. Vooral als ze er van overtuigd zijn dat deze nieuwe kennis / vaardigheid ze in de toekomst wat op zal leveren.

MBO-gameles
Tülin, Ibrahim en Abbas speelden een spel om namen te leren sorteren. Dat lijkt eenvoudig, maar zegt u zelf eens, welke naam gaat voor : A.J. Ömer – van den Bosch of A.J.J. van Omer-Aerts ?
Nou ? Mijn leerlingen weten het ! Althans… wisten het op enig moment, want 2 van de 3 leerlingen had alle rondes doorlopen. En je kan bij dit spel pas een ronde verder als je alle namen in de goede volgorde hebt gezet. Ik ga deze game over een week nóg eens laten spelen om te kijken of de rondes nu sneller doorlopen worden.
Belangrijk voor mij was te zien dat dit middel het doel dient : namelijk de leerling leert namen te sorteren op alfabetisch lexicografische wijze. En verder dat de leerlingen er lol hadden. Tülin was eerder klaar en mocht iets voor zichzelf gaan doen (Facebooken, YouTuben… whatever…), maar in plaats daarvan ging ze mee zitten kijken hoe Abbas het er vanaf bracht. Ze ging zelfs Abbas leren hoe hij moest sorteren.. Zeg nou zelf.. dat is toch wat je als docent het liefst ziet ?
Achter dit succesverhaal schuilen natuurlijk wel uren van gefrustreerd puzzelen naar bugs in je eigen game, maar al dat puzzelwerk werd vandaag ruimschoots beloond !

Link naar de game (gratis online te spelen: ) http://facilitair.rocehv.nl  (HTML5 !)

Meer info over gamelessen op school: www.gamescool.nl

AI

Voor een nog geheim project ben ik AI (kunstmatige intelligentie) verder gaan bestuderen. Ik roep altijd dat wiskunde zo belangrijk is voor (aspirant) gamedesigners en met name als je met AI aan de slag gaat blijkt dat helemaal. Een van de interessante boeken op dat gebied is het boek “beheavioural mathematics for Game AI” door Dave Mark. In dat boek worden diverse wiskundige modellen uitgelegd voor veelvoorkomende (intelligente) gamesituaties en hoe je dat omzet naar code.

In het begin van het boek worden de simpele gevallen besproken die voorkomen in gokgames zoals roulette, blackjack of poker. De intelligentie daarachter berekenen is eigenlijk een simpele kansberekening. Tenminste bij online roulette en bij blackjack.

Bij poker wordt het gelijk al een ingewikkelder verhaal. Want bij roulette is elke keer dat je inzet (of de computer laat inzetten) de kans dat je winst of verliest bepaald (iets grotere kans dat je verliest dan dat je wint, zodat op de lange termijn de bank altijd wint). Maar bij games zoals poker komt de menselijke kant om de hoek kijken: Als er bepaalde kaarten op tafel liggen is er altijd de kans dat de tegenspeler bluft. De kans is dus niet meer zuiver te bepalen.

Het meest interessante van AI is dus niet rationeel het optimum van een bepaalde gamestrategie bepalen, maar juist menselijk gedrag te modelleren dat helemaal niet rationeel is, en ook het gedrag van je tegenstander niet. Zelfs als weet dat je tegenstander een hele rationele programmeur is met veel verstand van kansrekening dan weet je het niet. Want misschien houdt hij wel rekening met het feit dat jij weet dat hij rationeel is en dus iets totaal irrationeels doet in de game. Of hij houdt rekening met het feit dat jij weet dat hij weet dat jij weet dat hij weet dat jij weet (enz) dat hij heel slim en rationeel speelt (meestal dan).

Dit soort (psychologische) mechanismen spelen niet in strategy games een rol (welk volk met welke voordelen zal mijn tegenstander als eerste ontwikkelen?) maar zelf in schietspelletjes (welke kamer zal mijn tegenstander zitten, welke ‘gun’ kiest hij waarschijnlijk, als hij mij verwacht binnen te komen met onzichtbaarheids tovenaarscloak en een laserscherm). Sommige serious games zitten vol met dit soort afwegingen.

Naast de kennis van wiskunde om het gedrag te modelleren is dus kennis van menselijk gedrag nodig voor het maken van je game. Er is veel interessant onderzoek gedaan op gebied van (micro-)economie waarin er gekeken is naar hoe mensen omgaan met geld (schaarse middelen in bredere zin) in bepaalde situaties. In de boeken van Dan Ariely over (irrationeel) menselijk gedrag kan je veel interessant materiaal vinden te gebruiken in een (serious) game. Bijvoorbeeld wat het effect is van een ober als hij een fout maakt wanneer hij wel of niet zich excuseert (het blijkt dat als een ober sorry zegt, dat hij/zij meer fooi krijgt). Dit voorbeeld lijkt ver weg van een game, maar dat is het niet als je een game maakt met veel verhaal elementen.

2 belangrijke inspiratiebronnen dus voor gamedesigners: de sociale pysochologie en de wiskunde om dat gedrag vervolgens te modelleren naar game-elementen.

beveiliging van online games

Ik had een interessant gesprek met een oprichter van een gamestudio in Nederland. Ik vroeg hem of hij niet veel games kon maken voor de gokindustrie en/of games voor prijsvragen. Nu gebleken is dat het toch niet zo makkelijk is om jouw ‘succesgame’ veel te verkopen via de diverse platforms, is er misschien wel werk in deze branches voor de vele nieuwe gamestudio’s? Opdrachten voor gamestudios’s Welnu, het goede nieuws: er is veel werk voor gamebedrijfjes die games maken voor prijsvragen of gok spelletjes, zoals bijvoorbeeld een online blackjack game. En de opdrachten variëren van kleine webwinkels die een facebook game willen gekoppeld aan een prijsvraag tot en met een bedrijf als Albert Heijn waar je online prijzen kan winnen met het spelen van een (simpele) game. game project En dan het spannende nieuws: de grote uitdaging bij dit soort games is: de beveiliging. Ik weet nog dat ik geïrriteerd was omdat alle mooie prijzen bij een game van een verzekeringsmaatschappij werden gewonnen door een ICT-er. Een handige vogel (je kan daar dingen over vinden op het internet) weet hoe hij de high score van een html5 game of flash game kan manipuleren. Ik heb lang gedacht dat een game gemaakt in Shockwave een deel van het probleem zou oplossen, maar wie gebruikt er anno 2015 nog Director? Bovendien gesloten code (wat shockwave is), is slechts een deel van de oplossing. Je zal je HTML5 code moeten encrypten en ook de server waar de scores worden opgeslagen zal superbeveiligd moeten zijn. Het motiveert namelijk nogal als je een laptop kan winnen met een game. Wie dus een game gaat maken voor gebruik als prijsvraag of goksite zal veel verstand moeten hebben van (anti-)hacking. Encryptie is basiskost en ook een goede verzekering tegen aansprakelijkheid ;-). Verder misschien ook nog geheimtaal gebruiken. In de tweede wereldoorlog konden de Japanners de Amerikanen niet afluisteren omdat ze de taal gebruikten van de indianen, die bijna niemand kende. Kortom veel kansen voor werk, maar gamedesigners en gameprogrammeurs moeten wel beveiligingsexperts zijn voor deze markt. Genoeg te leren.

Hoeveel kost (de ontwikkeling van) een serious game?

Regelmatig krijg ik de vraag hoeveel het kost om een serious game te maken. Of ik krijg de vraag hoeveel het kost om een idee voor een serious game te ontwikkelen.  Het snelle antwoord daarop zou kunnen zijn: het kost een auto!

Maar ja, hoe duur is een auto? Hebben we het over een tweedehands fiat panda of over een nieuwe elektrische Nissan Leaf? Over een Mercedes Benz of over een Rolls Royce (of nog duurder)?

Bij serious games is er ook sprake van diversiteit. Is het een eenvoudige webgame of een multiplatform game (Ipad, Ipod, Android, Tizen…)? Is het een kleine of grote game (met veel levels en objecten)? Is het een bestaand gameconcept of gaat het om een ‘totaal nieuwe gameplay’? Hoe geraffineerd zal het programmeerwerk moeten zijn. Gaat het om simpele acties of om ingewikkelde AI? Moet er allerlei hardware gemaakt worden, bijvoorbeeld als het gaat om revalidatie of trainingsgames?

Hoeveel platforms moeten er ondersteund worden?
Hoeveel platforms moeten er ondersteund worden?

Kortom het kan alle kanten op en misschien zal het ook duidelijk zijn dat ik niet een definitief antwoord op de vraag kan geven in deze blog. Maar laten we kijken of ik de lezer toch verder kan helpen, met een eerste schatting van kosten.

Het team

Het team dat nodig voor het maken van een serious game bestaat in de regel uit de volgende rollen:

  • Een gamedesigner: diegene het gameidee bedenkt en/of uitwerkt tot programmeerbare spelregels
  • Materiedeskundigen: de experts die verstand hebben van het onderwerp van de serious game (docenten, wetenschappers, psychologen, enzovoort)
  • Programmeurs: diegenen die het spel technisch gaan realiseren
  • Gameartists: de mensen die de plaatjes (2d en soms 3d) produceren
  • Eventueel: gamesound engineers (voor als het geluid belangrijk is, anders werk je met beschikbare sound databases.
  • Een projectleider: als het een groot team betreft
  • Testpubliek
  • De uitgever of beheerder van de game (oh ja de game moet ook nog beheerd worden en uitgegeven…)

Reken vervolgens voor elk van bovenstaande personen een tarief van 50-100 euro per uur (ex. btw) en dan heb je al een idee hoe snel het kan gaan met je budget.

Playtesting een prototype
Playtesting van een prototype

 

Het proces van serious game ontwikkeling

Wat vervolgens het inschatten van de kosten nog lastiger maakt is het feit dat het voor sommige van bovenstaande rollen erg lastig is om het benodigd aantal uren in te schatten. Als je een simpele serious game hebt waarbij je alleen een ‘serieus sausje’ over een bestaand gameconcept gooit, is het inschatten wel enigszins te doen. Bijvoorbeeld als je een pac man versie maakt waarbij je geen punten moet opeten maar appels en groente ‘want dat is zo gezond’.  Bij een dergelijke game weet de programmeur precies wat hij moet doen en ook het ontwerp van de plaatjes en het spel is recht-toe- recht-aan. Ik geef maar even dit voorbeeld van een slecht idee voor een game over gezonde voeding omdat nog veel mensen denken dat dit werkt.

Maar wat als je een nieuw leerprincipe wilt ‘vergamen’ of een geheel nieuwe gameplay als idee hebt en nog niet weet hoe dat te realiseren? Dan begint een (mogelijk) langdurig proces van prototypes en uitproberen, waarbij het inschatten van de hoeveelheid werk (uren) nauwelijks te doen is. Een van de redenen dat veel gamebedrijven de zogenaamde agile projectmanagement methode hebben omarmd om games te ontwerpen en ontwikkelen. Uitgangspunt daarbij is dat je uitgaat van de hoeveelheid tijd (en dus geld) die er beschikbaar is en NIET van een vooropgesteld ontwerp van een game. Want je weet namelijk nog helemaal niet of het game-idee werkt. Maar keerzijde van de Agile benadering is dat je ook geen garantie hebt dat je überhaupt bij een resultaat uitkomt.

Een indicatie van uren voor een heel simpele webgame

Nou vooruit dan, om toch een idee te geven van het aantal benodigde uren voor een heel simpel html5 spelletje (webbased game). Denk aan een simpel online quizje of iets dergelijks met wat plaatjes en een simpele animatie, meer niet:

programmeur: 4 weken x 40 uur = 160 uur
2d design: 2 weken x 40 uur =80 uur
content door experts verzamelen: 2 weken x 40 uur
online zetten en 1 test met eindgebruikers: 20 uur
laatste correcties en onvoorzien: 40 uur

Gamesounds uit een synthesizer zijn vaak goed genoeg
Gamesounds uit een synthesizer zijn vaak goed genoeg

Kom je dus uit op 340 uur als grove schatting. Zonder promotie en ‘marketing’ van de game, zonder grote tegenslag (van computercrash tot en met versies van PHP die niet meewerken of bugs in de software) en zonder uren voor een projectleider of gamedesigner. Als je uitgaat van een (goedkoop) tarief van 50 euro per uur zit je al op een begroting van 15.000 euro. Aardig autootje niet?

Maar ik heb allerlei begrotingen langs zien komen. Van oud-papier-liefdewerk tot en met vele tonnen en een miljoen euro voor serious games in musea.

gamecoding

 De ontwikkelkosten drukken

Hoe dan toch jouw serious game voor elkaar krijgen met (te) weinig budget of helemaal geen budget? Veel serious games hebben natuurlijk een ideaal en meestal gaan idealen en een zak geld niet samen. Uitzonderingen zijn de advergames die ook tot de serious games gerekend worden (Coca Cola heeft echt wel genoeg geld om de Coca Cola Kerstgame van het jaar te ontwikkelen met actiecodes onder de flessendop). Maar de games met een ideaal en geen of weinig geld. Wat zijn opties?

  • Leer het zelf doen. Doe de cursus bij Gamescool en leer zelf hoe je gameart-animaties en gamecode schrijft. Dit is vooral een optie voor de mensen met veel tijd maar geen geld of voor diegenen die het ontwikkelproces beter willen snappen (en misschien ook betere game-concepten willen ontwikkelen?)
  • Zoek een stagiair van een gameopleiding. Iedereen die wel eens een stagiair heeft gehad (ongeacht welke opleiding) weet dat je er geluk of pech mee kunt hebben. Je hebt kanjers en studenten die het nog niet helemaal kunnen of willen. Let wel, als je zelf niet veel weet van gamedesign is het begeleiden van een gamedesign stagiair niet makkelijk. Je moet hem of haar natuurlijk ook iets te bieden hebben. Misschien beter de volgende optie?
  • Vraag een gameopleiding of ze een groepsopdracht willen maken van je gameproject. Er zijn inmiddels flink wat gameopleidingen in Nederland (van groen tot rijp) en meestal doen ze wel groepsonderwijs. Deze optie is heel geschikt als je een nieuw concept wilt uitproberen. De productie van een complete game lukt zo’n studententeam meestal niet, ook omdat dat niet het doel is van de opleidingen.
  • Zoek een beginnende gamestudio die nog voor een (laag) tarief wil werken om de klantenportfolio te vullen. Hier kan je bijvoorbeeld opdrachten plaatsen voor oud HKU-ers .
  • Natuurlijk, een prachtige mobile game werkend op Android EN iOS met 3d En een prachtige AI EN user interface is heel mooi…, maar als je geen groot budget hebt….is al die technologie nodig voor het (leer-)doel van je game? Is het ook mogelijk een bordversie te maken van je serious game? Of een ‘hybride’ game? Een bordgame met een reken-engine in bijvoorbeeld Excel, waarbij je de acties van de spelers handmatig invoert? Misschien is het sowieso een goed idee eerst een prototype te maken van je game met pen en papier voordat je vele uren gaat besteden aan het animeren en coderen?
Gameplay ontwikkelen met Lego
Gameplay ontwikkelen met Lego

Ik hoop dat ik niemand ontmoedigd heb om een (serious) game te maken. Het is een van de leukste processen om mee te maken.  Als je de kans op succes wilt vergroten, zorg dat je zoveel mogelijk zelf weet of leert over het proces van het maken van een game. Leer de basisprincipes van projectmanagement, Agile en van gamedesign en regel een mooi team om je heen om het mee te realiseren! Eventuele vragen, stel ze hieronder of stuur me een bericht.

Kinect 2.0 opent nieuwe wegen voor revalidatiegames

Met interesse heb ik eens gekeken naar de mogelijkheden van de nieuwe kinect 2.0 (sorry, ik ben maaaaanden te laat, want het systeem is er al een tijdje ;-))

Het systeem moet zijn werking in de praktijk nog bewijzen en de eerste reviews zijn niet ongedeeld positief.  Maar het ziet er veelbelovend uit voor toepassing bij revalidatiegames. Je kan niet alleen bewegingen monitoren, maar ook spierspanning (hoe precies?), hartbeats,  gewrichtsposities en ook of je nog blij kijkt tijdens het trainen/revalideren! Of het precies genoeg is om relevante data waar te nemen die tot heden alleen nog door een menselijke therapeut of trainer gezien konden worden valt nog te bezien. Maar goed, het gaat om aanvullende training, omdat er gewoonweg niet genoeg therapeuten zijn voor dagelijkse revalidatie na een herseninfarct bijvoorbeeld. Terwijl dagelijks revalideren wel het beste is voor herstel.

Wat ook prettig is, is het feit dat het een relatief goedkoop systeem is en ook kleinere gamestudio’s kunnen ermee werken. Gekoppeld aan een PC (alleen windows 8 🙁 …)of een XBOX one. Waarschijnlijk kan je wat geld besparen door een XBOX versie aan je PC te koppelen.

Nu is het aan de gamedesigners en de therapeuten om met spelletjes en interactieve oefeningen te komen om de revalidatie minder saai te maken en minder arbeidsintensief voor therapeuten!

video’s embedden in Moodle

Voor een elearning project waar ik nu bij betrokken ben moeten we een flink aantal video’s online in Moodle plaatsen. We gebruiken daarvoor de youtube videoservers, alhoewel er alternatieven te overwegen zijn (maar dat moet ik nog eens goed uitzoeken). Omdat niet alle deelnemers aan het project even handig zijn in het toepassen van multimedia heb ik een stappenplan gemaakt om dit te doen. De tutorial is onder de creative commons licentie en Engelstalig. Ik heb het ook in word format gelaten, zodat je makkelijk een toevoeging of aanpassing kan maken.

video in Moodle

Door de techniek te volgen uit deze tutorial kan je met bescheiden middelen toch een goedwerkende elearning site maken met stabiele video’s ge-embed. Wil je de video’s op een eigen streaming server draaien dan zijn er andere technieken nodig (en wordt het gelijk een stuk technischer en duurder).

Tutorial putting a video in Moodle

creative commons licentie
creative commons licentie