Enkele weken geleden deden we verslag van de iPhone-game die door onze studenten van de opleiding Gamedesign van ROC Friese Poort wordt gemaakt. Daarin vertelden we over het idee om een iPhone-game te ontwikkelen. In dit verslag kun je lezen hoe we Apple iPhone Developers zijn geworden (en de problemen die we daarmee hadden), onze ervaring met Unity en het ontwerpen van de gameplay.
Voordat een game gemaakt wordt moet deze eerst omschreven worden in een gamedesign-document. Aan de hand van dit document weet iedereen wat voor game gemaakt moet worden en hoe dit eruit moet komen te zien.
Hieronder staat een samenvatting van het gamedesign-document omschreven.
High concept
Wat vroeger een mooie planeet was, is nu de afvalhoop van het heelal. Vrijwel elke seconde wordt op de planeet R.U.S.T. afval gedumpt. Om te voorkomen dat de planeet onder het afval bezwijkt heeft het bestuur van de planeet een afvalrobot in dienst gesteld. Zijn taak is om het afval op te verzamelen en te dumpen in de vuilverwerkingsmachines. Hoe sneller hij dat doet hoe groter de beloning die hij krijgt.
Besturing
De speler bestuurt de robot door de iPhone naar links of naar rechts te kantellen. Omdat de robot onderhevig is aan de zwaartekracht, zweeft de robot omlaag. Door op het schermpje van de iPhone te drukken stijgt de robot.
Gameplay
In het level wordt telkens een willekeurig stuk afval gedumpt. Een teller start zodra het stuk afval in het level komt. De speler vliegt naar het afval en pikt deze op. Vervolgens moet de speler het stuk afval naar de daarbij horende vuilverwerkingsmachine transporteren. De teller stopt als dit is gelukt en de speler krijgt de resterende punten. Als de speler dat niet op tijd lukt, verliest de hij het spel.
Appletje-eitje!?
Om met Unity games voor de iPhone te ontwikkelen moet je naast Unity iPhone ook een Apple Developer-licentie hebben. Het aanvragen van een Apple-licentie was erg makkelijk. Toch duurde het een week voordat Apple onze gegevens had gecheckt en goedgekeurd. Na het betalen van de licentie kregen we eindelijk toegang tot de ontwikkelomgeving van Apple.
De ontwikkelomgeving van Apple werkt met lokale licentiesleutels voor zowel de ‘ontwikkel’-iPhones als de Apple Mac’s waar Unity op draait. Het installeren van deze sleutels ging ondanks de duidelijke instructie van Apple niet zonder slag of stoot. We waren ruim een dag bezig geweest om uit te vinden hoe een licentiesleutel gekoppeld kan worden aan Unity.
Unity + iPhone = Magic
R.U.S.T. is de eerste iPhone game die we met Unity maken. We waren daarom erg benieuwd hoe dat zal gaan. Toen we de Apple Developers-licentie hadden konden we niet wachten om het prototype op de iPhone te testen. En ja, het werkt geweldig! De integratie van Unity met de iPhone werkt naadloos. ‘Push button solution’ gaat hier helemaal op. Je maakt iets in Unity, je klikt op de Build-knop en alles wordt zonder problemen automatisch gecompileerd en op je iPhone geïnstalleerd. Zonder één woord in XCode te schrijven. Programmeren in XCode (de programmeertaal van de iPhone) is dus niet nodig. Ideaal voor onze opleiding waarbij de focus op design ligt. We zijn er wel van bewust dat hier misschien verandering in komt. Dankzij de nieuwe ToS (Terms of Service) van Apple is het tegen de regels om een ander ontwikkelplatform (zoals Flash en Unity) te gebruiken voor de ontwikkeling van iPhone apps. Unity overlegt op dit moment met Apple om er voor te zorgen dat ze aan de ToS van Apple voldoen. Tot nu toe wordt Unity gelukkig door Apple gedoogd.
Dat we Unity gebruiken betekent niet dat we niet hoeven te programmeren. Sterker nog, ondanks de simpele game-mechanieken moesten we complexe programmeercodes schrijven. De besturing, het oppikken en laten vallen van objecten, puntentelling en de physics zorgden voor aardig wat hoofdpijn. Vooral de physics, de natuurkundige krachten, bleken een eigen wil te hebben. Regelmatig schoten objecten zonder enige logische verklaring door het scherm. Het oplossen van die problemen kostte ons erg veel tijd.
De programmeercodes die we schreven bewaarden we in scripts. Het voordeel daarvan is dat je in Unity zo’n script meerdere keren kunt gebruiken. Zo kunnen onze studenten zonder te programmeren een game maken door simpelweg de scripts in het level te plaatsen.
Het kale prototype kun je in het filmpje zien. Met deze versie kun je rondvliegen, objecten oppikken en objecten laten vallen. Wat nog geprogrammeerd moet worden is de puntentelling en de moeilijkheidsgraad. Daarnaast moet het level natuurlijk nog aangekleed worden met 3D modellen. We zijn heel benieuwd wat je van het prototype vindt!
Taalfout gezien of andere suggestie hoe we dit artikel kunnen verbeteren? Laat het ons weten!
Reacties: 21 reacties