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

van wiskundige naar gamedesigner

Ik kreeg per email onderstaande vraag:

Best Wouter,

Ik ben een bijna-afgestudeerd wiskundige op zoek naar werk, en geheel toevallig struikelde ik onlangs over het blogartikel

Wat ik me nu afvraag, is of er voor iemand als ik mogelijkheden zijn om iets met gamedesign te gaan doen. Mijn hoofdrichting is de numerieke bifurcatie-analyse (als je dat wat zegt). Daarnaast heb ook de bachelor natuurkunde gedaan en mastervakken in de richting ‘scientific computing’ (o.a. numerieke lineaire algebra en algoritmen voor parallelle systemen). Specifieke game- of informaticavakken heb ik niet gevolgd, maar programmeren in C++ kan ik wel.
Ik hoop dat je tijd hebt om mijn vraag te beantwoorden! (En anders is het ook niet erg.) Bij voorbaat dank!
Vriendelijke groeten,X—–X
Ik denk (en schreef dat ook wel eens) dat wiskundigen hele goede gamedesigners kunnen worden. Computers zijn nu eenmaal numerieke machines en dat is het veld van de wiskundigen. Het gaat er in games om dat je een goed idee kan omzetten in (wiskundige) principes. Of het nu om een resource management game a la Command and Conquerer gaat, of een simulatie achtige game als SimCity, the Sims of Civilization of om de physics engine in een shooter, er zit altijd een meer of minder complex wiskundig model verwerkt in de game. Dat betekent dus dat andere technisch opgeleide mensen ook goede gamedesigners zouden kunnen zijn of worden omdat ze in staat zijn om situaties (game-concepten) te vertalen in formules die de computer begrijpt. Dus alle ir’s en ing’s zitten goed 😉
designingGames
De weg naar gamedesignerschap is lang en bumpy

Ok, ik kan wiskunde, maar nu de praktijk?
 Om antwoord te geven op bovenstaande brievenschrijver heb ik eerst nog een hoop vragen terug waaronder:
  • wat voor werk zoek je, in loondienst bij een gamebedrijf of als zelfstandige of wil je een eigen gamebedrijf starten?
  • heb je al een game-idee om te bouwen of wil je andermans ideeën maken?
  • wat voor soort gamewerk ambieer je? Gamebedenker of programmeur (ik neem maar even aan dat het geen game-art is gezien je opleiding)? Of wellicht heel iets anders (projectleider, game-marketing, gametester, oid)?
  • wil je bij een groot gamebedrijf werken (EA, Ubisoft, Sony, Nintendo, enz.) of een kleine studio?
  • wat voor soort games zou je willen bouwen? Werken aan de grote engines (bijvoorbeeld ‘nog realistischer watermodellen in de nieuwe Unreal Engine) of aan casual of mobile games of iets ertussen? Of serious games?

Een goed beginpunt is het leren kennen van de gamebedrijven in Nederland en het lezen van een blad als Control magazine. Als je ook internationaal overweegt, begin eens bij Gamasutra. Kijk wat voor vacatures er zijn en wat je wel of niet aanspreekt. En wat je nog moet bijleren.

Wat nog leren om gamedesigner te worden?
Ik denk eigenlijk, gezien je cv en leeftijd dat je het beste kans maakt om te beginnen als programmeur en van daaruit eventueel te ontwikkelen tot gamedesigner. Er zijn maar weinig mensen die direct als gamedesigner ergens aan de slag mogen (en als jij daarbij zou behoren, dan kan dat alleen op basis van een goed portfolio van door jou bedachte games). Wat verhoogt dan je kansen op werk?

  • leer een veelgebruikte game-engine (bv. Unity, de Unreal Engine, oid)
  • bouw aan je portfolio (of het nu ideeën zijn, of stukken gamecode of gameprojecten maakt niet uit)
  • zorg dat je een paar boeken over gamedesign hebt gelezen. Bv. het boek Rules of Play of een boek van Chris Crawford. Je bent ook welkom bij de cursus van Gameskool als je niet van boeken lezen houdt
  • maak je eigen game(s). Gebruik daarvoor een tool als Gamemaker Studio of Unity (ga niet een hele game-engine in je eentje bouwen, tenzij je game-engine bouwer wilt worden).
  • verken andere gamedesign disciplines (zoals 3d modellen, game-art, gamesounds, interaction design). Door cursussen, boeken, spelen met software, etc.
  • leer een scripttaal zoals lua, python, javascript, gml

Je moet er even voor gaan zitten, maar bedenk dat bovenstaande dingen makkelijker te leren zijn dan de stevige wiskundige basis die jij al beheerst. Veel succes!

Het gaat niet om de looks maar om het onderliggende wiskundige model
Het gaat niet om de looks maar om het onderliggende wiskundige model

Nieuwe serious games gereleased

Ik kreeg onderstaand persbericht. Ik heb de games zelf nog niet bekeken, maar de inleiding lijkt erop dat ze voor een interessant gamedesign principe gekozen hebben (hoop ik). Inderdaad, je moet serious games niet ‘normatief’ ontwerpen, maar als ondersteuner van het (denk-/leer-) proces. Lees verder het bericht:

Met een opgeheven vingertje te horen krijgen hoe de wereld in elkaar steekt, is niet zo interessant. Zelf dingen ontdekken is veel leuker. Door de serious games van Stichting Upact leren jongeren over zaken die normaal een ver van hun bed show zijn. Door verschillende games komen jongeren meer te weten over onderwerpen als conflicten, beurshandel en water- en hygiëneproblemen.

Handel zelf op een online beurs
Vanaf deze week gaan bijna 500 scholieren twee weken lang met elkaar de strijd aan via de game UExchange, een online aandelenspel. 8 Verschillende middelbare scholen doen mee via www.uexchange.nl. Leerlingen handelen in aandelen op een virtuele markt en proberen iedere dag een dagtitel te winnen van meest vermogende speler tot meest kritische consument tot snelste stijger in de ranking. Na twee weken wordt gekeken welke leerlingen en scholen het het beste hebben gedaan als Die Hard Handelaar of Meest Kritische Consument.

Stop conflicten nu
Conflicten ontstaan onder meer door botsende belangen, bijvoorbeeld op het gebied vangrondstoffen. Vaak zijn conflicten zo ingewikkeld dat door de bomen het bos niet meer te zien is. Via de online domino game Conflix gaan jongeren zelf conflicten oplossen. Zo krijgen zij inzicht in de belangen van verschillende partijen in een conflict. Deze game is ontwikkeld door studenten van de Hogeschool voorde Kunsten in Utrecht en wordt aangeboden door Upact. Conflix is te spelen via www.conflix.nl.

Los water- en hygiëneproblemen op
Droogte, geen water om de wc mee door te spoelen en geen schoon drinkwater uit de kraan. Miljoenen mensen in vooral arme landen hebben er last van. Met als gevolg, een slechte gezondheid en minder inkomen. Via de game Waterconnex komen jongeren in aanraking met deze problemen. Het doel is om iedereen te voorzien van schoon drinkwater en sanitair. Dit is niet eenvoudig want er moeten telkens keuzes worden gemaakt. Wie sluit je eerst aan en kies je in eerste instantie voor water of voor sanitaire voorzieningen? Waterconnex wordt online gespeeld opwww.waterconnex.nl.