Jak na hry v iPhone ? Začínáme

03.01.2010   Autor: Julek

Opět jsem nedal pokoj a Martina ukecal, tak zde máte první info jak se vlastně hra na iphone píše ..

Nedávno jsem vytvořil svoji první hru pro iPhone, tvorba hry mi otevřela nové znalosti ze světa programování, se kterými se s vámi rád podělím.

http://knotek.info/asteroid-shooter.html

 

Ve světe programování nejsem žádný nováček, prošel jsem si vývojem v Assembleru, pascalu, céčku, čistým HTML, klasickýma ASP až jsem skončil u platformy Microsoft NET. Této platformě se věnuji více jak šest let. Zároveň se věnuji vedení projektu v Java. Nedávno jsem si, ale pořídil iPhone a tak jsem si řekl, že vyzkouším něco nového. Na rozdíl od všech předchozích jazyků jsem neměl snadnou cestu k možnosti vývoje (nevlastnil jsem Apple). Musím říct úplně OT, že jsem nečekal, že to bude takové překážka. Předpokládal jsem, že pořídím nějakou virtuální reprezentaci Mac OS (pro technicky zdatnější pod vmware). Bohužel tato cesta se ukázala jako neproveditelná, respektive vůbec nefungovala (oproti Fusion pod Apple, které fungují bezvadně). Nic naplat platforma mě lákala, koupil jsem obyčejný macbook. Musím říct, že mě macbook mile překvapil, tichý výkonný za rozumnou cenu (cca 25 tis v Alza).

Protože jsem si již pár novými platformami prošel, začal jsem na nejvhodnějším místě, kde by měl začít každý, u výrobce:

http://developer.apple.com/iphone/

 

 

(Prakticky pro případné nadšence doporučuji přečíst všechny dokumenty na úvodní straně, vyplatí se to, hlavně pak iPhone Application Programming Guide).

Zde se dostavilo první zklamání, jak mě mile HW překvapil, tak dokumentace u Apple mě překvapila nemile. Kdo někdy vstoupil do světa vývoje v Microsoft (potažmo MSDN), tak asi již nenajde kvalitnější dokumentaci. Nicméně dokumenty jsou relativně stručné a výstižné, hůře se v nich orientuje a něco jako slovník pojmů a postupů jsem zatím neodhalil. Bohužel pro Apple je i vývojářská komunita skoupější na slovo něž u jiných jazyků a tak se pro iPhone hůře hledají návody a aplikace.

Po prostudování frameworku cocoa (nad objective-c) a oprášením klasického céčka jsem se pustil do samotné realizace. Pro začátek je nutné se zaregistrovat v Apple (Developer Connection) na výše uvedeném linku a poté je si stáhnout xcode.

Stažení je dostupné v sekci Downloads. Zde je pro každý Max Os dostupný balíček s SDK pro iPhone, bez kterého se neobejdete. Instalace nic překvapivého stáhnou proklikat hotovo.

Po stažení doporučuji najít nějaký Hello work příklad pro iPhone a vyzkoušet pustit v xcode. Pro začátečníky doporučuji, všimněte si vlevo nahoře volby prostředí pro iPhone, pro spuštění na vašem počítači je nutná volba iPhone simulátor. Další volby s Device v názvu slouží pro běh přímo v připojením iPhone, na což je Apple potřeba licence (viz níže).

Po pár testech s Windows based aplikacemi jsem přikročil k bádání nad možností tvorby her. Pročetl jsem pár článků na internetu a dospěl k názoru, že pro začátky bude plně dostačovat framework cocos2d. Široká veřejnost jej doporučuje pro úplně začátky.

http://www.cocos2d-iphone.org/

 

Stažení frameworku opět velmi jednoduché, postup snadno čitelný a i běžný Franta uživatel musí mít hotovo do několika minut. Po stažení je prakticky nutné pouze otevřít nápovědu, pustit podle instrukcí instalační script a je hotovo. Instalační script přichystá šablony pro xcode, které názorně prezentují: základní princip, box2d a chipmunk (fyzikální engine). Šablony jsou perfektně zpracované a po založení projektu jedním klikem z xcode okamžitě spustitelné.

Byl jsem až překvapen jednoduchostí spuštění, protože rozjetí příkladů pro samotný iPhone mi zabralo daleko více času.

Stránky pro cocos2d jsou velmi dobře provedeny, pro zahájení vývoje stačí proběhnout dokumentaci:

http://www.cocos2d-iphone.org/wiki/doku.php/

 

A poté se již jen zoufale ptát na, kde vám velmi rychle poradí. Je to samozřejmě nadsázka, ale kdo si přečte poctivě krátkou dokumentaci, tak se směle může pustit do nějaké malé hry.

Nedoporučuji začínat s velkým projektem, hezky pomalu od začátku. Pro ty, co ještě nemají zkušenosti s vývojem na neznáme platformě, tak základní princip návrhu je:

- na jeden papír sepsat co chci vytvořit

- zamyslet se co za úskalí má realizace (příklad níže)?

o Potřebuji načíst png průhledné obrázky

o Potřebuji detekovat kolize objektů

o Potřebuji, aby se mi objekt plynule zmenšoval

o Potřebuji kontrolovat platnost pole…

o Jak udělám životy?

o Jak uchovám skóre?

o Atd ..

- poté co znám odpovědi na všechny výše uvedené otázky začnu s realizací

Pokud se na hře domluví více lidí, tak navíc doporučuji přečíst něco o agilním programování a hlavně si určit hlavního koordinátora.

 

Nyní ta složitější část, pokud chcete aplikaci vidět ve svém iPhone je potřeba si zažádat o developerský certifikát. K certifikátu se dostanete jen po úspěšné registraci jako Apple vývojář. Registrace pozbývá několik kroků:

http://developer.apple.com/iphone/program.

- stažení dokumentu registrace

- vyplnění údajů perem (platební karta podmínkou, s nejmíň 99 dolary

- odeslání faxem na číslo na dokumentu

- počkat cca 3 dny

Po třech dnech je Vám oznámen úspěch neúspěch. Po úspěšné registraci můžete generovat několik certifikátů (developerská a distribuční)

http://developer.apple.com/iphone/library/documentation/Xcode/Conceptual/iphone_development/128-Managing_Devices/devices.html

Developerský je prvním krokem. Za pomocí tohoto certifikátu můžete do svého iPhone nahrát vaší aplikaci.

Distributorský poté slouží pro distribuci na App store (k tomu je navíc potřeba vyplnit bankovní informace pro zasílání faktur).

Za pomocí certifikátů přeložíte aplikaci a podle návodu ji nahrajete na App store ke schválení. Nyní nastávají cca 2 dny napětí, co vše jste pokazili :-) mě osobně neschválili aplikaci i díky různým ikonám pro iPhone a iTunes.

Pak již jen čekáte, zda si někdo aplikaci stáhne. Reporty jsou generovány cca po 12h následující den.

http://developer.apple.com/iphone/manage/overview/index.action

Pokud Vás článek zaujal, tak příště něco možná konkrétního :-)

Martin Knotek

 

 

 

 

 

 

 

 

20 komentářů shlédnuto 11417x
  • Currently 4.5/5 Stars.
Saman 01.03.2010 10:29
Zajimavy clanek. Jen bych dodal, ze chce-li nekdo jen zkusit neco s iphone developmentem, tak existuje moznost developeni i bez Maca a bez poplatku pro Apple (bez moznosti publisheni na Appstore), ale cesta je komplikovanejsi a jedna z podminek je i JB. Jinak, nerek bych, ze MSDN API dokumentece k .NETu je nejak excelentni. Mozna u tech nejpouzivanejsi class ujde, ale Javovska API dokumentace ji prevalcuje na vsech frontach.
Pitr 02.03.2010 00:42
Ahoj, mas s tim nejake zkusenosti? Mam Win XP a chtel bych zkusit naprogramovat neco pro toho svyho ajfouna.. :)
kox 09.03.2010 16:20
není to tak jednoduchý jako vytvořit iPhone blogísek ;-)
Pitr 09.03.2010 20:20
Ja zadnej "blogisek" nemam.. S programovanim mam uz celkem velke zkusenosti, jen me za jimalo, jestli s tim ma dotycny nejake zkusenosti, o ktere by se s nami rad podelil. Rozjet to totiz mimo Mac OS je totiz docela slozity...
Martin Knotek 01.03.2010 10:44
Ano cesta existuje, ale je to na pevné nervy. Třeba hackintosh.
Saman 01.03.2010 11:17
To jsem zrovna nemyslel. "Neofficialni SDK", tzv. iPhone Toolchain. Mam to na woknousich v Cygwinu..
Revin 01.03.2010 21:49
je tedy možné programovat něco pro Iphone na PC a pak to dát na Appstore z MACa? Ptám se, protože kámoš MACa má ale já ne.... Díky za odpověď
Martin Knotek 02.03.2010 12:22
Jo je to možné. Stačí když to přeloží on se svým certifikátem.
Carlos 01.03.2010 15:04
Bude i nějaké pokračování s příklady?
Julek 01.03.2010 17:17
bude :)
Honza 01.03.2010 20:34
Těšíme se
Carlos 01.03.2010 20:58
Super , tak to už se těším :)
Julek 03.03.2010 07:12
Martin se snad nechá ukecat :)
RMI 03.03.2010 22:17
Mna by skor zaujimalo ako to ide s predajom. Mozes prezradit kolko ludi si hru uz zakupilo? Ci to budes vediet az na konci mesiaca?
Miroslav Jakubovie 04.03.2010 12:53
no ja som si ku kupil,takze +1, kto sa prida ???
Martin Knotek 09.03.2010 08:21
Prodej ce velmi o nicem, treb podle google analytics, prislo 180 lidi primo z teeto stranky. Stahlo si to ale celkem jen 5 lidi z CZ. Ostatni staty, hlavne amerika jsou na tom lepe. Zatim si hraji s ruznymi publikacnimi nastroji. Az budu mit prehled tak to take bude clanek.
Miroslav Jakubovie 16.03.2010 22:35
to applaci xu 99$ za rok troska dost, ne?
dfg 22.06.2010 03:29
MBT MBT shoes MBT Men shoes MBT Women shoes MBT Chapa Chapa GTX MBT Chapa GTX MBT Changa Women UGG Women UGG boots ugg boots cardy ugg women ugg cardy boots Nike Air Nike Air Max Nike Air Max Shoes Nike Dunk Nike Dunk SB Nike Dunk SB Shoes Nike Shox Nike Shox Shoes Timberland Timberland sale Timberland boots Timberland boots online Timberland on sale New timberland boots Women Bags Women Bags Sale Women Handbags Women Handbags Sale Women New Bags Cheap Bags Cheap Bags On Sale UGG UGG boots UGG boots short Short ugg Short ugg boots Ugg boots tall New women bags New women bags sale New women bags sale online Louis Vuitton Handbags Gucci bags hair straighteners hair straighteners sales GHD straighteners GHD straighteners sales CHI iron CHI iron sales BOSE headphones discount cheap CHI iron Nike Nike Shoes Nike Shoes Sale Nike running Nike running shoes Nike trainers Nike trainers shoes Timberland boots Timberland boots sale Timberland boot Timberland boot sale Timberland boots cheap Men timberlands nike air max sale nike air max spot up nike air max skyline nike air jordans women nike air max nike air max conquer nike air max 1 nl nike air max moto nike air max shoes nike air shox shox shoes nike air shoes air shox air shox shoes nike shox air nike air max ltd shox sneakers shox classic shox trainers mens shox nike shox shoes shox women shox cl nike max nike air shox shoes nike air yeezy shoes nike air yeezys nike air yeezy cheap nike shox air shox r4 air yeezy colorways nike air max series air yeezys shoes air yeezy shoe air shoes air yeezy shoes air jeezy shoes nike shox classic air yeezy sneakers nike airmax air yeezy sneaker nike air rift men shox red and black shox nike yeezys shox shoe nike classic men's shox shox sneaker air rifts nike size shox size 9 nike limited edition nike white pink shox black shox
alex 06.07.2010 13:24
Thanks alot for the review, agree by the most above comment people. logo design | website design | logo designs | business logo
alex 06.07.2010 13:24
Thanks alot for the review, agree by the most above comment people. logo design | website design | logo designs | business logo

    © iPhone.cz, 2008-2017
    Developed by New Web Art