In deze serie wordt uitgelegd hoe ontwikkelaar OrangePixel een iPhone-applicatie maakt. Eerder kwamen al achtergrond, geluiden en dergelijke aan de orde. Nu is het tijd voor de interface.
Nu de gameplay er in zit, is het toch echt tijd om dat laatste stapje te nemen. Persoonlijk zie ik altijd erg op tegen het hele interface-gedeelte, waar we alle losse stukken van het spel aan elkaar lijmen tot een mooi geheel. Helaas is het wel een belangrijk deel van het spel en vind ik dan ook dat het een spel van ‘hobbyproject’ naar een wat meer professioneel ogend geheel kan brengen.
Bouwstenen
Het belangrijkste van de interface zijn de verschillende bouwstenen. In het vorige artikel gaf ik al een simpele uitleg over wat Class-bestanden zijn (zie het stukje over de Hamer) en voor onze interface-bouwstenen heb ik normaal gesproken ook een aantal bouwstenen die het een stuk makkelijker maken om een menu te maken.
Voor mij is het voordeel dat deze bouwstenen gebruikt worden in alle volgende games die we voor de iPhone maken, en door er nu dus de tijd in te stoppen en te zorgen dat ze goed werken, en bijna het zelfde werken als de Android versie, maak ik het mezelf erg makkelijk in de toekomst.
Bewegingen
Een groot nadeel dat ik tegen kwam is het feit dat ik alle verschillende bewegingen met de hand gemaakt moeten worden. Op Android heeft Google heel wat handige bouwstenen gemaakt om te kunnen zien of een “fling” beweging gemaakt wordt, of een “scroll” beweging, en zelfs voor cirkels en overige handelingen zijn stukjes code beschikbaar. Op de iPhone heb ik dat helaas niet kunnen vinden, en alles wees er dan ook op dat ik het zelf moest programmeren.
Gelukkig heb ik voor nu alleen maar de behoefte aan een soort van scroll/fling beweging om door lijsten te bladeren. Zodat de gebruiker door de lijsten van achievements of hogescores kan bladeren. Veel pogingen en kleine aanpassingen later heb ik het gevoel dat het goed werkt, maar echt tevreden ben ik er nog niet mee en ik zal dus nog blijven zoeken naar betere oplossingen hier voor.
Knoppen
De interface bestaat voornamelijk uit knoppen, dus door een goede bouwsteen te maken voor knoppen is het daarna vrij simpel de hele interface in elkaar te draaien. De credit- en helpschermen zijn voornamelijk statische plaatjes en het menu is een verzameling knoppen.
Het rare aan dit alles is nu dat ik voor de Android-versie al begonnen ben aan een nieuwe update met vele extra’s en ik daarvoor de hele interface overhoop ga gooien… Maar goed, het originele plan was om eerst versie 2 van Mini Plane op de iPhone te zetten en daarna zal ik gewoon de aanpassingen waarvan ik nu dus al weet dat ze komen, pas gaan inbouwen. Of dit de beste manier is weet ik nog niet, maar de keuze is gemaakt!
Online gedoetjes
Met een werkende interface rest er toch echt nog één laatste stap, het inbouwen van ons online ranking- en achievement-platform: RumbleX.com. Dit systeem heb ik een paar jaar geleden in elkaar gedraaid, zodat onze gamers hun highscores kunnen uploaden. Het wordt voornamelijk gebruikt door onze eigen games, zowel op Android als voor mobiele Java-games en nu dus ook iPhone!
Nu weet ik dat er voor de iPhone meerdere van dit soort diensten zijn en wie weet stappen we in de toekomst over naar één daarvan… maar voor nu hou ik het gewoon lekker bij onze eigen dienst, zodat iPhone-gamers kunnen spelen tegen Android-gamers in de online rankings.
Het hele omzetten van RumbleX heeft me dan ook een aantal dagen gekost. Niet omdat het veel werk is (het meeste gebeurt aan de serverkant), maar omdat internetverbindingen en alles wat daarbij komt kijken weer heel anders werkt op de iPhone. Maar na veel vloeken en uitproberen zijn de eerste iPhone-scores dan toch echt in het systeem beland, en ook de achievements werken. Het idee is er dan ook gelijk om een speciale iPhone-achievement en Android-achievement te maken voor de echte Mini Plane die-hards die beide systemen in handen hebben. Wie weet in een toekomstige update!
Afronding
Als alles dan eindelijk in het spel zit blijft er maar één ding over: TESTEN! Veel testen en alle foutjes oplossen natuurlijk. In het volgende artikel zal ik hier wat meer over vertellen en ook gelijk wat handige links naar artikelen geven die mij geholpen hebben bij het maken van onze eerste iPhone-game!
Taalfout gezien of andere suggestie hoe we dit artikel kunnen verbeteren? Laat het ons weten!
Reacties: 12 reacties