blog.nikolaj.cz http://blog.nikolaj.cz oběma nohama pevně v oblacích posterous.com Fri, 02 Sep 2011 07:19:00 -0700 Pirates-poker, konečně spouštíme http://blog.nikolaj.cz/pirates-poker-konecne-spoustime http://blog.nikolaj.cz/pirates-poker-konecne-spoustime

Po měsících vývoje se to stalo. Naše děťátko, na kterém tak dlouho makáme šlo před třemi dny do světa a Pirates Poker se neveřejně objevil na http://hry.cz/pirates-poker. První dny jsou jak v oku uragánu a přišlo mi fajn si to zdokumentovat pro budoucnost. Začíná tedy miniseriál zážitků ze života tvůrce multiplayer hry tady na blogu.

Poker1

Nejdřív jakoby se nic nedělo. Sedíme s kolegy v místnosti, hrajeme poker jako vždy, ale lehce nervózní. Pak se ale vše zlomilo během chvilky. Přisednul si ke stolu první cizinec - anonymní hráč z hry.cz, dostal karty a začal hrát. "Ahoj!". Chvíli sedíme, hrajeme a pak mě napadne stisknout tlačítko na přesedávání k jinému stolu. Nene! Sedí tam pět lidí, vesele hraje poker a chatuje. O místnost dál to samé. Prvních 23 hráčů na návštěve. V našem "domečku", který jsme tak dlouho stavěli, vybavovali a zařizovali. Co se jim asi honí hlavou? Cítí se u nás dobře? Z komentářů během prvních dvou dnů se zdá, že to nebylo tak špatné...

Poker2

"celkem pěkné trošku stuhlé,ale to se určitě zlepší.Držím palce"  ... no jo, beta.

"Tato hra bude mít jistě své přiznivce i odpurce.Mně se líbí.Tady se nedá nic dopočítavat." ... dopocitavat? nicméně, tenhle hráč se zdržel dobrých deset hodin herního času.

"celkem dobré akorát jeden hráč je moc opatrný a druhý zase moc riskuje i když na to nemá. Je to takové jednotvárné..." ... ne slečno, to nejsou roboti, s kým hrajete.

"....mno.....pro děcka dobrý :-))))" ... no tahle uživatelka tam pak pobyla prakticky dva dny v kuse, ale pro hardcore hráče pokeru náš animák asi nebude.

Je to boj. Hráči klikají, kam nemají, neustále se pokouší všechno zbourat. :) Přesedávání obírá hráče o peníze, neustále něco vypadává. Paráda - po posledních pár měsících s otravným dolaďováním je konečně živo. Seznam oprav roste astronomickou rychlostí. A hlášení uživatelů nestojí za nic. Co s tím? Vychytávka číslo jedna: využít uživatelský chat a rozeslat hráčům speciální zprávu, kterou sice neuvidí, ale udělá screenshot hry, posbírá informace o uživateli a odešle nám je na server. Ďábelský plán vyšel na jedna - tahle věc nám do budoucna ušetří spoustu času. 

Jak zajistit beta hráčům, co nejlepší prožitek v době, kdy se všechno mění a to nejen na klientovi - v SWF, ale hlavně na serveru, kde běží celý mechanismus. Vychytávka číslo dvě: ve chvíli, kdy dojde k update serveru a je potřeba hráče odehnat od stolu a donutit ho přijít zpátky (restartuje se "rooma") je vývojář zdánlivě bezbranný. Naše rešení bylo zářivě snadné - server vyšle signál o updatu, my vyčkáme, až hráči dohrají momentální hru, uložíme jejich finance a zobrazíme jim vtipný dialog s komentářem "Promiňte vyrušení, ale zabili jsme pár otravných much. Přesedněte a užijte si lepší hru." . Ano za to opravdu nemůžeme my. To jen otravné mouchy kazí atmosféru. Hráče pak "vyndáme" z hry a znovu usadíme někam jinam. První implementace neproběhla úplně bez problémů, ale časem se usazuje. To samé se nám osvědčilo u totální ztráty spojení a odpojení hráče. Zdánlivě jasná vychytávka čislo tři: Místo pádu, nebo surového odpojení rozvineme dole banner s potrhanou pirátskou vlajkou a popiskem: "U zkyslé makrely! Krysy překousaly kabel a přerušily spojení s kapitánským můstkem." Výsledek byl skvělý. Tohle slovíčkaření vede k tomu, že hráči neviní z výpadku vývojáře, nebo hru, ale navzájem mezi sebou i směrem k nám naštvaně nadávají na hrozné krysy. Zmírňuje to jejich negativní zážitek. Do budoucna se s pergamenem výpadku budou potkávat co nejmíň, ale v tuhle chvíli je nerozhodí a pokračují dál v testech. Dobrovolní Beta testeři jsou momentálně náš největší poklad.

Pirate3

Příspěvek píšu v pátek odpoledne, po několika dnech minimálního spánku, zralý na to dospat se až do pondělního rána. Ale máme za sebou asi nejlepší tři dny za celou dobu vývoje. Od úterního odpoledne doteď vyhrálo prvních deset hráču ve hrách celkem 110 000 bodů (a to je vstup do první úrovně za 100 a sázky/blindy jsou 1/2!). Doba kterou tam celkem hráli se dá jen těžko odhadnout. Nad tři tisíce bodů, což už vyžaduje při velkém štěstí tak 4 - 6 hodin hraní je 25 hráčů. Na to, že zatím nikde není žádný viditelný odkaz a hráče nijak nemotivujeme (přirozený ostych beta testování) je to důvod k opatrné spokojenosti, ale hlavně silná vzpruha do dalších dnů. Příště trochu víc o tom, co to vlastně je ten náš poker a v čem je úplně jiný, než jakýkoliv další internetový Texas Hold'em.

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/630820/logoSQUARE-FB.png http://posterous.com/users/5Bcg1WsZBBTj nikolaj rýfr nikolajcz nikolaj rýfr
Tue, 14 Jun 2011 03:47:00 -0700 iOS vs AS3. Díl #1 - Papírování http://blog.nikolaj.cz/ios-vs-as3-vyvoj-applikaci-pro-ipad-iphone-ip http://blog.nikolaj.cz/ios-vs-as3-vyvoj-applikaci-pro-ipad-iphone-ip

Dlouho jsem se tu nevěnoval svým Flash aktivitám, tak tedy pro změnu přidávám nový tag do tohoto blogu a to  "iOS". Po zdlouhavé licenční válce mezi Applem a Adobe se zdá, že se alespoň na chvíli podařilo sjednat příměří. Přímým důsledkem toho je možnost vytvářet applikace (apps je Steve Jobsův oblíbený výraz pro aplikace na iOs platformě) pro krásná, zářivá a uživatele odměňující zařízení z Cupertina rovnou z našeho milovaného a nenáviděného Flash Builderu.

Měl jsem ze svého okolí pár dotazů na to, jak na to - takže si to zde stručně shrnu na formátu několika krátkých článků. V tom úvodním si projdeme vše, co je potřeba vyřídit, aby člověk vůbec mohl začít.

Základní výbava AS3 iOS vývojáře:

  1. iOS zařízení od Apple a kladný vztah k němu.
    Logické? Já doufám, že ano. :) Co bych dál doporučil je vyvíjet na Apple platformě tedy v Mac OS X. Nejde jen o to, že vše kolem Applu počítá s tím, že se bude odehrávat na Apple HW - samotný dlouhodobý kontakt s Mac OS X vám přiblíží to, jak to u Apple chodí. Na co jsou zvyklí jeho uživatelé atd. apod. Další kroky v procesu vytváření applikace budou také o trochu snazší, nicméně to samozřejmě není podmínkou.
  2. Flash 5.5, Flash Builder 4.5
    Grafika se nejlépe připravuje ve Flashi, ale programování v jeho IDE je za trest. Adobe Device central teoreticky umožňuje testovat ještě před nahráváním na samotné iOS zařízení, ale most mezi Flashem, Flash Builderem a Device central je příliš vratký a nestabilní. Mně se to neosvědčilo a dál vycházím z FB 4.5
  3. Jasná vize co a proč chci dělat
    Zdánlivá samozřejmost nabírá na významu ve chvíli, kdy vývojář zjistí, že samotná možnost vyvíjet pro iOS stojí peníze. Je dobré je nevyhodit z okna, ale naopak vědět o své budoucí nejlepší applikaci na AppStoru co nejvíc. Máte vymyšlený nápad? Kdo bude dělat vymazlenou krásnou grafiku? Kudy se budete snažit aplikaci šířit? Bude zdarma? Jak si na sebe vyděla? InApp nákupy? To vše je dobré si ujasnit předem. 
  4. Apple byrokracie
    A už se trochu blížíme startovací čáře. Vývoj pro iOS je svázaný pevně s Apple ekosystémem. Zatímco jedni to vnímají jako výraznou vadu na kráse, mně to jako mnohaletému uživateli Apple produktů přijde logické a vlastně i trochu masochisticky vpořádku. Apple vytváří uzavřenou kontrolovanou platformu - je to jeho způsob jak se zaručit za kvalitu výrobků třetích stran. Pokud si do supermarketu beru zeleninu od špatného dodavatele nenaštvou se zákazníci na něj, ale na supermarket. Nemůžu dovolit každému, kdo bude chtít u mně prodávat prostě přijít a rozbalit si u mne krámek. Filosofie Androidu je naopak spíš filosofii tržnice. Vytvořím prodejní prostor a nechám na zákaznících, jestli si koupí mrkev u pana Nováka nebo u pana Nguyena. Žádný z těchto pohledů není lepší než ten druhý - ale je dobré vědět kam jdu, když se rozhodnu "dělat pro Apple".

Předstartovní příprava, získání víz do země AppStoru.

První (a pro nás v Česku nejvíc nepříjemný) krok je registrace Apple Developera. Zaskočte na stránku vytváření účtu vývojáře a projděte si vstupní kroky. Vytvoříte si svůj účet, zapojíte se do developers programu a ... a zjistíte, že jelikož neexistuje český app store, musíte poslat fax s údaji o vaší kreditce na telefonní číslo Apple. Fax? Ano, čtete dobře - fax. V 21. století. Ale nedá se nic dělat, budete muset. Mně pomohl kamarád Václav Vančura využít jeho účtu u http://www.pamfax.biz/en/ - má ho zřízený jen kvůli tomu a dá se z něj komfortně, velmi levně a s ověřenou doručenkou posílat faxy do Ameriky. Posláno? Dobře, máte minimálně tři dny času sportovat, užívat si čerstvého vzduchu a čekat na vyřízení licence. Vraťte se sem, až vám z účtu zmizí cirka KČ 1800 ročního poplatku a ve schránce se objeví vytoužený email.

Hotovo? Fajn! :) Vítejte ve světě Apple Developerů. Není to skvělý pocit být součastí našamponované elity? :) Dost cynismu... teď už to půjde jako po másle.

Ještě trochu papírování

Co teď budete potřebovat jsou certifikáty pro podpis aplikace nutné jak pro App Store tak pro testování. Navštivte tedy iOS Provisioning Portal. Půjdeme pěkně záložku po záložce a za chvíli to bude za námi, slibuji.

Certificates

Zde si vytvoříte certifikát pro sebe jako developera. Každá ze sekcí iOS Provisioning Portalu má záložku "How To" - nebojte se jí prozkoumat, kromě pomoci v ní najdete spoustu užitečných tipů. Návod na stránce certifikátů (stejně jako všechny ostatní) předpokládá, že pracujete v Mac OS X. Vytvoření certifikátu pak snadno zvládnete pomocí Keychain Access aplikace z Utilit. Pokud jste na Windows, nevěšte hlavu - Adobe na vás myslelo ve svém návodu, takže žádný stres. Na Macu podle návodu z How to - vygenerujete certifikát, nahrajete ho zpět Applu v záložce certificates, stáhnete si jím vygenerovaný .cer soubor, importnete zpět do Keychain Accessu a pomocí exportu vygenerujete výsledný .p12 soubor s vámi vybraným heslem. Celý proces může vypadat nepřehledně, ale ničeho se nebojte - pokud byste přeci jen měli problémy, napište mi do komentářů k článku.

Devices

Čas přidat do vývojové rodiny vaše hračky. Klikněte na Add Devices a vyplňte kolonku popisek a Device ID. Device ID, též UDID nejsnáze zjistíte v iTunes. Spusťte je s vaším iPadem, iPodem či iPhonem připojeným k počítači a skočte na záložku Summary daného zařízení. V popisu zařízení nahoře vidíte Serial Number, klikněte na něj a změní se na UDID. Stiskněte +C (Ctrl+C ve Windows) a UDID je ve schránce. Vložte ho do formuláře a odešlete.

App IDs

Označení naší testovací aplikace. Popisek si zvolte libovolný, ale Bundle Identifier musí být unikátní. Já jsem použil cz.nikolaj.iOSFlashTutorial - vy zvolte tedy něco odpovídajícího vám. V sekci how to se zde můžete naučit jak vytvářet celé sady kamarádských aplikací pomocí hvězdičkového zápisu, ale v tuhle chvíli nas to trápit nemusí. App ID využijete při exportu z Flash Builderu v app.xml.

Development Provisioning Profiles

Poslední krok! Cítíte také to vzrušení? Už jsme skoro tam. Zvolte jméno profilu, označte svůj certifikát, vyberte App ID, přidejte zařízení a odešlete výsledek našeho úsilí. Stáhněte si profil a dejte si sklenku červeného.

Příprava Flash Builder projektu

Pojďme si na závěr připravit vše k práci ať ti nedočkavější z vás mohou už zkoušet co to svede (už jste poslali ten fax?). Nastartujte Flash Builder a založte nový Actionscript Mobile AIR Project - pozor - nezakládejte Flex mobilní projekt, protože pak Vám nepůjde kompilovat pro iOS, ale jen pro Android. Flex asi není ještě dost připravený pro iOS platformu. :))

Založte tedy projekt, řekněme "iOSFlashTutorial", dejte Next, odškrtněte s potutelným úsměvem Google Android (nebo ho nechte jak je, nechávám na vás :) ), vyberte si Full Screen, v Platform Settings zařízení pro která chcete tvořit (já ponechal všechna) a dokončete proces. Jak asi správně tušíte, teď do toho nacpeme naše horko těžko vybojované certifikáty. Přejděte do vlastností našeho nového projektu (Project - Properties) rozbalte záložku Actionscript Build Packaging a v ní Apple iOS. Do první kolonky vložte váš osobní .p12 certifikát a do druhé Provision profil - tedy ten úplně poslední, který jsme vytvářeli.  Červené varovné znamení by mělo zmizet a vy jste práve splnili všechny předpoklady pustit se do vyvíjení.

Vlastně ještě detail. V Package Exploreru ve složce src byste měli vidět něco jako iOSFlashTutorial-app.xml otevřete ho a do id vložte vaše unikátní App ID. V mém případě to bude "cz.nikolaj.iOSFlashTutorial" a to už je opravdu vše.

Pogratulujte si a základní aplikaci si dáme v dalšímu dílu. Už jste poslali ten fax?

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/630820/logoSQUARE-FB.png http://posterous.com/users/5Bcg1WsZBBTj nikolaj rýfr nikolajcz nikolaj rýfr
Mon, 28 Feb 2011 09:32:54 -0800 Trik jak zabránit zaseknutí Flashe v Safari http://blog.nikolaj.cz/trik-jak-zabranit-zaseknuti-flashe-v-safari http://blog.nikolaj.cz/trik-jak-zabranit-zaseknuti-flashe-v-safari Také jste na Macu a také se Vám přiliš často stává, že na cizím webu vyskočí debugger player okénko s chybou, vy ho odkliknete a Safari se stalo nepoužitelné? A těšili jste se, že tu napíšu, jak to vyřešit? IMHO nijak. Nevím. Pěstební dělnice. Jediný lék je mít nainstalovaný Saft, nebo něco jiného co umí otevřít Safari tak, jak vypadalo před ForceQuitem. Smutný až nechutný dárek od Adobe. Necením, dneska už tak 30x.

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/630820/logoSQUARE-FB.png http://posterous.com/users/5Bcg1WsZBBTj nikolaj rýfr nikolajcz nikolaj rýfr
Sun, 27 Feb 2011 10:25:38 -0800 Molehill je venku http://blog.nikolaj.cz/molehill-je-venku http://blog.nikolaj.cz/molehill-je-venku Jsem fanoušek 3D. Nejde mi o efekt, nezajímá mě cool faktor. Prostě už od dětství jsem se o 3D zajímal. Jedna z prvních her, kterou jsem vytvořil bylo procházení labyrintu, ještě tenkrát na Didaktiku Gama. Proč Vám to říkám? Protože dnes je pro mně jako fanouška 3D a flash developera krásný a úžasný den. Adobe ve svém novém inkubátoru (stránce, kde Adobe zveřejňuje technologie, které se chystá pouštět ven) zveřejňuje Molehill API - technologii, která přináší 3D akcelerované na grafické kartě. Odteď je veškeré 3D ve flashi dosažitelné pro kohokoliv - zároveň totiž nové verze svých knihoven přináší i Away3D, Flare3D a asi i ostatní, kterým se nevěnuji. Jsem veskrze šťastný a čekejte ode mně v příštích týdnech velké věci přímo na nikolaj.cz domácí stránce. Stáhněte si Molehill a pohrajte si s ním už teď: http://labs.adobe.com/downloads/flashplatformruntimes_incubator.html

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/630820/logoSQUARE-FB.png http://posterous.com/users/5Bcg1WsZBBTj nikolaj rýfr nikolajcz nikolaj rýfr
Wed, 18 Aug 2010 04:01:00 -0700 Ne že by se nic nedělo http://blog.nikolaj.cz/ne-ze-by-se-nic-nedelo http://blog.nikolaj.cz/ne-ze-by-se-nic-nedelo

Ne, tohle není další pokus o blog mrtvý po třetím příspěvku. Facebook game finišing, Androidí flash soutěž a pokus prodloužit o pár hodin den se mi snoubí se závažnými zdravotními problémy v rodině. Mám rozepsaných pár článků, ale ty jsou momentálně úplně někde vzadu.

Pokud to tu ale někdo čte - staňte se alespoň fanoušky Swizu na facebooku. Alespoň pro sebe uděláte něco cool :)
http://www.facebook.com/swizframework 

Hraju si s tím od předchozího příspěvku :) a nejen, že je to skvělá věc. Ona se teď dostala do své první 1.00RC verze. Sláva!

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/630820/logoSQUARE-FB.png http://posterous.com/users/5Bcg1WsZBBTj nikolaj rýfr nikolajcz nikolaj rýfr
Tue, 13 Jul 2010 12:54:00 -0700 Letní AUG meeting o Swizu http://blog.nikolaj.cz/letní-aug-meeting-o-swizu http://blog.nikolaj.cz/letní-aug-meeting-o-swizu

Co bych k tomu řekl - bylo to super. Spousta informací (občas fakt namáhavé v tom vedru stíhat), ale Chris narval do dvou hodin hrozně moc užitečných věcí. Myslím, že Swizu udělal docela reklamu: IoC bez mediatorů a boiler plate-u, vlastní processory, připomínající spíš filtry do wordpressu (složitostí, ne výkonem - namátkou URLMapping) atd atd..

Pak ale ukázal Flo - vznikající a brzo asi venku v opensource-u implementace State Machine, která svou "magií" vyrážela dech. Je tohle ještě Flex?! Pěkně postupně v malých krocích ukazoval větší a větší "zázraky". Bylo vidět, že všechno co dělá, dělá na základě velkých znalostí toho jak AS3 a Flex pracují úplně zevnitř - na té nejzákladnější možné úrovni. Nemá problém spouštět Validatory na formuláři i s Flex errory, aniž by includoval celé obrovské Flex knihovny. IMXML ...

Hodně působivé. Do toho hraje Chris na basu v kapele a má rodinu. Tomu už se neříká ani workoholik.

Na závěr "večírku" soutěž o plakátky Adobe a přehled developerských soutěží u nás i ve světě.

PS: A až se Vás někdo zeptá, co že znamená ten Swiz odkažte ho na americký hardcore rock z 80tých. ;)

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/630820/logoSQUARE-FB.png http://posterous.com/users/5Bcg1WsZBBTj nikolaj rýfr nikolajcz nikolaj rýfr
Mon, 12 Jul 2010 05:40:36 -0700 Další Adobe UG navštíví Chris Scott http://blog.nikolaj.cz/dalsi-adobe-ug-navstivi-chris-scott http://blog.nikolaj.cz/dalsi-adobe-ug-navstivi-chris-scott Všichni, co se hrabete po kolena ve Flashi nezapomeňte na zítřejší AUG meeting. Čuji menší porci nudy než obvykle: Zastaví se Chris Scott - autor Swizu...

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/630820/logoSQUARE-FB.png http://posterous.com/users/5Bcg1WsZBBTj nikolaj rýfr nikolajcz nikolaj rýfr
Mon, 12 Jul 2010 05:31:00 -0700 Minimalcomps a Xrope http://blog.nikolaj.cz/minimalcomps-a-xrope http://blog.nikolaj.cz/minimalcomps-a-xrope

O minimalcomps jste už museli slyšet. Jde o sadu velice jednoduše použitelných, kompaktních a překvapivě mocných komponent pro UI. Ve chvílích, kdy děláte na čiste AS3 projektu jsou k nezaplacení.

Co jsem ale donedávna neznal a co mě potěšilo skoro stejně je X-Rope Malá ale kompaktní knihovna má na starosti layout komponent. Zarovnání do všech rohů, středů, obsahů velice snadno. Slouží skvěle a navíc - demo ukázka napsaná v AS3-Signals a Robotlegs, je skvělý úvod do obou frameworků/nástrojů.

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/630820/logoSQUARE-FB.png http://posterous.com/users/5Bcg1WsZBBTj nikolaj rýfr nikolajcz nikolaj rýfr
Fri, 09 Jul 2010 08:27:30 -0700 Letní soutěž Adobe http://blog.nikolaj.cz/letni-soutez-adobe http://blog.nikolaj.cz/letni-soutez-adobe Adobe se rozhodlo trochu rozvířit kalnou hlínu baklažánové sezóny a zabránit Flash vývojářům vstát alespoň na chvíli od monitorů a jít se koupat. Naše jistě všemi velmi milovaná Vepřovice totiž pořádá soutěž o dva Nexusy One. Vlastnit telefon, který Google do budoucna nehodlá ani podporovat ani dál rozvíjet (přičemž tomu říká úspěch) není samozřejmě ta největší motivace. Já jsem se ale ještě k dělání Androidích aplikací nedostal a to téma mě hodně zajímá. Takže jestli mi to současný projekt dovolí, jsem zvědavý, co proti mně konkurence 23. září nasadí. (Moje číslo, jsem jasný vítěz!)

Více o soutěži na blogu zvěstovatele Toma Krchy: http://www.flashrealtime.com/summer-air-mobile-contest-2010/

Adobesummercontest2010-banner

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/630820/logoSQUARE-FB.png http://posterous.com/users/5Bcg1WsZBBTj nikolaj rýfr nikolajcz nikolaj rýfr