játékfejlesztés.hu
FórumGarázsprojectekCikkekSegédletekJf.hu versenyekKapcsolatokEgyebek
Legaktívabb fórumozók:
Asylum:    5448
FZoli:    4892
Kuz:    4455
gaborlabor:    4449
kicsy:    4304
TPG:    3402
monostoria:    3284
DMG:    3172
HomeGnome:    2919
Matzi:    2520

Pretender:    2498
szeki:    2440
Seeting:    2306
Geri:    2188
Orphy:    1893
Joga:    1791
Bacce:    1783
MaNiAc:    1735
ddbwo:    1625
syam:    1491
Libra balance - iPhone project 2009.12.04 08:27


Bevezetőként néhány szót ejtenék az Apple-, illetve az AppStore-ról is, mivel így kerek a történet, másrészt egyeseket érdekelhet a téma.

Tavaly hallottam először az Apple legújabb üzleti megoldásáról, az AppStore-ról, amely a független fejlesztők Mekkájának tűnt; az Apple részéről ez egy nagyon ügyes húzás: gyakorlatilag felkínálja a terjesztési csatornáit az indie-fejlesztők számára, és így mindenki jól jár.
A fejlesztők egy egy többmilliós, folyamatosan bővülő vevőtábort kapnak minimális befektetéssel (a minimális szó persze relatív), az Apple pedig olyan tartalmat biztosít az iPhone / iPod Touch felhasználók számára, amelyről más gyártók csak álmodoznak. (Jelenleg több, mint 100.000 alkalmazás található az AppStore-ban, és a letöltések száma meghaladta az egymilliárdot!)

Ezt a szolgáltatást egy szerénynek mondható, 100$-os összeg ellenében kapod - ez az éves fejlesztői licenc díja.
Persze azért ennyire nem rózsaszínű a helyzet, de erről is szó lesz a továbbiakban.

Kis kutakodás után úgy döntöttem, hogy egy ilyen lehetőséget nem szabad elszalasztani. Belevágtam a bizniszbe, aztán pár röpke hónap után méltóztattak elfogadni a pénzemet: hivatalosan is "iPhone App Developer" lettem - legalábbis egy évre biztosan.
(Megj.: manapság állítólag egy hét alatt megvan a licenc.)

Ezt követően sem tudtam 100%-ban a tényleges fejlesztésre összpontosítani, mivel különböző apróságokat kellett tisztázni, online form-okat kitölteni, adózással kapcsolatos levelezéseket lefolytatni, stb.
Mindezt érdemes idejekorán elkezdeni és lezárni. Az átfutás akár több hónapot is igénybe vehet, és ameddig ez nincs rendben, addig az alkalmazásod nem kerülhet be az iTunes-ba (akkor sem, ha sikeresen átment a review-n), vagy az Államokban *és itthon is* adóznod kell a bevételek után.
Szóval nem mindegy.

A kezdéshez kellett egy Mac és egy iPod Touch vagy iPhone. Nem olcsó mulatság, de ha az ember ügyes, lényegesen olcsóbban is hozzá lehet jutni a kütyükhöz.
Ezután következett az új környezet megismerése. Mindig is PC-m volt (a ZX Spectrum után, persze), de ennek ellenére - vagy épp emiatt ;-) - könnyű volt mac-szokni és mac-szeretni. (Elnézést!)
Az Obj-C-t már nehezebb volt megemészteni, a szintaxisa nem hasonlít semmilyen általam kedvelt prog-nyelvére. Őszintén: nem kedveltem meg különösebben, ezért csak akkor használom, ha nincs más opció.
Szerencsére elég ügyesen összeházasították a C++-szal, amit én piszkosul ki is használok.
Természetesen eleinte intenzíven bújtam a fejlesztői blog-okat, dev fórumokat, a dokumentációt - erre számítson mindenki, még akkor is, ha amúgy tapasztalt fejlesztőnek tartja magát. Az SDK folyamatosan bővül, javul, egyre több szolgáltatást nyújt, és emiatt folyamatosan követni kell a fejleményeket.

Miután már kezdtem kiismerni a (fejlesztő)környezetet és az Obj-C-t, belevágtam a prototípus gyártásba.
Az ötletadó egy egyszerű fizikai demó volt. Némi ötletelés meg whiteboard-os agyalás után megszületett a Libra balance ötlete: egy egyensúlyozós játék, amelyben az a lényeg, hogy golyókat tereljünk egy lyukba.
A grafikai és a fizikai motor rendelkezésemre állt egy előző project-ből. :-/
Már csak egy gond volt, amit meg kellett oldani: a laza, mégis létező PC/DirectX/Win-függőségektől megszabadulni úgy, hogy a motor átemelhető legyen és működjön iPhone-on.
Volt benne kihívás, de viszonylag könnyen ment az átlapátolás. Említettem, hogy az Obj-C és a C++ jól megférnek egymás mellett. Ezt a lehetőséget kiaknázva egy vékony, Obj-C réteget (nevezzük homlokzatnak) húztam a C++ framework fölé.
Néhány dolgot Obj-C-ben implementáltam az API-függőségek miatt (érintőképernyő-, illetve gyorsulásmérő kezelése), de a kód nagy része C++.

A prototípus működött, de a gamma csúnyácska volt. Ekkor fordultam Archenemy-hez, akinek köszönhetően a játékot profi köntösbe bújtattuk. Rendszeresen egyeztettünk, és végül megszületett az 1.0-ás verzió.
Aztán egy szép, nyári, hétvégi estén létrejött a kapcsolat az Apple szervereivel, és a bináris megkezdte hosszú útját valamelyik Cuppertino-i szerver felé. Ez is megvolt, utána jó érzéssel legurítottam egy sört az erkélyen. ;-)

10: Várakozás. Egy hét. Várakozás. Két hét. Várva várt e-mail, benne a rettegett szó: "Rejected", némi hivatalos körítéssel, plusz a visszautasítás okáról. Banális dolog, de végülis igazuk volt.
Elnéztem egy apróságot, amit két egérkattintással kijavítottam. Fél órán belül újra feltölt, majd goto 10.

Újabb két hét után megérkezik az e-mail. Dobpergés, hatásszünet: "Your application is ready for sale", sör az erkélyen.

Itt kell elkezdeni azon gondolkozni, hogy Jaguár vagy Subaru - ki-ki vérmérséklete szerint. Legalább kicsit örülsz. Aztán úgyis elmúlik, viszonylag gyorsan.

A fejlesztők naponta megnézhetik, hány példány kelt el az alkalmazásból. A kezdeti boom után elég gyorsan csökken a számláló, főleg ha nem reklámozod vagy nem reklámoznak mások (utóbbira ne számíts túlságosan).

Az a legjobb, ha az Apple maga ragadja ki a jelenleg 100.000+ app közül a gammádat. Ehhez valami egyénit kell alkotni, vagy fene tudja. (Néha olyan alkalmazásokat is reklámoznak, hogy a fal adja a másikat.)

Amikor ez az egész indult, sok iPhone játékra szakosodott weboldal született, akik néhány promo-kódért cserébe ingyen reklámozták az alkalmazást.
Ugyanezek az oldalak manapság 50$-tól pár ezer dolláros összegekig hajlandóak szóba állni velünk.
Ingyen nem kapsz szinte semmit sem manapság, úgyhogy érdemes feltölteni a paypal account-ot, ha belevágsz a bizniszbe. ;-)

Vissza a játékhoz, ha már postmortem cikk. Sokat tanultam a visszajelzésekből. Rá kellett jönnöm, hogy az emberek (főként amerikaiak, németek és japánok, a többi eladás elhanyagolható esetemben) többsége nem szereti, ha egy játék kicsit is nehéz.
Már a harmadik frissítésnél tartok, és sok új szolgáltatással bővült a játék ; az irányítást és a fizikai részt teljesen átszabtam. A kisfiam már fél kézzel tolja végig az első szinteket (2,5 múlt), de még mindig van, aki túl nehéznek találja a játékot. (Az 1.0 valóban nehéz volt, beismerem.)

Közben kiadtam a játék LITE verzióját - ez egy ingyenes változat, és azt a célt szolgálja, hogy az emberek kipróbálhassák a játékot, mielőtt fizetnének érte.

Ha más fizetés... A játék a megjelenése után szinte azonnal felkerült egy orosz warez oldalra, majd utána annak rendje és módja szerint elterjedt a hasonló profilú oldalakon. Nem mintha nem számítottam volna rá, de azért nem is örülök neki. Az újabb verziókat némileg "preparáltam", hogy ne okozzanak felhőtlen örömet a torrent-es rajongóimnak.

Mindent egybevéve jó kis tapasztalat volt!
A nehézségek ellenére nagyon bánnám, ha kihagytam volna. Sokat lehet tanulni, és most elsősorban nem a programozás/tervezés részre gondolok.

Egy ilyen end-to-end project alatt megismerheted a játékfejlesztés menetét és buktatóit, és végre a magad ura lehetsz. Te vagy a designer, az architekt, a fejlesztő - esetleg modellező/grafikus is -, a tesztelő, a projectmenedzser, a PR-os, a sales-es, stb.
Gyakorlatilag egy emberként viszel végig egy project-et az ötlettől a piacra dobásig. (Szerintem egy ilyen tapasztalás/gyakorlat minden szoftverfejlesztőnek jól jönne...)
A végeredmény sikerességét egy élő környezetben mérheted fel, a visszajelzések pedig sokat segíthetnek abban, hogy valóban jó szoftvereket alkoss.

Üdv,
Carlos

Értékelés: 9.00

Új hozzászólás
Carlos          2010.01.01 18:34
Ezerrel dolgozunk a következő játékon.
Carlos          2009.12.25 09:15
Megszületett a folytatás, Karácsony előtt az AppStore-ba került: 3D Jingle Balls.
Carlos          2009.12.14 03:47
@Orphy
A feltört iPhone progikat csak ún. jailbroken iPhone-okra lehet felrakni.

Az iPhone-os alkalmazásokat törik, törték, és törni is fogják. Erről az a véleményem, hogy nem szabad túl sokat foglalkozni vele. Rááldoztam egy szombat délutánt arra, hogy kicsit megnehezítsem a cracker-ek dolgát, azaz h ne lehessen automatikusan feltörni. De mint mindent, ezt is ki lehet küszöbölni, de ahhoz némi hexeditoros kézimunkára van szükség.

@svn
Abban egyetértünk, hogy az ember nem kell szétszervezze magát, és mindenki azzal foglalkozzon, amihez a legjobban ért.
Azonban egy kisebb project esetében - és inkább ez a jellemző az ún. indie fejlesztésekre - általában nem kifizetődő túl sok embert foglalkoztatni.
És ameddig nem úgy hívnak, hogy ngmoco vagy Digital Chocolate, addig valószínűleg meg tudod oldani egyedül is a járulékos terjesztési és marketing teendőket. Az anyagiak is korlátozottak, ezt sem szabad figyelmen kívül hagyni.

Nekem is nehezemre esett eleinte a tervezésen és a kódíráson kívül mással is foglalkozni, azonban mindez nagyon jótékony hatású.
Nem árt átlátni a teljes folyamatokat. Még akkor sem, ha másra - az adott területen profinak számító emberre - bízod a marketinggel, terjesztéssel járó teendőket.
Így nem csak, hogy nem fognak megvezetni, de akár tanácsokkal is szolgálhatsz. Végülis a te projected, ezáltal te vagy a legmotiváltabb.
Persze van olyan része, amit bizonyos esetekben kénytelen vagy másra bízni (a Libra esetében is volt ilyen).
svn          2009.12.14 00:29
A torrentes seeder, meg hanyszor toltottek le adatok nagyon csalokak. A legtobb ember aki torrentezik, elvbol vagy szuksegbol egyetlen vasat sem koltene sosem jatekre. Akik meg szoktak jatekot venni, az esetek nagy reszeben mmeg is veszik, vagy a torrentet mint "kiterjesztett demot" hasznaljak. Lehet dobalozni, hogy hany seeder, hany letoltes. De ha nem lehetne torrentezni, ezeknek az embereknek max az 5-10%-a venne meg.

Egy apro reakcio a cikkre, hogy kinek jon jol, es kinek nem ez a project (itt nem a lead coder feladatokra gondolok) / marketing management tapasztalat, nagyon emberfuggo. A szoftverfejlesztonek nem az a feladata, hogy managelje a jatek kiadasat, szervezze a marketinget stb... Ha kepes, ra es megy neki, akkor szep dolog, de az esetek nagy reszeben a hardcore devek nem igazan alkalmasak ilyen feladatokra (mar csak az emberi kulonlegessegeik miatt). Persze kivetelek, mint minden helyen vannak, de az ember foglalkozzon azzal amiben igazan jo, es ugy kepes a maximumot nyujtani. Ha szetszorja az erejet valaki, sok kicsi apro feladattal foglalkozva, akkor annak rosszabb hatasa lesz (penzugyileg is), mintha csatlakozna meg egy ember a csapathoz, aki csak managementtel / marketinggel foglalkozik.

Just my two cents.
Orphy          2009.12.13 14:02
Én arra lennék kíváncsi, hogy a torrenttel mit lehetne kezdeni...?

Én anno megvettem a Machinarium-ot elővételben, az is indie game volt, és az is szinte rögtön felkerült torrentre... Akkor is csalódott voltam, és most is az vagyok.

( A Machinarium-nál a release-t követő napon már 30.000 seeder volt, a játék 3.000 forintos árával számolva ez 90M forint bevételkiesés - ők 10-en voltak, fejenként ez 9 milla minusz adózás nélkül, mondjuk kicsit több mint a fele adóval - ebből Ferrarit nem, de azért egy új, középkategóriás autót lehet vásárolni. )


Azt még úgy-ahogy megértem, hogy a nagy, 15.000 huf-ba kerülő játékok felkerülnek, de hogy az 1-2000 forintos kategóriát is lopni kell, azért az elég szomorú... Ezek mögött a játékok mögött nem nagy multik vannak, hanem hús-vér emberek, akiknek igenis számit.

Nem tudom Carlos, Nálad hogyan alakultak ezek a számok, nem is feltétlen pubikus, de gondolom Te sem örültél.
H.István          2009.12.10 13:33
Tetszett a cikk, legfőképp az tetszett benne, hogy leirtad milyen gubancok lehetnek út közben és, hogy mekkora befolyással lehet az egészre. Egyedüli kritika az, hogy rövid!
Ha időd adja, örömmel olvasnék (és szerintem mások is), bővebben kifejtve az egyes buktatókról, a fontos dolgokról amelyek elkerülik elsőre az ember figyelmét vagy lebecsüli őket az ember (biztos volt ilyen is).
Sok sikert a játék folytatásához!
10
Carlos          2009.12.05 14:23
Kösz!
Igen, mindenképp lesz folytatás.
fpeti          2009.12.05 14:00
Nagyon hasznos cikk
Tervezel másik gammát is kiadni, ha már így megvan az infrastruktúra + know-how?
Prisoner          2009.12.04 15:22
Először is szeretnék Gratulálni, minden tiszteletem! A cikk pedig tetszik, köszi

Ash, azt hiszem 6 rugót fizettem egy c++ könyvért, ami szerintem emészthető. Csak lenne időm nekiülni. Vagy animáció tanulás, vagy progtanulás a meló mellett, már ha van még energiád
gaborlabor          2009.12.04 14:08
Igen, hát nyilván hogyha alapjaiban lenne hibás a koncepció, akkor az AppStore nem lenne olyan sikeres, mint amilyen.
Aztán meglátjuk, hogy változik-e majd valami, ha az Android és a Maemo is elterjedtebbek lesznek (ha lesznek).
Carlos          2009.12.04 13:57
Bevallom, nem ismertem. Akkor valószínűleg csak beállt az ellentáborba, mert megunta a review gépezet tökéletlenségeit. Azonban azt is be kell látni, hogy egy ilyen nagy gépezetnél időbe telik a változás. Folyamatosan csiszolják az AppStore-t és a folyamataikat, de ez egy élő rendszer, amihez nem lehet úgy hozzányúlni, hogy valakinek ne fájjon...
gaborlabor          2009.12.04 13:37
Carlos: értem, köszi a választ.
Bár szerintem Paul Graham nem az a tipikus noname zug-fejlesztő a szakmában (körbenéztél az oldalán?) Pláne nem az a tapasztalatlan fajta, aki ne tudná felmérni a saját képességeit. Legalábbis nekem ez jött le az esszéi/könyvei alapján, de mindegy is ez most.
Azt nem tudni, hogy a cikk 2009. november elején vagy végén (a módosítások előtt vagy után) íródott, mindenesetre az androidot mint lehetséges alternatívát említi is.

Az viszont jogos, hogy ha nem akar az ember naponta új verziót kidobni, akkor a 10 napos átfutási idő egyáltalán nem sok.
Carlos          2009.12.04 13:04
@gaborlabor
Az általad belinkelt cikk írója elég frusztráltnak tűnik. Vagy egyike lehet azon fejlesztőknek, akik túlzott reményekkel vágtak bele, aztán mégsem lettek reggelre milliomosok, vagy a review nála sokkal több időt vett igénybe, mint a megszokott két hét. Mellesleg november elején új szabályokat vezetett be az Apple, amely bezárt egy kiskaput, amivel sokan visszaéltek, így a fake-update-ek száma jelentősen csökkent, és ezzel tehermentesítették a reviewer-eket is (legalábbis én ezt tapasztaltam, legutóbbi frissítésem 10 napon belül bement).
A fanyalgóknak amúgy ott van a Google Android-ja, ott egyáltalán nincs review.
Szerintem ez a "savanyú a szőlő" kategória. Egyesek nem képesek reálisan felmérni a lehetőségeket, illetve a képességeiket.
gaborlabor          2009.12.04 11:30
Köszönjük, hogy megosztottad a tapasztalataidat, szerintem annak is hasznos, aki nem erre a platformra fejleszt.
Viszont nekem lenne egy kérdésem is. A cikk elején említed, hogy mennyire jó dolog az Apple AppStore-ja, mindenki jól jár, stb. Nekem mint kívülállónak is jó ötletnek tűnt a koncepció, de pár napja olvastam a neten egy esszét: Apple's Mistake - és azt kell mondjam, így belegondolva, van némi ráció abban, amit ír az emberünk. De hát az AppStore meg mégis sikeres... Szóval a véleményedre lennék kíváncsi. Szerinted is ilyen vészes ahogy a kóderekhez hozzáállnak?
Ashkandi          2009.12.04 09:26
Muszáj lesz megtanulni programozni.