Header / Cover Image for 'Een mobiele game uitbrengen – deel 1'
Header / Cover Image for 'Een mobiele game uitbrengen – deel 1'

Een mobiele game uitbrengen – deel 1

Ik hoop binnenkort mijn eerste mobiele spelletje op de markt te brengen. Het spel heet “Into My Arms” en is een puzzelspel over liefde met een uniek mechanisme: je speelt twee poppetjes en wint elk level door in elkaars armen te vallen.

Het spel is inmiddels geaccepteerd! Klik hier om het te spelen: Into My Arms—Puzzle Game.

De allergrootste spellenwinkels zijn natuurlijk de Play Store (voor Android) en App Store (voor iOS). Aangezien alles bij Apple reteduur is (99 dollar per jaar als je spellen wilt ontwikkelen), besloot ik te beginnen bij de Play Store (wat slechts een eenmalige betaling van 25 dollar is).

En ik moet concluderen: voor een bedrijf zo groot en succesvol als Google mogen ze nog héél wat verbeteren aan hun diensten. (En de wereld van mobiele spelletjes is raar en gemeen … maar ook wel weer grappig.)

De eerste inschrijving

Om te ontwikkelen voor de Play Store, moet je een officieel ontwikkelaarsaccount hebben. (Een standaard Google account kan je namelijk alleen maar gebruiken om spellen te downloaden/kopen/spelen.)

Hiervoor moet je eenmalig 25 dollar betalen. Kan dit via je favoriete bank? Misschien met iDeal, of zelfs Paypal? Natuurlijk niet!

Het moet met een credit card.

Gelukkig heb ik een tijd geleden ontdekt dat je “digitale creditcards” kunt afsluiten, die je 0 euro kosten, maar wel geldig zijn voor al dit soort onzin. Het enige probleem is dat je 2 euro extra betaald elke keer wanneer je geld op die digitale kaart wilt overschrijven. Maar ik heb met deze methode al zóveel geld uitgespaard dat zoiets geen groot obstakel is.

(Wist je bijvoorbeeld dat veel dingen in Duitsland veel goedkoper zijn? Met zo’n digitale credit card kun je bij het Duitse Amazon bestellen, wat meestal minstens tientallen euro’s scheelt. Zo, weer wat geleerd.)

Dus uiteindelijk heb ik 25 euro betaald (25 dollar ~ 23 euro, plus die 2 euro voor mijn credit card) en had meteen toegang tot mijn ontwikkelaarsaccount.

Dat was nog best goed en snel geregeld.

Google Play Console

Maar daarna werd ik begroet door een overweldigende pagina genaamd de Google Play Console. Aan de linkerkant staan tientallen knoppen en menu’s. Op de pagina zelf staat geen uitleg, behalve zo’n standaard “Ga aan de slag! Voeg een app toe!” tekst.

Ik waardeer dat Google heel veel witruimte wil hebben, en al hun applicaties dezelfde moderne en minimalistische look wil geven, maar in dit geval kon ik er gewoon geen soep van maken.

Uiteindelijk had ik de juiste submenu’s gevonden en mijn app toegevoegd. Was het daarmee afgerond? Nee! Ineens verschenen over de hele interface driehoekjes met uitroeptekens—het algemene teken dat je iets heel erg verkeerd aan het doen bent.

Dus ik begon op al die driehoekjes te klikken, maar daarmee werd ik slechts naar andere pagina’s gebracht, zonder uitleg van de foutmelding.

Wat blijkt? Je moet er met je muis overheen gaan. Op zich heel goed bedacht … maar dat hadden ze misschien even kunnen uitleggen, voordat ik een uur lang dacht dat ik alles gebroken had.

Alle foutmeldingen kwamen er op neer dat ik nog niet de benodigde informatie had ingevuld over mijn app. Ik was even verbaasd, aangezien ik net met pijn en moeite een lange lijst aan informatie had uitgevuld over de app.

Dat was blijkbaar slechts één van de vele categorieën die je moest invullen. (De categorie “Winkelvermelding”, oftewel hoe je app uiteindelijk wordt gepresenteerd in de winkel.)

Ik begin snel alle andere categorieën in te vullen, totdat ik wéér tegen een obstakel aan loop: ze zijn onderling afhankelijk. Je moet eerst iets bij X invullen, voordat je verder mag bij Y. En pas als Y geaccepteerd is, kan je de volgende vraag beantwoorden bij Z.

(Bijvoorbeeld: ik kon pas aangeven voor welke leeftijden de app geschikt was, als ik eerst een paar andere dingen had ingevuld en knopjes wel/niet had aangeklikt. Toen mijn app in eerste instantie werd geregistreerd als “13+”, schrok ik me kapot. Huh? Mijn app is juist hartstikke “family friendly”, het zou voor alle leeftijden moeten zijn. Het duurde me toen iets te lang voordat ik dit probleem had opgelost door hier en daar precies de juiste antwoorden in te vullen :p)

Een raar interview

Maar nu komt het leukste: de contentclassificatie. In andere woorden: wat is de inhoud van je app?

Dit bestaat uit een interview waarmee Google hoopt te achterhalen voor welke leeftijden/doelgroepen je app geschikt is, en of je app überhaupt voldoet aan hun beleidsregels.

Sorry, maar dit interview kan ik gewoon niet serieus nemen.

Een van de vragen: bevat de game lichaamsfuncties zoals boeren, winden laten of braken voor humoristische doelen?

Ik ben heel benieuwd wat de gevolgen zijn als je hier “ja” aantikt. Wordt je spel dan ineens 18+? Of wordt je spel dan juist ingesteld als “voor kinderen”, omdat mensen denken dat kinderen heel erg houden van dat soort humor? (Of Google vindt je kinderachtig :p)

Een andere vraag: kunnen deze goederen ( = de goederen die je in je spel verkoopt) willekeurige prijzen bevatten?

Wat bedoelen ze hiermee? was mijn eerste gedachte. Bedoelen ze dat er niet één prijs is voor alles, maar meerdere verschillende prijzen? Of dat je verschillende “prijzen” kunt winnen?

Pas laat besefte ik de eigenlijke betekenis: alles wat je in het spel kunt kopen, heeft geen vaste prijs (“dit nieuwe karakter kost altijd 99 cent”), maar een prijs die fluctueert (“speciale aanbieding voor jou! dit karakter, nu voor maar 80 cent!”). Misschien als het spel herkent dat iemand véél speelt, of dat iemand juist veel geld uitgeeft, dat ze daarop inspelen.

Het herinnerde mij eraan wat voor verschrikkelijke business dit eigenlijk is. Ik vroeg mezelf nog een keer af of ik dit écht wilde, toetreden tot de wereld van mobiele spelletjes. Want dat is wat bijna alle ontwikkelaars doen: ze bouwen hun spel op zo’n manier dat ze het gratis in de Play Store zetten, maar werkelijk alles in het spel kost geld en is gemaakt om zoveel mogelijk geld uit mensen te krijgen. Ik vind het verschrikkelijk, maar het werkt veel te goed, dus mensen blijven het doen. En daarom vraagt Google dit (en nog een stuk of vijf vragen over die goederen/prijzen).

Mijn eigen spel doet dit niet, puur uit principe. Ik heb geen advertenties die zomaar verschijnen, ik verkoop niks in het spel, en ik ga zeker niet werken met van die energie systemen. (“Ah, wat jammer nou, je kunt niet spelen omdat je geen levens hebt. Je kunt óf een dag wachten … of voor 2 euro héél veel levens kopen!”) Ik zal dadelijk uitleggen wat ik wél heb gedaan en waarom.

Een raar interview, continued

Toen kwamen we bij het “serieuze” gedeelte … met de volgende twee vragen:

Vraag 1: Komen in de game hakenkruizen of andere nazisymbolen of propaganda voor die in Duitsland als in strijd met de grondwet worden beschouwd?

Vraag 2: Bevat de game content die de nationale identiteit van Republiek Korea ernstig kan schaden door antinationale wetten te beschrijven of historische feiten te verdraaien?

Kijk, ik had zoiets wel verwacht. Google heeft een beleid om te draaien (en een reputatie om hoog te houden), verschillende landen hebben verschillende wetten, privacy is ook weer een ander beest waarmee je rekening moet houden, et cetera.

Maar ik had verwacht dat het ofwel een hele lange lijst met verschillende vragen zou zijn, ofwel één knopje dat zegt “ik heb de voorwaarden hieronder gelezen en accepteer deze/mijn app voldoet”

In plaats daarvan krijg ik deze twee hyperspecifieke vragen, verder niks. Ik dacht nog: mijn app zou werkelijk alle fatsoenlijke grenzen kunnen overschrijven (racisme, seksisme, noem het maar op), en het zou niet in dit interview naar voren komen. Als ik in plaats daarvan één grapje maak over Korea … dan denk ik dat ik daarmee nog wel eens flink in de problemen zou kunnen komen.

Het leek wel of Google expres aan het stereotyperen is. Dat ze dachten: hmm, wat voor nare dingen heb je in de wereld? Oh ja, de Nazi’s en de dictatuur van Korea.

Hoe dan ook, ik heb allebei de vragen met “Nee” beantwoord en ben doorgegaan met mijn leven.

Toen zag ik dat er toch nog een vraag was die mijn racistische app ging tegenhouden: Bevat je spel aanstootgevende inhoud?

Wat een beveiliging zeg. Nee ik denk echt dat er mensen zijn die een hartstikke racistisch spel maken, dit willen verkopen via de Play Store, dan deze vraag lezen, en denken “oh nee, laat dan maar zitten”. Tuurlijk niet. Je vult “Nee” in en gaat door. Dat is hoe de Play Store wordt overspoeld met apps en games die complete bagger zijn, maar toch worden geaccepteerd.

Daarnaast is het natuurlijk een subjectieve vraag. Wat voor mij aanstootgevend is hoeft dat voor jou niet te zijn, en vice versa.

Ze zeggen wel dat Google elke app “reviewt” voordat ze deze accepteren, maar dat doen ze echt niet. Niet grondig in ieder geval. Anders zouden ze al deze vragen en interviews niet nodig hebben, want dan zagen ze vanzelf wel of je hakenkruizen gebruikt of niet. (Heb je enig idee hoeveel apps er per dag op de Play Store komen? Zet je maar schrap—het zijn er meer dan 6000. Per dag. Ammehoela dat Google die allemaal grondig inspecteert.)

Publiceren

Eindelijk, eindelijk was mijn hele app ingevuld en klaargezet om te publiceren.

Het enige wat miste waren de screenshots en het daadwerkelijke spel. Maar die is nog niet af, dus dat kon ik nog niet invullen. Om het systeem te testen had ik al wél een testversie geupload, en ik ben blij dat ik dat heb gedaan. Want ook dit proces was niet zo vanzelfsprekend. Google heeft het namelijk opgedeeld in verschillende fases of “tracks”: test, alpha, beta, en release.

  • Je spel begint als testversie.
  • Als hij redelijk af is ga je naar alpha (waarbij je andere mensen een sleutel kunt geven zodat ze je spel ook alvast kunnen testen)
  • Als dat succesvol is ga je naar de beta (waarbij je “open tests” doet => iedereen die wil kan zich aanmelden en het spel uittesten, zodat jij heel erg veel feedback krijgt en de laatste probleempjes kan gladstrijken)
  • En dan publiceer je het spel als officiële release.

Staat het in die volgorde op de pagina? Nee, het staat andersom, waardoor ik bijna per ongeluk een kapotte versie van mijn spel had gepubliceerd.

Ik denk dat ik vaker met mijn neus in de documentatie van Google (… en de zoekresultaten van datzelfde Google) heb gezeten, dan in de interface van deze Google Play Console.

Hoe dan ook, uiteindelijk was alles gelukt, was een testversie correct geüpload en gesigneerd (wat aangeeft dat hij echt van mij, de ontwikkelaar komt), en was ik klaar met deze horrorshow.

AdMob en het vergeten account

Toen wilde ik advertenties in het spel stoppen. Ik dacht: bijna iedereen doet dat, ze zullen dit toch wel hebben geïntegreerd met de Play Console?

Maar nee, ik moest naar de AdMob website, me daar opnieuw registreren, mijn app opnieuw opgeven, en opnieuw bewijzen dat ik het écht was en dat ik écht geld hiermee wilde verdienen. (Onthoudt hierbij: AdMob is ook van Google en het is veruit de meest gebruikte advertentieprovider in mobiele apps/games.)

Na een dag van uitproberen en gefrustreerd tegen mijn bureau aantikken, waren advertenties succesvol in mijn spel geïmplementeerd.

De dag daarna start ik mijn spel op … en krijg geen enkele advertentie meer. Wat?

Ik probeer in te loggen op AdMob, lukt niet. Probeer opnieuw, krijg een bericht dat mijn account is geannuleerd. Wat?

Na veel onderzoek blijkt dat er een dubbel account is geconstateert: twee accounts staan op mijn naam, en dat mag niet, god knows why. (Alsof ze bang zijn dat mensen proberen, zeg maar, om veel geld te verdienen met advertenties. Met verschillende projecten en vanuit verschillende bronnen, waardoor het véél fijner zou zijn om meerdere accounts te kunnen hebben.)

De nog prangendere vraag, echter, is: wat is het tweede account?! Dit is mijn eerste mobiele spel! De eerste keer dat ik, met tegenzin, advertenties toesta in mijn werk!

Ik ging sporten, eten, douchen, en toen pas herinnerde ik mijn tweede account: mijn YouTube kanaal van meer dan tien jaar geleden. (Voor de geïnteresseerden: ik heb dit kanaal ook benoemd in mijn artikel over Pandaqi, mijn tutorial website.)

Op dit kanaal heb ik zo’n 10-20 tutorials gepost over verschillende onderwerpen: hoe maak je een spel, hoe programmeer je een app op de Mac, et cetera. Ik was destijds 12 jaar oud, dus tot mijn verbazing zijn de tutorials nog best hoge kwaliteit als ik ze nu terugzie. (Nee, ik ga je de link niet geven. Ik schaam me er toch voor.)

Andere mensen dachten blijkbaar hetzelfde, want in tien jaar tijd heb ik … tromgeroffel … 20 euro verdiend met advertenties op mijn video’s!

Dus ik heb het wachtwoord ontrafeld van mijn oude account en heb toen gezegd dat ik mijn account wilde annuleren. Google was nog zo vriendelijk om te zeggen dat ik meer geld had dan de minimale uitbetalingsdrempel (d.w.z. hoger dan 10 euro), dus dat ze dit volgende maand zouden storten.

Ik weet niet waar … maar ze zullen het storten. Misschien krijg ik een cheque thuisgestuurd ofzo.

Advertenties

Afijn, eindelijk zijn we bij het allerlaatste deel van dit uitputtende proces: ik wil een spel zonder advertenties … maar mijn spel is niet groot genoeg om voor geld te verkopen. Hoe verdien ik toch mijn investering terug?

Na lang nadenken en uitproberen, bedacht ik de volgende methode:

  • Elk level in mijn spel is een puzzel.
  • Je wint de puzzel door in elkaars armen te vallen. Je verliest als je van het level afvalt óf als één van de poppetjes de ander kan zien. (Dit is hartstikke logisch binnen het thema van het spel, geloof me.)
  • Toen ik anderen het spel liet uittesten, was er één groot struikelblok: in hun enthousiasme (of gewoon omdat ze niet zo goed opletten) keken ze vaak per ongeluk elkaar aan, of bewogen vooruit terwijl ze achteruit bedoelden (of andersom). Hierdoor verloren ze vaak het level, ondanks dat ze de oplossing al wisten.
  • Dus toen heb ik een **undo-**systeem ingebouwd. Als je doodgaat, krijg je de kans om je vorige zet ongedaan te maken. Maar … je krijgt alleen een undo als je een advertentie kijkt.

Met dit systeem hoef je (als speler) nooit een advertentie te zien. Ze verschijnen nooit zomaar. Maar als je ervoor kiest om wél een advertentie te kijken, krijg je daarvoor een grote beloning: je leeft weer en zet een stap terug.

Natuurlijk krijg je dan al snel kritieken van: maar je hebt expres de puzzels héél moeilijk gemaakt, zodat iedereen steeds een stap terug wil zetten! Maar in mijn geval heb ik bewijs dat het niet zo is. Ik ga het spel ook op andere platforms uitbrengen, zoals de computer, en daar heb je geen advertenties en dus ook geen undo. Ik moet dus levels maken die in beide gevallen prima te doen zijn.

Is dit succesvol? We zullen het zien. Ik denk niet dat ik mijn investering terug kan verdienen eigenlijk. Nee, dan moet je veel agressiever zijn in je advertenties, je marketing, je psychologische trucjes. Maar dat wil ik niet. Ik ben al blij als ik gewoon eens in de zoveel tijd een tientje bijverdien met dit spel. En ik ben vooral blij als ik zie dat anderen plezier beleven aan mijn creatie.

Wat bedoel je met (psychologische) trucjes?

Je hebt bijvoorbeeld deze uitspraak: “given the opportunity, players will optimize the fun out of a game”

Dit is helemaal waar. Als jij spelers een kans geeft om een level te skippen, of om vijf hints te krijgen over je huidige puzzel, dan zullen vrijwel alle mensen geneigd zijn om deze aanbieding aan te nemen. Raar toch? Het zorgt er juist voor dat ze het spel NIET spelen! Maar zo werken mensen: wij willen een spel optimaliseren, zo snel mogelijk de oplossing vinden, zo veel mogelijk punten halen. Zelfs als dat betekent dat we de “fun” uit spellen halen.

Daarom biedt elk puzzelspel tientallen “goederen” aan die ervoor zorgen dat je vooral het spel niet speelt: levels overslaan, meer zetten dan je ooit nodig gaat hebben, score verdubbeling, etc. En mensen kopen het, mensen raken er verslaafd aan, het maakt het spel misschien zelfs leuker in de ogen van de spelers, want zo werken wij.

Ander voorbeeld: tijdens mijn onderzoek kwam ik keer op keer ontwikkelaars tegen—succesvolle ontwikkelaars, mind you!—die beweerden dat je een “energie”-systeem moet maken. Het zou zogenaamd beter zijn voor het spel, maar ook voor de spelers!

Oftewel, zij stelden het volgende voor: stel je spel heeft 50 levels. Dan plaats je na elke 5 (of 10) levels een poort. Deze poort is standaard dicht en verhindert je om vooruitgang te boeken. Hij gaat pas open als je lang genoeg wacht, of als je genoeg energie hebt gespaard. Willen spelers dat? Natuurlijk niet! Dus kunnen spelers allerlei dingen kopen om hun voortgang te bespoedigen.

Tegelijkertijd heb je ook geen oneindige hoeveelheid probeersels voor elke puzzel. Nee, je moet de puzzel binnen vijf keer halen … anders is je energie op en moet je wachten!

Let op: dit is dus compleet onnodig. Het spel heeft helemaal geen tijd nodig. Je zou gewoon alle 50 levels in één keer achter elkaar kunnen spelen. Het is zelfs best lastig, weet ik uit ervaring, om zo’n systeem te programmeren en bovenop een willekeurig spel te plaatsen.

Maar het werkt. Door deze “pauzes” te plaatsen tussen puzzels, raken mensen nooit moe van het spel, en worden ze tegelijkertijd elke dag opnieuw herinnerd dat ze weer kunnen spelen. En als ze er dan tóch problemen mee krijgen na 30 levels … tja, dan is het verleidelijk om gewoon iets te kopen waardoor je sneller vooruit kan.

Conclusie

Ik heb eigenlijk geen idee waarom ik dit heb geschreven. Ik vond het hele maak- en inschrijfproces van een mobiel spelletje (in het huidige klimaat) gewoon interessant. Misschien heb je er iets van geleerd, of weet je nu beter of dit geheel wel of niet bij je past.

Tot dan zeg ik: samenwerken met Google? Begin er maar niet aan :p

Mijn avonturen met de Play Store zijn nog niet voorbij! Ik heb een deel 2 geschreven voor dit artikel: [Een mobiele game uitbrengen—deel 2][1]