Mini Plane: het ontwikkelen van een iPhone-game, deel 5 (dagboek)

Mini Plane: het ontwikkelen van een iPhone-game, deel 5 (dagboek)

In de serie over het ontwikkelen van een iPhone-game zijn we aanbeland bij deel 5: het ontwikkelen van de interface met onder andere de knoppen.
Pascal Bestebroer -

mini plane menuIn 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.

miniplane credits

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.

miniplane help

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!

Click here to display content from YouTube.
Learn more in YouTube’s privacy policy.

Reacties: 12 reacties

  1. moet heel de post in het topic overzicht? >.<

  2. 1 April he.. :+

  3. wanneer verwacht je dat mini plane in de app store komt?

  4. @Floris: op dit moment is Mini Plane voor de 4e keer gesubmit bij de app-store.. hopelijk zijn dit keer alle “fouten” er uit zodat hij goedgekeurd gaat worden 😉 Dus met beetje geluk volgende week al, maar je weet maar nooit!

    Er zal ook nog een artikel komen waarin ik het hele submit proces beschrijf en de redenen van afkeuring.

  5. Heb jij nou ook dat iedere volgende stap weer een moeizame is? Ik kom steeds dichter bij wat ik moet hebben, maar het kost me wat mij betreft veel te veel tijd (terwijl ik zat ervaring heb op andere platforms). Het is gewoon allemaal zoveel anders in het iPhone SDK.

    Aangezien jij ook nieuw bent ingestapt met ervaring met een andere omgeving en ik je regelmatig over vloeken zie schrijven ;), ken je die frustraties? Dat je steeds weer voor een muur staat, terwijl je normaal gesproken allang drie deuren verder had geweest. Puur omdat je niet weet hoe een bepaald iets nou weer werkt in het Cocoa Touch framework, xcode of Objective-C?

    En werk je full-time hieraan? Dat moet ook helpen, natuurlijk!

  6. @Thaurin: ja op sommige momenten had ik het ook wel even gehad.. dingen die zo simpel leken en die ik gewoon niet voor elkaar kreeg. Denk daarom ook dat het internet een stuk handiger is dan een boek, want het zijn altijd die kleine … dingen die je niet voor elkaar krijgt en ook niet in een boek staan omdat een ander het vanzelf sprekend vindt.

  7. Precies! Dan ben ik gelukkig niet de enige. 🙂

  8. @ Thaurin
    Welke app ben jij dan aan het ontwikkelen

    By the way mini plane lijkt op icopter, maar dan veel leuker;) ziet er ook veel leuker uit. Even een vraagje, hoeveel gaat hij kosten?

  9. @jerry.w: Het spel gaat €1,59 kosten.

  10. Leuk dat je dit ‘dagboek’ publiceert! Mini Plane ziet er leuk uit, knap stukje vakwerk! Zelf ben ik ooit jaaaaaren programmeur geweest maar nu (gelukkig) niet meer. Een vriend van me is ook pas begonnen met het ontwikkelen voor een iPhone, ook een geroutineerd C programmeur. Maar als ik dan ook zijn frustraties af en toe hoor… nee niet meer aan mij besteed allemaal! 🙂 Daarom alleen al bij wijze van support zal ik Mini Plane tzt aanschaffen 😉

    Toch denk ik dat je/jullie nog eens over de prijs na moeten denken. Persoonlijk denk ik dat je met een prijs van €0,79 veel meer zult verkopen dan door €1,58. Als ik alleen al naar mezelf kijk, dan zie ik een app voor €0,79 en koop die zonder problemen. Is het niks, nou ja dan heb ik een half biertje ‘weggegooid’, maar boven de 1 euro klinkt het ineens als ‘echt’ geld en moet een app voor mij ineens meerwaarde hebben alvorens ik het aan zal schaffen. Zit tussen de oren, ik weet het, maar uit ervaring van en met andere iphoners weet ik dat ik hierin niet alleen sta…

    Keep up the good work! Gr. Nick

Reacties zijn gesloten voor dit artikel.