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

Het deel is de serie over Mini Plane, het eerste iPhonespel van Orangepixel.

mini planeIn de afgelopen zes artikeltjes heb je kunnen lezen over het maken van ons eerste iPhonespel. Omdat meerdere mensen ons vroegen naar de technische kant van de ontwikkeling, in dit artikel een aantal behulpzame sites en tools die mij op weg geholpen hebben bij het maken van Mini Plane. Mocht je nog andere vragen hebben, laat dan even een reactie achter en waar mogelijk is zal ik ze beantwoorden. Je kan me ook op Twitter bereiken: @orangepascal.

De officiele route

Wat vooral belangrijk is, is dat ik alles op de officiële manier heb gedaan. Een echte Mac, een normale iPod touch (geen jailbreak) en een inschrijving als officiële developer bij Apple. Er zijn andere manieren om games te maken zonder veel geld uit te geven aan hardware en licenties, maar dat is niet aan te raden als je het serieus wil aanpakken. Als je goedkoop leuke dingen wil maken is het gewoon simpel om te kiezen voor Android.

Tutorials

Het internet staat werkelijk vol met tutorials en stukjes broncode. Niet allemaal zijn ze even handig. Een erg goede tutorial is te vinden bij 71Squared. de manier waarop hij alles laat zien en bespreekt is rustig, maar goed. Het is niet de manier waarop ik mijn games maak, maar wel heb ik zijn tutorials gebruikt om een begin te maken met onze eigen games (en vervolgens is er vrij weinig over van dat begin). Wat vooral interessant is, zijn de Texture2D en image classes die je in zijn tutorials kunt vinden. De Texture2D is officieel van Apple en maakt het mogelijk om je sprites, tekst en andere 2D-plaatjes op een OpenGL-scherm te krijgen. Een must have!

Voor het geluid was een erg handige (en korte) tutorial te vinden op gehacktes.net. De code is weer gebaseerd op de eigen code van Apple (MyOpenAl) en ze hebben al een nieuwe versie beschikbaar die minder memory-leaks heeft dan de versie van de tutorial. Dus zorg dat je de nieuwste ook even downloadt van Apple developer (misschien login nodig).

Geheugen

Veel mensen waarschuwen voor de problemen met geheugen vrijgeven in iPhone-applicaties. Dat is allemaal wat overdreven. Als je netjes je programmacode schrijft en onthoudt dat niet alles vanzelf losgelaten wordt, dan is er niets aan de hand. Wel moet je de Leaktool gebruiken die in XCode ingebouwd zit, want er zijn altijd objecten die je vergeten bent. In mijn geval waren het een paar strings en textures die niet altijd vrijgegeven werden. Overigens kwam ik er ook achter dat de emulator hier een verschil toont met een echte iPhone/iPod. De Leakmonitor gaf fouten in de OpenAL muziekcode van Apple, maar dit bleek alleen een probleem op de emulator, niet op het echte apparaat.

Tools

De meeste resources, plaatjes en geluid had ik al gemaakt op Windows en Ubuntu voor de Androidversie. Voor het maken van de plaatjes gebruik ik sinds een paar maanden het gratis te gebruiken Gimp . Het is even wennen, maar je kan erg veel met dit programma en het is gratis. Een ander voordeel is dat het op alle systemen werkt, dus ook beschikbaar is voor de Mac.

Voor de geluidseffecten heb ik voor een aantal samples verschillende creative commons-libraries gebruikt die op internet te vinden zijn, en ook mijn nieuwe favoriete soundeffects generator a3sfxr gebruikt. Met deze heerlijke tool kun je de ouderwetse 8-bit soundeffects genereren en dat past gewoon helemaal bij mijn stijl en soort games. Veel onafhankelijke en amateurdevelopers gebruiken deze tool en je kan er erg veel uithalen als je er even voor gaat zitten.

Meer vragen?

Dus, voor alle andere die ook van plan zijn games te maken voor iPhone: als je nog vragen hebt, plaats ze dan in de reacties. Ik wil ook best stukje broncode delen hier en daar, maar het heeft volgens mij niet zo’n zin om dat hier willekeurig te doen. Dus als je precieze vragen hebt over bepaalde dingen, laat het dan even weten in de reacties.

Reacties: 20 reacties

Reacties zijn gesloten voor dit artikel.