Sunday, June 14, 2009

Hry na iPhone - Stojí to za to?

Keď Apple pred rokom spustil svoj app store (online obchod s aplikáciami) mnoho vývojárov využilo túto príležitosť a doslova zahltili iPhone množstvom najrôznejších aplikácií a hier. iPhone mal už vtedy veľmi veľké rozšírenie a teda šanca ľahkého zárobku bola veľká. Pár šťastným vývojárom to dokonca umožnilo rozprávkovo zbohatnúť prakticky cez noc. Veľa ľudí si stále myslí, že stačí spraviť nejakú jednoduchú aplikáciu, pridať ju na App store, vyložiť nohy a bohatnúť. Ako je to však v skutočnosti?


Vybavenie

Na to aby človek mohol začať robiť aplikácie a najmä hry (lebo o tom celý tento blog je) potrebuje 2 veci. iPhone alebo iPod touch a počítač s OS X 10.5.

Prvá časť je pomerne jednoduchá. Zohnať dnes iPhone nie je až taký problém, z druhej ruky sa dá kúpiť dosť lacno a na moje veľké prekvapenie sa dá celkom dobre používať aj ako telefón. Nemusí vám teda byť ľúto, že ste vyhodili par stovák euro za niečo, čo vám bude len tak ležať na stole s tým, že to sem tam využijete pri programovaní.

S druhou prerekvizitou to také jednoduché nie je (pokiaľ už samozrejme taký počítač nemáte). Na výber sú v podstate 3 možnosti:

  • Nainštalovať si OS X na normálny počítač postavený na Intel architektúre. Cenovo najprijateľnejšia alternatíva, ktorá má však jednu podstatnú nevýhodu: Apple tvrdí, že na vývoj je potrebný niektorý z ich počítačov a teda vám v prípade nejakých problémov neostáva nič iné, len sa obrátiť na internet. Osobne som túto možnosť neskúšal avšak podľa predbežného googlenia tých problémov môže byť nemálo.
  • Použiť VMware alebo podobný program a nainštalovať si OS X do virtuálneho počítača. Výhoda oproti predchádzajúcemu bodu je to, že netreba preinštalovať pôvodný systém, ani zavádzať dualboot. Nevýhody su rovnaké ako v prvom bode plus sa k nim pridáva ešte veľmi nízka rýchlosť a responzivita.
  • Podriadiť sa diktátu Applu a kúpiť si niektorý Mac. Cenovo najdrahšia alternatíva, no najjednoduchšia pre prácu.
Plánoval som venovať sa vývoju pre iPhone dlhodobejšie, preto som zvolil tretiu možnosť a začal si zvykať na nové prostredie.


Vývojové prostredie

Prechod z Windows na OS X nebol taký ľahký ako som si povodne predstavoval. Napriek propagovanej jednoduchosti mi niektoré veci prišli zbytočne komplikované, netriviálne a niektoré vyslovene hlúpe. Na druhej strane ma niečím zase príjemne prekvapil a zjednodušil prácu. Celkovo však nepresvedčil ani po dvoch mesiacoch intenzívneho používania a neposkytol žiaden pádny dôvod prečo opustiť Windows.

Apple používa na vývoj iPhone aplikácií jazyk objective-c, vylepšenie jazyka C, ktoré ponúka podporu OOP a garbage collector. Mimo OS X je málo používaný a pravdu povediac sa tomu ani trochu nečudujem. Nebudem zachádzať do detailov, no celý objective-c bol podľa mňa krok zlým smerom. Jediná výhoda oproti C++ je prítomnosť spomínaného garbage collectora, tá však ani zďaleka nevyváži absenciu dobrého editora a zvláštnu syntax.

Najlepším IDE pod OS X pre objective-c je Xcode. Na moje veľké sklamanie nemá poriadny debugger a takmer vôbec nepodporuje vlastnosti, ktoré ma objective-c navyše oproti starému C.
Má však relatívne použiteľný memory leak detektor a takmer bez problémov zvláda prácu s certifikátmi a distribučnými profilmi, ktoré sú pre vývoj nevyhnutné.

Apple poskytuje iPhone simulátor na pomoc vývojárom, no vzhľadom na to, že nepodporuje mnohé funkcie, ako akcelerometer a multi-touch, som ho používal len zriedkavo. Veľmi dobre sa pracuje aj s aplikáciou ktorá beží priamo na telefóne.


Distribúcia

Takže máme hotovú hru, čo ďalej? Samozrejme ju treba dôkladne otestovať. Našťastie je potrebné testovať len na dvoch typoch hardvéru (iPhone a iPod touch) čo nám prácu obrovsky zjednodušuje.
Pred tým ako sa aplikácia dostane na app store musí prejsť schvaľovacím procesom Applu. Majú dosť prísne podmienky týkajúce sa toho čo sa môže predávať a čo nie a zároveň si vyhradzujú právo akúkoľvek aplikáciu odmietnuť bez udania dôvodu. Schvaľovací proces trvá obyčajne 1-2 týždne a hneď po schválení sa aplikácia môže objaviť na app store.

Veľmi nešťastne je vyriešené vytváranie bezplatných demo verzií. Ak chcete dať do aplikácie odkaz na kúpenie plnej verzie, musíte počkať kým vám plnú verziu schvália aby ste mohli získať odkaz, ktorý môžete vložiť do demo verzie.


Zisk. Alebo... ?

Ak ste mali za vývoj hry zaplatené vopred a pevnú čiastku, tu sa to pre vás končí. Ak ste si hru sponzorovali sami, alebo máte podiel na zisku, to najdôležitejšie sa práve začína. Pred rokom keď bolo aplikácií málo a dopyt bol veľký mali šancu zarobiť si na seba aj slabšie hry, časom nároky stúpali. Dnes, keď je na app store viac ako 50 tisíc aplikácií, je presadiť sa oveľa komplikovanejšie. Každý deň pribúda množstvo hier, ktoré bojujú o svoje miesto na výslní a pokiaľ ste nevytvorili hru, ktorá sa zapáči Applu (ktorý jú následne pretlačí cez svoje doporúčané hry) alebo hru nadpriemernú, či už po stránke grafickej alebo hrateľnostnej, môžete sa s rozprávkovým úspechom rozlúčiť. Marketingové možnosti sú veľmi obmedzené a samotný app store celej situácii nepomáha. Celú situáciu výborne ilustruje AppleAppWall, monitorová stena na ktorej sú znázornené najúspešnejšie aplikácie. Vždy, keď sa nejaká predá, jej ikonka zabliká a rozvlní svoje okolie. Je dobre vidieť, že blikajú skoro stále tie isté miesta, ktorých je navyše dosť málo.



Oplatí sa to?

Veľmi záleží aký je váš skutočný cieľ a čo od toho očakávate.
Ak do toho chcete ísť ako indie developer s pár kamarátmi aleob sám, bez skúseností a s očakávaním ľahkého zisku, asi budete sklamaní. V takomto prípade asi skôr prerazíte v oblasti flash hier. Takisto to nebude jednoduché, no šance na úspech sú väčšie. (Viac o flashových hrách niekedy nabudúce)
Ak robíte hry preto, že vás to baví, nejde vám o peniaze a nemáte problém ponúknuť hru zadarmo, nemáte čo stratiť. Hry zadarmo sú oveľa úspešnejšie avšak musíte sa zmieriť s pravdepodobne nenávratnou prvotnou investíciou.
Ak už máte za sebou pár viac či menej úspešných projektov a veríte, že dokážete vytvoriť hru, ktorá zaujme, smelo do toho.
Je tu ešte jedna možnosť, no nie je pre každého. Môžete sa pokúsiť spraviť zaujímavý prototyp hry a snažiť sa ho ponúknuť niektorému distribútorovi. Ak sa vám podarí zaujať, preplatí vám vývoj a nemusíte sa báť o výsledok. Distribútori sú však nároční a klon pongu s grafikou z MS Paintu im stačiť nebude.


Na záver

Apple app store je presýtený hrami najrôznejších kvalít, čo v konečnom dôsledku znechucuje aj samotných zákazníkov a oberá tým o zisk úspešných a úplne zabíja menej úspešných vývojárov. Neviem posúdiť, či takýto stav Applu vyhovuje, no mohli by sa zamyslieť a prísť s niečím novým a pomôcť tak každému zúčastnenému.

Úmyselne som vynechal možnosť vydať hru zadarmo a vložiť do nej reklamy. S týmto nemam žiadne skúsenosti, no čísla hovoria, že by ste potrebovali veľké množstvo stiahnutí, čo tiež nie je až také ľahké (napriek tomu, že to je zadarmo).

No comments:

Post a Comment