3. 2011

srpen

Jak jsem si splnil sen 2: vyvíjíme hru

V dnešním díle miniseriálu o vývoji hry se zaměřím víc na technické věci a na to, jak probíhal samotný vývoj. Tímto se omlouvám všem, kteří nemají o programování nebo funkčnosti her žádné vědomosti a článek pro ně tak nejspíš bude španělská vesnice.

A co že je hra vůbec zač? Jmenuje se Molemageddon a jak vypadá můžete vidět třeba v tomhle videu :)

Po samotném odhodlání jsem začal pokukovat po nějakém pěkném 2D enginu, ideálně multiplatformním, abych mohl hru udělat i pro PC a třeba i Android. Primárně byla stále pro iPhone, ale bylo pohodlnější testovat na počítači. Vybral jsem si ORX, což byl (a stále bych řekl, že je) na první pohled pěkný multiplatformní engine, který funguje od Androida po Wii. Je napsaný v C, které jsem jakž takž uměl, ale díky dvěma měsícům s ORX jsem se v něm hodně zdokonalil. Jako bonus je velmi jednoduchý. Teda…věci, se kterýma počítá (animace, zvuky, fyzika) jsou strašně jednoduché, ale třeba tlačítka do menu jsem řešil dva dny.

Po třech dnech zkoušení a objevování funkcí enginu jsem si řekl, že musím vymyslet hru, kterou udělám. Z předchozích zkušeností vím, že pro mě nejlepší učební metoda určit si cíl a systémem pokus, omyl, tutoriál, Google, fórum se k němu dopracovat. A tak mě napadlo, že bych mohl udělat jednoduché chytání krtků, ideální hra pro dotykový telefon. Ne, že bych tehda měl nějaké velké plány, ale postupně mi najednou začalo docházet, že když vylepším herní koncept, nemusela by to být úplně špatná hra. A tak jsem přidal několik herních módů a dal to dohromady se spolužákem, který je šikovný na grafiku. Bohužel jsme se nepohodli (ale zpětně musím říct, že to byla dobrá „volba“) a já si našel jiného grafika. Tohle považuju za největší haluz celého vývoje. Napsal jsem na WebTrh, ozvali se tři zájemci. Jeden cukl hned, když jsem mu poslal hotový výtvor se slovy – udělej grafiku podle sebe. Druhý poslal něco neskutečně otřesného a ten třetí, ten mi doslova vyrazil dech. Grafika byla přesně taková, jak jsem si hru představoval. Spolu s novou grafikou jsem hru ukázal na menším srazu programátorů a dostal cenné tipy, jak jí vylepšit. Především nápad přidat víc lokací hru posunul o level dál.

A pak mi najednou začalo docházet, že chci ve hře integrovat Facebook, Twitter, možná taky Game Center a že si to pro ORX budu muset napsat všechno sám, popřípadě najít kvalitní knihovny a zakomponovat je do enginu a nebo engine zakomponovat do tzv. AppDelegate, což je základ pro každou aplikaci, která umí spolupracovat s iOS SDK. To by možná nebyl takový problém, ale já neustále pokukoval po Cocos2D enginu, který je sice jen pro iPhone/Mac (původní verze je v Pythonu, ale já chtěl použít Objective-C verzi), ale za to mnohem lepší. Už jen díky obrovskému množství úspěšných her, díky velkému množství vývojářů, tutoriálů, doplňků a všelijakých kravin byl lepší volba. Byl tu jen malý problém – prakticky jsem neuměl Objective-C a představa, že budu všechno, co jsem měl hotovo přepisovat do jiného jazyku a enginu mě ani trochu nelákala.

Disciplína naštěstí zvítězila a já se pustil do přepisování. K původnímu nakopnutí a potvrzení si, že Cocos2D je mnohem lepší volba mi pomohla skvělá kniha. Přečetl jsem první tři kapitoly a po zkušenostech s ORX (logika věcí byla prakticky stejná, jen jiný jazyk a „drobné“ odlišnosti) jsem začal kódovat na vlastní pěst. Vše šlo jako po másle a já měl snad za 14 dní (značně proflákaných dní) hru ve stejném stádiu, jako předtím. Tehdy začaly drobné problémy s grafikem, který neměl neustále čas a vývoj tak stál. Aspoň jsem měl čas přemýšlet, jak hru vylepšit a vrátil jsem se k původní myšlence, že ve hře bude příběhový mód. Teď toho sice krapet lituju, protože napsat příběh do hry, která je o mlácení krtků je trošku ujetý nápad, ale aspoň je ve hře nějaká přidaná hodnota.

No a to už se blížím ke konci. Hra se postupně dokončovala, ladila, upravovala až do stádia, ve kterém je právě teď, kdy jsem jí poslal na schválení velkému Applu. Sám jsem zvědav, kdy a zda vůbec hru schválí, ale prozatím nevidím důvod, proč by měly být problémy. Hra je velmi důkladně otestována na rozličných zařízeních (iPhone 3G, 3GS, 4, a poslední iPod Touch) a ani na jednom z nich se už nevyskytují žádné problémy.

Samotný vývoj mi dal spoustu nových znalostí a zkušeností. Prakticky umím dva herní enginy, z toho jeden multiplatformní, ke kterému se možná ještě vrátím, pokud bude hra dostatečně úspěšná na iPhonu. Výrazně jsem se zlepšil v C/C++, naučil jsem se Objective-C. Taky jsem si uvědomil, kolik času zabere vývoj takové hry a jaké to je, když (na) vás lidi s prominutím serou. Hra mohla být hotová minimálně o měsíc dřív, mít grafik víc času, ale chápu, že si musel nějak vydělávat a navíc je to teď stejně jedno.Teď hledím za jediným cílem – vydělat na tom aspoň něco. Minimálně na český trh mám připravené zajímavé promo, se kterým by se mi s trochou štěstí mohlo podařit dostat do TOP aplikací hned po vydání. Se zbytkem světa to bude horší. Spíš o štěstí, ale třeba se stane zázrak a všimne si mé skromné hry i nějaký velký web o iPhone hrách popřípadě masy někde v Brazílii :).

No a v dalším díle (pravděpodobně až po schválení aplikace) se zaměřím na to, jak takový vývoj probíhá ze strany byrokracie k Applu.

Komentáře

xergic

xergic

11:59 03.08.2011

No já se teď snažím začít s C a Obj-C, ale je to celkem těžké pro někoho, kdo několik let dělal ve Visual Basicu :-)

A Molemageddon si určitě koupím jako jeden z prvních ;-)


 

Hledej