TOPlist

Vyvíjíme pro Windows Phone: Specifika platformy, Marketplace (2. díl)

Připravili jsme pro vás druhý díl našeho seriálu o programování her pro Windows Phone, ve kterém se podíváme na specifika platformy a možnosti publikování na Marketplace.

V prvním díle našeho seriálu jsme se seznámili s aktuální situací Windows Phone na českém trhu a prošli jsme si základní požadavky na vývoj. Tentokrát se podrobněji podíváme na jednotlivá specifika této platformy, ať už z hlediska hardware nebo software.

- -

Na platformě Windows Phone je skvělé, že pokud si svoji aplikaci odladíte podle jednoho konkrétního telefonu, máte téměř jistotu, že poběží dobře i na všech ostatních. Roztříštěnost této platformy je zatím minimální. Je to dané tím, že už od začátku stanovil Microsoft u těchto telefonů pevné hardwarové požadavky, které museli všichni výrobci splnit. Je možné, že do budoucna se tato výhoda bude postupně ztrácet, jak budou na trh přicházet novější a výkonnější zařízení (hlavně s vyšším grafickým výkonem), nebo pokud se naopak uvedou nějaké omezenější “lowendy”. Zatím se ale můžeme spolehnout u všech telefonů na stejné rozlišení displeje, stejný počet tlačítek a dostatečný procesorový i grafický výkon. Kompletní specifikace telefonů v aktuální podobě je uvedena v následujícím seznamu:

  • kapacitní displej, rozlišení 480 x 800 pixelů, podporuje minimálně 4 dotyky najednou
  • 7 tlačítek na telefonu (start, zpět, hledat; fotoaparát, hlasitost nahoru/dolů, vypínací tlačítko)
  • alespoň 256 MB RAM, 8 GB paměti pro ukládání dat
  • procesor 1 GHz nebo více (nebo 800 MHz Qualcomm ARMv7 druhé generace)
  • grafický čip s podporou DirectX 9 (typicky Adreno 200 GPU, nově Adreno 205)
  • senzory: A-GPS, akcelerometr, kompas, světelný senzor a senzor vzdálenosti (proximity)
  • pro nové telefony od října 2011 také: gyroskop
  • fotoaparát s rozlišením alespoň 5 Mpx, s přisvětlovací LED diodou
  • podpora pro Wi-Fi a internet přes mobilní sítě, Bluetooth, FM rádio

Další položky jsou už jen volitelné – jako například přední kamerka pro videohovory, vysouvací hardwarová klávesnice, nebo podpora pro výměnné paměťové karty. Ze specifikací je vidět, že Windows Phone telefony zatím například sice nemají přímou podporu pro dvou a vícejádrové procesory, ale jinak jsou jejich parametry navrženy opravdu velkoryse, s jejich výkonem většinou problém mít nebudeme.

- - -

Z hlediska vývoje nás určitě zajímá, jak si u své hry nebo aplikace můžeme navrhnout ovládání. Jak už jsme si všimli, u těchto telefonů nemáme k dispozici žádný joystick, trackpoint, šipky ani nic podobného. Hlavní vstup musíme brát z dotykového displeje. Pokud si chceme navrhnout nějaké speciální ovládací prvky, veškerá tlačítka, posuvníky a podobně si musíme sami vykreslovat. Je to asi hlavní rozdíl oproti ostatním kapesním herním konzolím (jako např. Sony PSP), při navrhování her na to musíme brát ohled. Můžeme ale plně využívat multidotykového displeje. Dají se jednoduše odchytávat gesta jako roztažení dvou prstů, rychlé táhnutí po displeji apod., v dalších dílech si to ukážeme konkrétně. 

Dále můžeme určitě využít „naklápění telefonu“, pomocí akcelerometru. Z jeho vstupu získáváme náklon v ose X a Y, plus gravitační zrychlení (dá se tak dobře detekovat, když např. někdo s telefonem bude klepat nebo máchat ve vzduchu). Oproti tomu předepsaná hardwarová tlačítka nám moc nepomůžou, protože z nich můžeme využít konkrétně pouze jedno – tlačítko zpět, a i u něj bychom měli dodržet určitá pravidla. V rámci hry by nás jeho stisk měl vždy vrátit o obrazovku zpět (např. ze hry do hlavního menu), z úvodní obrazovky by jeho stlačení mělo ukončit hru. Naštěstí díky jistotě, že toto tlačítko najdeme na každém telefonu, se na něj můžeme spoléhat a na displeji si už nemusíme vykreslovat virtuální tlačítka ve stylu „vrátit se zpět“, nebo „ukončit hru“.

Ve svých aplikacích také můžeme díky nově zpřístupněným možnostem využívat i méně standardních vstupů, jako například přečtení polohy z GPS, údajů z kompasu nebo gyroskopu, nebo dokonce vstupu z fotoaparátu. Můžeme si tak naprogramovat i aplikaci využívající rozšířené reality (augmented reality), kdy na displeji uvidíme pohled z fotoaparátu a programově si budeme do něj dokreslovat nějaké další objekty (například šipky ukazující na nejbližší restaurace, nebo třeba útočící dinosaury, které budou mít poté hráči za úkol odvrátit klikáním na displej). 

- -

Ještě si krátce přiblížíme ostatní vlastnosti této platformy. Distribuce aplikací zde funguje výhradně přes centrální Marketplace, běžný uživatel si nemůže jednoduše stáhnout nějaký program odkudsi z internetu a napřímo nahrát do svého telefonu. Musí si ho vybrat v tomto centrálním katalogu, buď přímo z telefonu, přes program Zune, nebo přes webový prohlížeč. Vývojáři to mají samozřejmě jednodušší, do svých telefonů odemčených pro vývoj si aplikace nahrávat mohou. To provedou přes položku Application Deployment v nabídce Start (je tam k dispozici, pokud máte nainstalované vývojářské nástroje z App Hubu, viz minulý díl), nebo přímo zkompilováním a spuštěním projektu ve Visual Studiu. I tak si jich tam mohou nainstalovat jen omezený počet, studenti si mohou do svých zařízení nahrát maximálně 3 aplikace, lidé se zaplaceným předplatným maximálně 10 programů.

Pokud si chcete nechat otestovat svoje dílo od ostatních uživatelů ještě před finálním umístěním do Marketplace, můžete tedy rozeslat ostatním vývojářům instalační XAP balíček, který si jednoduše nahrají do telefonu. Jako druhou možnost máte takzvaný Beta Marketplace. Aplikaci nahrajete přes webové rozhraní App Hubu, jako byste ji už umisťovali do marketu, ale zvolíte položku „Private beta“. Poté můžete zvolit až 100 lidí, kterým se rozešle odkaz ke stažení. S aplikací si budou moci pohrát, po 90 dnech se jim automaticky smaže z telefonu. Tento způsob prochází také určitým automatickým schvalováním ze strany Microsoftu, to by mělo být ale rychlejší, než potom při finálním vkládání do Marketplace. To se v současné době většinou pohybuje okolo několika dní.

Další zajímavou vlastností Windows Phone je způsob, jak jsou zde řešeny „trial verze“ aplikace. Do jednoho instalačního balíčku můžeme zabalit plnou verzi programu i jeho omezenou demoverzi. Toto řešení podporuje i přímo Marketplace, takže následnému zájemci o stažení nabídne dvě tlačítka – zkusit a koupit. Na toto řešení jsou už uživatelé zvyklí, což prý i přispívá k mnohem lepšímu poměru stažení demoverze/zakoupení aplikace. 

- -

A jak je to vlastně s prodejností na Marketplace, jsou už známé nějaké statistiky a reálné zkušenosti vývojářů? Podle statistik na webu WP7applist bylo zde začátkem října 2011 nabízeno cca 33 tisíc aplikací, přičemž 52 % jich bylo k dispozici zdarma. Průměrná cena aplikace byla po přepočtu zhruba 29 Kč a přibližně třetina placených aplikací nabízela k odzkoušení také trial verzi. Přibližně 17% všech aplikací byly hry (což tedy vypovídá jen o jejich počtu, ne o prodejnosti).

Zajímavá byla také analýza ze srpna 2011, kterou publikoval Justin Angel. Zjistil, že jen 10 % aplikací bylo naprogramováno s využitím XNA frameworku, všechny ostatní byly napsány v Silverlightu. Téměř všichni vývojáři zvolili jako programovací jazyk C# (prakticky 99%), zbývající jedno procento vyšlo na Visual Basic.NET, celkem 15 aplikací potom bylo vytvořeno pomocí funkcionálního jazyka F#.

Ohledně skutečné prodejnosti aplikací zatím není známo moc potvrzených informací, data nejsou veřejná a moc vývojářů se ještě nepochlubilo. Několik zdrojů tvrdilo, že poměr stažení trial verze vs. zakoupení jejich aplikace se pohyboval okolo příjemných 10%. Počty stažení se potom pohybovaly v řádu stovek až tisíců (během několika měsíců). Podobná diskuze vznikla i pod článkem o počtu českých aplikací pro Windows Phone. Zde bylo také odhaleno několik dalších zajímavých informací, například že začátkem října 2011 umístilo do Marketplace svoji aplikaci už 10% registrovaných českých vývojářů, celkem to bylo téměř 100 aplikací (z toho 6 her). Zajímavé k nahlédnutí jsou také zkušenosti s výdělky z reklam, které publikoval Alex Perez, se stejnou aplikací jako pro Android dosáhl na Windows Phone mnohem lepších výdělků i impresí.

Jestli už máte také nějaké zkušenosti s prodeji na Marketplace, můžete se pochlubit zde v diskuzi, budeme rádi za přínosné komentáře. V příštím článku se podíváme na tuto platformu ještě jednou čistě z herního pohledu, v dalších dílech se pak už pustíme do programování.

O autorovi článku

Studuji Matematicko-fyzikální fakultu UK v Praze, věnuji se platformě .NET a programování v C#. Tvořil jsem pro Windows Mobile, nyní se věnuji především platformě Windows Phone 7. Zajímám se o návrh her a další multimediální tvorbu, dokončuji vývoj herního 3D engine postaveného nad XNA. Ve volném čase si najdu rád chvilku na in-line brusle, nebo na hraní na klávesy. Na škole působím jako Microsoft Student Partner.

Autor článku Tomáš Slavíček
Tomáš Slavíček

Kapitoly článku