dinsdag 22 september 2015

LOI Gamedesign

Afgelopen vrijdag gaf ik GameDesign op HBO niveau voor de LOI.
Als onderdeel van deze cursus zou men gamemaker moeten leren.
Aangezien gameDesign voor alle leerlingen niet echt een hoofdvak was, maar meer een verplicht nummer, besloten we de game in Javascript te gaan maken,
Gamemaker is leuk als je wilt gameDesignen, zonder iets te willen programmeren. Maar als je een multimedia/frontend opleiding doet, dan is javascript toch wel een vereiste.

Javascript zat tot nog toe niet in de cursus, hetgeen een extra uitdaging vormde:
naast basic gamedevelopment, moest ik ze ook leren programmeren.
Gelukkig heb ik dat vaker bij de hand gehad, dus op naa JSFiddle.

http://jsfiddle.net/wn8rq0m0/
var a=4;
if(1==3)
{
 a=a+1;
}
console.log("------------");
console.log("de waarde van a ="+ a);

Mijn controle vraag aan de leerlingen om het niveau in te schatten is: "Wat gaat er gebeuren?" en
 "Wat wordt de waarde van a?"
Als je hier een antwoord op wil kunnen geven moet je twee basis-concepten van programmeren snappen. Variabelen en Expressies.

var a=4;
Een variabele (in dit geval a) wordt gedeclareerd.
Dit betekent, dat je javascript verteld, hoe de variabele heet en (eventueel) wat zijn initiele waarde is.
Je kunt het zien als het maken van een doosje (met een naam) waar je iets in kan stoppen, maar het hoeft niet direct.
In dit geval heet het doosje "a" en stoppen we er 4 in.

if(1==3)
Dit is een voorbeeld van een expressie. Je kunt dit zien aan de dubbele ==. We vragen de computer of wat tussen haakjes staat waar is, of niet waar.
Dus 1=3? geeft niet waar.
Het blok code daaronder.
{
 a=a+1;
}
wordt dus overgeslagen. (Bij een ware expressie bijvoorbeeld (1==1) was het WEL uitgevoerd).
Dit is de functie van if. Na if volgt een expressie en een blok code. Is de expressie waar, dan wordt het blok uitgevoerd, anders wordt het overgeslagen.
Op deze manier kan een programma reageren op veranderende omstandigheden. De expressie kan namelijk wat complexer zijn dan 1==3? Want dat is een domme vraag.

console.log("------------");
Dan wordt de javascript gevraagd, een boodschap af te drukken, deze vind je in je console. Dat is een speciale plek voor programmeurs. Afhankelijk van je browser vind je deze op andere plekken, vaak is f12 of ctrl-shift-i een goeie plek om te beginnen.

console.log("de waarde van a ="+ a);
Dit betekent, dat er een boodschap wordt afgedrukt. Het eerste deel van de boodschap is letterlijk en staat dus tussen aanhalingstekens. (In programmeren heet dit een string). Het tweede deel van de boodschap is de waarde van a. Deze worden samengevoegd door een plus-teken.

Het resultaat van het programma is dus:
----------------------
de waarde van a=4

Als je dit snapt, heb je al bijna alles wat nodig is om een spel te programmeren.
Even vooruitspringend naar wat je in 30 stappen gaat leren maken:


Ik zal het nog allemaal uitgebreid beschrijven als ik tijd heb, maar voor nu kun je het proces terughalen met:

donderdag 10 september 2015

7/8 games for the biggest National Dutch TV-show for children since 2007

It seems I am going to disappear for a while again , so I thought I'd take the chance to do a quick post, and explain why this happens..



SINTERKLAASJOURNAAL - NTR

Nobody knows it outside of Holland and Belgium, but it's possibly the biggest National Dutch TV-show for children from 3-9. Won a very prestigious TV prize last year..

It only airs for a month, but is on EVERY day in that period and is almost instantly the best watched program (among the target group) and stays that way up to the end. Actually it climaxes at the end, because the parents and grandparents tend to join in.

This program maintains a website, during the period that it airs. Kind of a second-screen experience, if that tells you anything. I don't make the website, but I create the games..
So second screen means for me: the games have to be web-apps that run on mobile and table as well and preferably be mobile friendly. It's about 50/50 with the desktops..
Even when it's a platform game, so we have to think about controls!

70 games


I have been making games for Sinterklaas for the past 8 years. Just call me gamePiet!
(Or is that 9? 2007-2015 you do the math.. So 2016 will be 10 years? I can only hope...)
So that means.. somewhere around 60-70 games so far! The games range from small to quite big and encompass almost all casual game types: platform, racing, physics, puzzle and click games, time management, match 3 games, toys and classics like colouring, jigsaw, memory and tetris.
We have to keep them VERY simple and visual, it's for 3-9 years old mostly. For many kids it used to be the first game-experience ever, on grandpa's lap.. I'm kind of hoping it still is.

It's fast.
It's a lot of work.
It's sooooo much fun.


You can see some of these games in my portfolio.
(www.snoepgames.nl, I'd love to publish movies about them all, but it's just so much work.. )

Production madness

What happens is:
I get to sit with the editors and get a sneak peak at the VERY classified scenario.
Then we think of about 13/14 games to fit the scenario. I make an offer for all of them and they decide on 7/8 or sometimes even 9 of them.
And then production starts...

We have 1.5 to 2 months to create all 7/8 games, depending on how long we stay in the negotiation phase. They are in HTML5 these days, used to be Flash, that was a lot easier..
Every game that's somewhat playable, I put on my website (with a password, don't bother)
to be tested by the NTR as soon as it's finished enough to test.
Nobody else can test it, the scenario of the TV-show is one of the best kept secrets in Holland.
And while I make the next game and the next one, the bugs, misconceptions and tips start coming in for triage. So planning is a bit strange if not impossible. I plan about 3 days solid per game and then I'll just have to wing it. The triage is serious business. I couldn't do it without that principle, it's a battlefield.

But I haven't missed a beat yet, even the year when we moved from Flash to HTML5. That was a personal victory, but it's allways been close. It's nuts, but I love it.

Bugs and 'complaints'

Now I won't claim the games are completely bug-free or as elegant or polished as I normally like to make them, when I have more time. It's a bit rough around the edges.. Partially intentional. The style is great for simple and rough animation. But programming can't be too rough..
So last year we introduced something new. If there was a problem with the game, kids could tell us (me), so I could fix it right away. This was a safety measure I built in, because we had a couple of games with extra levels, which is always harder to test in advance.

We had 2,2 MILLION unique visitors in a month, that year. Games were played up to 60.000 times in a single day. That is an amazing amount of traffic. (There are about 2,5 million families in the Netherlands!). So about 80% of the Dutch population of kids..
And we got 23 'complaints':

  • 4 of these 'complaints' were actually compliments. (Those meant the world to me, especially the one from the grandpa and grandchild, you know who you are!)
  • 7 were little things I could fix in minutes.
  • 12 were just general internet abuse ( like 'testing123 and BlahBlah') and a lot of stuff about the so-called 'zwarte piet' issue.
    (I have no fixed opinion about it, other than both sides should refrain from violence and abuse. It's a heated debate, too heated to take either side very seriously)

It was amazing.. The absence of complaints was overwhelming.

Trust and Focus


The thing that makes it work, despite the obvious obstacles?
  Trust, focus, positivity.. Sounds soppy, I know, but I mean it.

I get a lot of freedom, more than with any customer.. That takes a lot of trust.
But else this would be completely impossible, given the timeframe.
There is a lot of trust, both ways. I trust the editors to test the games, for my part I make an offer, that has so much specifications in it, it takes me more than three full days to write and I know at least 4 games are going to be dropped anyway so that's 40% of the work out of the window and I haven't even gotten a 'go' yet.
But this way, when we do produce... We all know what to expect going in. I try to accomodate as much evolving insight as I dare during production, but there is little room for it.
And most of all, we trust each other to stay positive, because with this kind of pressure, you can kill it if you don't stay positive. It has to be fun all-round, every day, or you'll never make it.
It almost went wrong twice, but both times we fixed it in the nick of time.
This is only possible, because at that moment Sinterklaas is truly the most important thing in the world.
For all of us.


Around 10th of November the games start going live. One every three or four days.
If anything is wrong, I need to fix it quickly, so I'm on call all day.
We've cut it as close as 20 minutes away from LIVE.. I never want to relive that moment..

And 5th of December it's all over.
I take a deep breath and relax a couple of days,
and then start hoping they will ask me again next year.

Networking, BnI

A while ago I decided to start to take networking seriously.

BFFs?

First I joined a local network club. This didn't cost much and didn't give me much..
It was good to get out among people and I noticed I can connect to people quite easily as long as we keep it real.
We are not BFF's, let's not act that way, let's keep it a bit business like..
What can I do for you and you for me?

After about a year someone pointed me towards BnI.


Too American, too early, tooooooo...much...

I was a bit wary.. I'm Dutch, BNI is American and the system seemed VERRRRY American.
It's a SYSTEM, with RULES, POINTS, CONTEXT, TRAININGS, MENTORS.. phew..
So I visited a few times and found a nice, comfy place at BNI: chapter Rivendel in Baarn.
Nice people, friendly athmosphere, but most excitingly for me: No chummy chum chums.
No pretending to be best friends with somebody you saw once a month ago.
Every meeting again it was said at least once: we're here to do business.
But.......
It's DAMN early for someone who has an ICT background. I usually get really going around 11:00 am. Before that I survive by only running 2 miles per gallon of tea/coffee.
That's usual in IT, we just hide it from the general public.
This thing starts at 6:30 am and it's every damn week... AAARGH.

SO GET OVER IT!

That's one thing I learned from another set of Americans.. GET OVER IT..
So I've joined the BnI network for a year, just to see what would happen and it's keeping me busy since.
But recently the most amazing thing happened.
2 people told me, they were looking for a gamedeveloper, to create a game...

I have a brilliant idea for an app....

Networking up to now meant: People come up and tell you they have a brilliant idea for an app.
All I have to do then is make it, put it in the app-store, market it, maintain it and they will share 50% of all income for that privilige.. Wow, what a deal!
Those offers, I had a plenty, but a serious "looking for a gamedeveloper", to make a "game". Nope..
Never happened in 15 years.

No, that kind of thing can come from existing clients, that's were I got my business..
But never from relative strangers. people you meet once or a couple of times.
In the first month that I joined BnI, it happened twice.
So, yeah.. It's a quite lot of work, if you wanna do it right, but it seems to pay of and in my case quite quickly.
I know I was amazed. People keep telling me: it won't last, that's just beginners luck.. We're in it for the long haul.. Well, me too.. I was just giving it a go.

Busy, busy

So will they follow through?
Problem is.. I'm a bit busy. I allready have four major assignments up to Januari 2016 ( a series of 7/8 games, a game and webshop, custom software and a SERIOUS webapp to make in those few months).
That's a bit much.. We are talking nights and weekends.
So it'll all have to wait a while, before I can test that, but I'll keep you posted.