Programujeme hry ve Flashi
Transcription
Programujeme hry ve Flashi
Emanuele Feronato Programujeme hry ve Flashi Computer Press Brno 2012 K1976_sazba.indd 1 5.1.2012 14:48:43 Programujeme hry ve Flashi Emanuele Feronato Překlad: Ondřej Baše, Kristýna Baše Obálka: Martin Sodomka Odpovědný redaktor: Martin Herodek Technický redaktor: Jiří Matoušek Copyright ©Packt Publishing 2011. First published in the English language under the title ‘Flash Game Development by Example‘ Autorizovaný překlad z originálního anglického vydání Flash Game Development by Example. Originální copyright: © Packt Publishing 2011. Překlad: © Albatros Media a. s., 2012. Objednávky knih: http://knihy.cpress.cz www.albatrosmedia.cz [email protected] bezplatná linka 800 555 513 ISBN 978-80-251-3697-3 Vydalo nakladatelství Computer Press v Brně roku 2012 ve společnosti Albatros Media a. s. se sídlem Na Pankráci 30, Praha 4. Číslo publikace 15 895. © Albatros Media a. s. Všechna práva vyhrazena. Žádná část této publikace nesmí být kopírována a rozmnožována za účelem rozšiřování v jakékoli formě či jakýmkoli způsobem bez písemného souhlasu vydavatele. 1. vydání K1976_sazba.indd 2 5.1.2012 14:49:00 Obsah O autorovi ................................................................................. 9 O odborných korektorech...................................................... 10 Úvodem ................................................................................... 11 Co obsahuje tato kniha ...................................................................................................11 Co budete při četbě knihy potřebovat ......................................................................12 Komu je kniha určena ......................................................................................................12 Konvence ..............................................................................................................................12 Zpětná vazba od čtenářů................................................................................................13 Zdrojové kódy ke knize ...................................................................................................13 Errata ......................................................................................................................................13 Kapitola 1 Hra Concentration .................................................................. 15 Definování návrhu hry .....................................................................................................16 Nastavení velikosti scény, snímkové frekvence a barvy pozadí .......................17 Vítejte do hry Concentration („Ahoj světe“) ............................................................20 Tvorba dlaždic .....................................................................................................................22 Přidání náhody – míchání dlaždic ...............................................................................25 Umístění dlaždic na scénu..............................................................................................28 Výběr dlaždic .......................................................................................................................31 Ověření odpovídajících dlaždic ....................................................................................34 Odhalení skutečného průběhu hráči .........................................................................37 Zabránění hráči v podvádění ........................................................................................40 Doladění hry – přidání vzdělávacího obsahu..........................................................42 Shrnutí ...................................................................................................................................44 Co dělat dál ..........................................................................................................................44 K1976_sazba.indd 3 5.1.2012 14:49:00 4 Obsah Kapitola 2 Hra Hledání min ...................................................................... 45 Definování návrhu hry .....................................................................................................46 Umístění min .......................................................................................................................48 Přidání číslic .........................................................................................................................50 Nezbytná optimalizace ....................................................................................................53 Umísťování dlaždic na scénu .........................................................................................55 Zobrazení obsahu dlaždic ..............................................................................................61 Automatické zobrazování sousedních prázdných dlaždic .................................63 Označení dlaždic vlajkami ..............................................................................................66 Časovač a prohra................................................................................................................67 Zabránění „náhlé smrti“ ...................................................................................................69 Shrnutí ...................................................................................................................................71 Co dělat dál ..........................................................................................................................71 Kapitola 3 Hra Connect Four .................................................................... 73 Definování návrhu hry .....................................................................................................74 Herní pole .............................................................................................................................74 Zobrazování plynulých animací ...................................................................................75 Rozdělení zdrojového kódu ...........................................................................................76 Přidání herní desky............................................................................................................77 Umístění herní desky na scénu.....................................................................................78 Tvorba více tříd ...................................................................................................................79 Umístění kotoučů ..............................................................................................................80 Přesouvání kotouče ..........................................................................................................84 Aplikování pravidel hry....................................................................................................87 Prověřování možných sloupců......................................................................................88 Ať kotouče padají...............................................................................................................88 Určení hodnoty buňky (je-li nějaká) ...........................................................................89 Provedení tahu ...................................................................................................................90 Čekání na přidání kotouče do scény ..........................................................................90 Kontrola vítězství ...............................................................................................................92 Animování kotoučů ..........................................................................................................95 Samotná animace ..............................................................................................................96 Naučíme počítač hrát .......................................................................................................97 Použití síly procesoru .......................................................................................................98 K1976_sazba.indd 4 5.1.2012 14:49:01 Obsah 5 Hra s umělou inteligencí – obranná hra....................................................................99 Shrnutí ................................................................................................................................ 102 Co dělat dál ....................................................................................................................... 102 Kapitola 4 Hra Snake .............................................................................. 103 Definování návrhu hry .................................................................................................. 104 Hry založené na polích versus hry založené na filmových klipech .............. 104 Příprava pole..................................................................................................................... 105 Kreslení grafických prvků............................................................................................. 105 Umístění hada .................................................................................................................. 107 Samotný had .................................................................................................................... 107 Zjednodušení zdrojového kódu ................................................................................ 110 Rozpohybování hada .................................................................................................... 111 Ovládání hada .................................................................................................................. 115 Umístění ovoce ................................................................................................................ 116 Požírání ovoce .................................................................................................................. 120 Růst hada ........................................................................................................................... 122 Umístění zdí ...................................................................................................................... 123 Doplnění smrti hada ...................................................................................................... 124 Shrnutí ................................................................................................................................ 127 Co dělat dál ....................................................................................................................... 127 Kapitola 5 Hra Tetris ............................................................................... 129 Definování návrhu hry .................................................................................................. 129 Import tříd a deklarace prvních proměnných...................................................... 130 Kreslení pozadí herního pole ..................................................................................... 131 Nakreslení vylepšeného pozadí herního pole ..................................................... 133 Vytváření tetromin ......................................................................................................... 134 Umístění našeho prvního tetromina ....................................................................... 137 Přesouvání tetromin vodorovně ............................................................................... 140 Posouvání tetromin dolů ............................................................................................. 143 Přistání tetromin ............................................................................................................. 144 Zavedení kolizí mezi tetrominy ................................................................................. 147 Otáčení tetromin............................................................................................................. 148 Odstraňování kompletních řádků............................................................................. 150 Nakládání se zbývajícími řádky ................................................................................. 152 K1976_sazba.indd 5 5.1.2012 14:49:01 6 Obsah Průběžné padání tetromin .......................................................................................... 153 Hlídání prohry .................................................................................................................. 154 Zobrazení příštího tetromina ..................................................................................... 156 Shrnutí ................................................................................................................................ 158 Co dělat dál ....................................................................................................................... 158 Kapitola 6 Hra Astro-PANIC! .................................................................. 159 Definování návrhu hry .................................................................................................. 159 Vytvoření hry a kreslení grafických prvků ............................................................. 160 Přidání a ovládání vesmírné lodi ............................................................................... 161 Doplnění filtru záření .................................................................................................... 162 Přinucení vesmírné lodi ke střelbě ........................................................................... 163 Jak může střela létat ...................................................................................................... 164 Doplnění nepřátel .......................................................................................................... 165 Přesun nepřátel ............................................................................................................... 166 Být zabit nepřítelem ...................................................................................................... 170 Zabití nepřítele ................................................................................................................ 171 Zabití nepřítele definitivně ......................................................................................... 172 Stylové zabití nepřítele ................................................................................................. 173 Postup na vyšší úrovně ................................................................................................. 175 Aktuální skóre a nejvyšší dosažené skóre .............................................................. 176 Ukládání dat na lokální počítač ................................................................................. 178 Shrnutí ................................................................................................................................ 180 Co dělat dál ....................................................................................................................... 180 Kapitola 7 Hra Bejeweled ....................................................................... 181 Vytvoření dokumentů a objektů ............................................................................... 182 Umístění drahokamů..................................................................................................... 182 Skutečné umísťování drahokamů............................................................................. 185 Výběr drahokamu ........................................................................................................... 188 Příprava na prohození drahokamů .......................................................................... 190 Prohození drahokamů .................................................................................................. 192 Skutečné prohození drahokamů .............................................................................. 194 Výběr drahokamů k odstranění ................................................................................. 196 Odstranění drahokamů ................................................................................................ 198 Gravitační síla musí působit i na drahokamy ....................................................... 199 K1976_sazba.indd 6 5.1.2012 14:49:01 Obsah 7 Přidáme nové drahokamy ........................................................................................... 202 Nakládání s kombinacemi ........................................................................................... 203 Poskytování rad ............................................................................................................... 204 Shrnutí ................................................................................................................................ 206 Co dělat dál ....................................................................................................................... 206 Kapitola 8 Hra Puzzle Bobble ................................................................ 207 Vytvoření dokumentů a prostředků ........................................................................ 208 Umístění a otáčení děla ................................................................................................ 209 Nakreslení herního pole ............................................................................................... 211 Kreslení herního pole s alternativními řádky........................................................ 213 Nakreslení herního pole podle Pythagorovy věty.............................................. 214 Nabití děla bublinou...................................................................................................... 215 Vystřelení bubliny ........................................................................................................... 217 Odrážení a zastavení bubliny ..................................................................................... 219 Přizpůsobení pozice bubliny a opětovné nabití ................................................. 220 Navršení bublin ............................................................................................................... 222 Detekce řetězů bublin................................................................................................... 225 Odstranění řetězu ........................................................................................................... 229 Odstranění nespojených bublin................................................................................ 231 Shrnutí ................................................................................................................................ 234 Co dělat dál ....................................................................................................................... 234 Kapitola 9 Hra BallBalance ..................................................................... 235 Vytvoření souborů a prostředků ............................................................................... 236 Přidání váhy ...................................................................................................................... 237 Výběr místa pro upuštění koulí ................................................................................. 238 Upouštění koulí ............................................................................................................... 241 Vršení koulí ........................................................................................................................ 244 Odstranění koulí .............................................................................................................. 249 Přesunutí vznášejících se koulí .................................................................................. 250 Pohyb váhy ........................................................................................................................ 252 Shrnutí ................................................................................................................................ 254 Co dělat dál ....................................................................................................................... 254 Kam dál.................................................................................. 255 Rejstřík .................................................................................. 257 K1976_sazba.indd 7 5.1.2012 14:49:01 K1976_sazba.indd 8 5.1.2012 14:49:01 O autorovi Emanuel Feronato studuje programovací jazyky od počátku 80. let a zajímá se především o vývoj webových technologií a vývoj her. Učil programování online pro společnost European Social Fund a nyní vlastní italskou společnost zabývající se vývojem v oblasti Internetu, kde pracuje jako vedoucí programátor. Jako vývojář her vytvořil ve Flashi hry sponzorované největšími herními portály, a tyto hry se mohou chlubit více než 50 miliony spuštění. Pracoval také jako technický korektor pro nakladatelství Packt Publishing. Jeho blog na adrese http://www.emanueleferonato.com/ je nejnavštěvovanějším blogem o nezávislém programování. Chtěl bych poděkovat kolegům z nakladatelství Packt Publishnig, že mi poskytli příležitost k napsání této knihy. Zvláštní poděkování patří Davidu Barnesovi za jeho víru v tento projekt, dále Vishalu Bodwani a Arunu Nadarovi spolu s technickými korektory za to, jak se poprali s mým rukopisem a špatnou angličtinou. Velké poděkování věnuji čtenářům svého blogu a fanouškům na sociální síti Facebook, že si cení mé práce a inspirují mě k dalšímu psaní. Rád bych se zmínil o Adě Chenové ze společnosti Mochi Media. Svou první hru jsem vyrobil poté, co jsem se s Adou kontaktoval prostřednictvím e-mailu, takže má významnou zásluhu na vzniku této knihy. V neposlední řadě děkuji své ženě Kirenii za její trpělivost, když jsem psal tuto knihu po nocích. Knihu věnuji své malé dceři Kimoře, která vždy stlačí náhodné klávesy na mém počítači. Legenda praví, že většina skriptů vznikla právě tímto způsobem. Mám tě rád, „žraločí dítě“. K1976_sazba.indd 9 5.1.2012 14:49:01 O odborných korektorech Jon Borgonia je profesionální programátor. Pracuje ze své domovské základny (společnosti Goma Gomes), jejíž sídlo se nachází na vzdáleném ostrově Oahu v Tichém oceánu. Jon žije a dýchá hrami a v těch výjimečných chvilkách, kdy nehraje ani neprogramuje, se nadšeně baví o návrhu her, herní teorii a závislosti na hrách se svými spolupracovníky. Jon vytvořil spoustu mini-her postavených na platformě Flash a technologii haXe pro společnost Goma Games. Mezi jím vydané tituly patří Polyn, Santa’s Sack, Thanksgiving Kitchen Hero, Jet-Pack Turkey of Tomorrow a 10-10-10. Tím, že Jon vyvíjí zábavné a originální hry, se snaží přesvědčit lidi, že videohry jsou kreativním interaktivním uměním. Snaží se vytvářet prožitek, jenž evokuje změnu ve skutečném světě. Děkuji ti, Kelli, jsi světlo, které vyzařuje z mého nitra. Děkuji za tvé příspěvky k hrám, které společně vytváříme. Děkuji ti, Wille, za to, že jsi můj nejlepší kamarád, s nímž se můžu smát, brečet a stavět hrady na pískovišti našich životů. Děkuji ti, Jesse, za to, že jsi aktivní ingrediencí naší kreativity, a za tvé nové myšlenky a jasný pohled na věc. Děkuji vám, přátelé a rodino, za bezvýhradnou lásku a toleranci pro mou fanatickou oddanost hrám. V neposlední řadě děkuji tobě, Keith, za to, že jsi mě několikrát nechala vyhrát v MVC2. Robin Palotai se věnuje vývoji her a nástrojů ve Flashi pomocí technologie haXe a jazyka ActionScript 3. Je jedním z autorů nástroje SamHaXe, který slouží pro sestavování knihoven prostředků typu SWF. Rovněž provozuje webové stránky na adrese http://treetide.com/, na nichž poskytuje zajímavé nástroje a články pro vývojáře her ve Flashi. Tarwin je programátor samouk (pokud mu zrovna jeho otec vzrušeně nepopisuje, co to je dBase2 a proč je tak úžasný), který miluje sílu, jakou mu programování přináší, a to zejména ve spojení s webem. Pracoval jako nezávislý návrhář a programátor webových stránek téměř 15 let. Pracoval také jako autor DVD, ale byl toho ušetřen poté, co na něj naléhal kamarád ze školy, aby s ním začal spolupracovat na serveru Touch My Pixel. V roce 1997 začal přecházet k platformě Flash 2, když viděl tehdejší úžasné webové stránky Future Splash – The Simpsons (r). Tarwin rovněž učil multimediální design na univerzitě Monash University v Melbourne v Austrálii a podílel se na tvorbě interaktivních uměleckých děl, z nichž některá se objevila na výstavě Taiwan Biennale 2008 a další vyhrála prestižní cenu Queensland Premiere v roce 2010. Děkuji svým rodičům, že mě nechali věnovat se své vlastní práci, přestože nešlo o „skutečnou práci“. Děkuji svým vrstevníkům, kteří mě povzbuzovali dělat věci lépe, a také děkuji všem lidem blízkým mému srdci, kteří se smířili s mou workoholickou povahou. Slibuji, že s vámi budu trávit více času. K1976_sazba.indd 10 5.1.2012 14:49:01 Úvodem S neutuchajícím rozrůstáním trhu s hrami ve Flashi není žádným překvapením, že stále více vývojářů vkládá své úsilí do tvorby her ve Flashi. Vývoj her ve Flashi se liší od běžného vývoje her rozpočtem nezbytným ke komerčnímu úspěchu. Existuje spousta vývojářů, kteří vytváří hry ve svém volném čase a jsou rádi, když můžou přetvořit svou vášeň ve zdroj příjmů, ze kterého se v některých případech stane dobře placená práce na plný úvazek. Zaměstnavatelé stále častěji požadují schopnost rychle vyvíjet zábavné hry ve Flashi. Právě tímto tématem se budeme zabývat v této knize – naučíme se vyvíjet nezávislé hry ve Flashi. Tak, že si rozebereme a napodobíme hry, které utvářely historii videoher, zjistíme, jak snadné je vytvořit zábavnou hru ve Flashi, přestože jsme na její vývoj sami. Co obsahuje tato kniha Kapitola 1, „Hra Concentration“ – Concentration je nejjednodušší hra, kterou lze vytvořit pouze s pomocí pole a omezené uživatelské interakce. Kapitola 2, „Hra Hledání min“ – Hledání min je hra, kterou můžeme vytvořit prostřednictvím pole, ale ukážeme si na ní zajímavější funkce; například rekurzivní funkce. Kapitola 3, „Hra Connect Four“ – Connect Four je hra založená na poli se složitějšími pravidly a základní umělou inteligencí, díky níž bude moci hrát počítač proti člověku. Kapitola 4, „Hra Had“ – Had je interaktivní hra s jednoduchými pravidly využívající klávesnici, ale tentokrát se jedná o hru v reálném čase, protože had se nikdy nezastaví a hra nečinně nečeká na vstup uživatele. Kapitola 5, „Hra Tetris“ – Tetris je nejsložitější hrou, která obsahuje časovač, vstup uživatele, vícerozměrná pole a objekty nejrůznějších tvarů. Kapitola 6, „Hra Astro-PANIC!“ – Astro-PANIC! je střílečka s v podstatě neomezeným počtem úrovní, se vzrůstající obtížností a kompletním systémem skóre a nejvyššího dosaženého skóre. Kapitola 7, „Hra Bejeweled“ – Bejeweled je moderní kasovní trhák s kombinacemi a základní umělou inteligencí, která nabízí uživateli rady ke hře. Kapitola 8, „Hra Puzzle Bobble“ – Puzzle Bobble je hra typu „spoj 3“ s neortogonálním herním polem, kterou lze hrát také jako hru pro více hráčů. Kapitola 9, „Hra BallBalance“ – BallBalance je hra vytvořená od nuly. Není složitá, ale měla poměrně úspěch. Předvedeme si na ní, jak vytvořit originální hru. K1976_sazba.indd 11 5.1.2012 14:49:01 12 Úvodem Co budete při četbě knihy potřebovat Tato kniha vyžaduje vývojové prostředí Adobe Flash CS4 nebo Adobe Flash CS5. Třicetidenní zkušební verzi můžete stáhnout na adrese http://www.adobe.com/products/flash.html. Komu je kniha určena Programátorům jazyka ActionScript 3, kteří shánějí rychlé a účinné techniky k tvorbě her ve Flashi. Animátorům Flashe, kteří se chtějí naučit vytvářet hry ze svých základů jazyka ActionScript 3. Programátorům, kteří znají jiné jazyky než ActionScript 3 a chtějí se tento jazyk naučit, aby mohli vytvářet něco zajímavějšího, než na co jsou zvyklí. Dokonce i v případě, že nejste programátoři, ale milujete hry ve Flashi, můžete se na tuto knihu spolehnout – provede vás krok za krokem jednoduchými příklady a kompletním zdrojovým kódem pro každou hru. Konvence V této knize najdete několik stylů textu, které rozlišují různé typy informací. Zde jsou některé příklady těchto stylů a vysvětlení jejich významu. Zdrojový kód se v textu zobrazuje následovně: „Nachází se zde volání nové funkce s argumentem.“ placeDisc() Blok zdrojového kódu: package { import flash.display.Sprite; public class board_movieclip extends Sprite { public function board_movieclip() { x=105; y=100; } } } V případě, že chce kniha upoutat vaši pozornost na určitou část bloku kódu, budou příslušné řádky nebo výrazy uvedeny tučným písmem: public function Main() { prepareField(); placeBoard(); placeDisc(Math.floor(Math.random()*2)+1); } Nové termíny a důležitá slova se zobrazují tučným písmem. Slova, která vidíte například na obrazovce, v nabídkách nebo dialogových oknech, vypadají v textu takto: „Vytvořte nový soubor – pomocí položky Soubor Nový (File New) a potom vyberte v okně Nový dokument (New document) položku ActionScript 3.0.“ K1976_sazba.indd 12 5.1.2012 14:49:01 Zpětná vazba od čtenářů 13 Poznámka Poznámky se zobrazují v takovém bloku. Zpětná vazba od čtenářů Nakladatelství a vydavatelství Computer Press, které pro vás tuto knihu přeložilo, stojí o zpětnou vazbu a bude na vaše podněty a dotazy reagovat. Můžete se obrátit na následující adresy: Redakce PC literatury Computer Press Spielberk Office Centre Holandská 3 639 00 Brno nebo [email protected] Computer Press neposkytuje rady ani jakýkoli servis pro aplikace třetích stran. Pokud budete mít dotaz k programu, obraťte se, prosím, na jeho tvůrce. Zdrojové kódy ke knize Z adresy http://knihy.cpress.cz/K1976 si po klepnutí na odkaz Soubory ke stažení můžete stáhnout archiv s ukázkovými kódy. Errata Přestože jsme udělali maximum pro to, abychom zajistili přesnost a správnost obsahu, chybám se úplně vyhnout nedá. Pokud v některé z našich knih najdete chybu, ať už chybu v textu nebo v kódu, budeme rádi, pokud nám ji nahlásíte. Ostatní uživatele tak můžete ušetřit frustrace a pomoci nám zlepšit následující vydání této knihy. Veškerá existující errata zobrazíte na adrese http://knihy.cpress.cz/K1976 po klepnutí na odkaz Soubory ke stažení. K1976_sazba.indd 13 5.1.2012 14:49:01 K1976_sazba.indd 14 5.1.2012 14:49:01 KAPITOLA 1 Hra Concentration Concentration je paměťová hra, kterou můžeme hrát dokonce i bez počítače pouze s balíčkem karet. Zamícháme karty, položíme je lícem dolů na stůl a v každém tahu vybereme dvě karty a otočíme je lícem nahoru. Pokud si obě karty odpovídají hodnotou (jsou to esa, dvojky, trojky atd.), odebereme je ze stolu. V opačném případě položíme opět obě karty lícem dolů a vybereme další pár karet. Hra skončí, jakmile odstraníme ze stolu všechny karty (díky shodám karet). Tuto hru může hrát libovolný počet hráčů, a to dokonce i jediný hráč. Výhercem je ten, kdo odstraní nejvíce karet ze stolu. V této kapitole vytvoříme kompletní hru Concentration od začátku, přičemž si krok za krokem osvojíme tyto základní dovednosti: K1976_sazba.indd 15 Tvorba dokumentu Flash. Práce s balíčky, třídami a funkcemi. Výpis textu. Komentování zdrojového kódu. Tvorba a správa proměnných a konstant. Tvorba a správa polí. Generování náhodných zaokrouhlených čísel jako simulace míchání balíčku karet. Opakované provádění zdrojového kódu s daným počtem opakování pomocí cyklu for. 5.1.2012 14:49:01 16 Kapitola 1: Hra Concentration Vytváření filmových klipů, které přidáváme s pomocí jazyka ActionScript 3, a interakce mezi nimi za běhu. Zpracování klepnutí myší. Zacházení s časovači. Definování návrhu hry Jakmile začnete přemýšlet o programování hry, už ji ve skutečnosti děláte. Jste v předprodukční fázi. Během tohoto procesu se začíná utvářet herní logika, příběh a prostředí. Než začneme psát zdrojový kód nebo dokonce než zapneme počítač, je velmi důležité definovat návrh hry. V tomto kroku určíme, jak bude hra fungovat, její pravidla a cíle, a také množství vlastností a funkcí, které do ní začleníme. Vím, že už byste chtěli začít psát kód, ale podcenění důležitosti návrhu hry je nejčastější chybou. Obvykle si myslíme, že máme všechno v hlavě a hned chceme začít programovat. Navíc hra typu Concentration vypadá opravdu jednoduše, má jediné jednoduché pravidlo (vybrané karty si odpovídají, nebo neodpovídají) a v neposlední řadě kopírujeme existující hru. Takže proč nezačít psát hned teď? Dokonce i takový základní projekt vám může způsobit řadu nepříjemností, jestliže přeskočíte důkladný návrh hry. Zde je několik otázek o vytvářené hře, na které byste se pravděpodobně sami sebe nezeptali: Kolik hráčů může hru hrát? Kolik karet umístíme na stůl? Nemáme balíček karet. Měli bychom si jeden koupit a naskenovat všechny karty? Jsou obrázky karet chráněné autorským právem? Kde najdeme volně dostupné obrázky karet? Jaké rozlišení bychom měli zvolit, aby se všechny karty zobrazovaly jasně? Kdo bude hrát naši hru? Z jakých úrovní obtížnosti by si měl hráč vybírat? Bude mít hra nějakou doprovodnou hudbu nebo zvukové efekty? Nebojte se položit si tolik otázek, kolik jen můžete. Čím více rozhodnutí učiníte předem, tím snadněji hru vytvoříte. Jestliže děláme změny základních mechanismů, když je hra v pokročilé fázi vývoje, může dramaticky narůst čas vývoje. Dobrý návrh hry nezajistí, že nikdy nebudeme muset přepisovat některé části zdrojového kódu, ale redukuje pravděpodobnost této činnosti. V každém případě buďte realisté a poznejte svá omezení. Otázky jako „Měli bychom použít fyzikální engine, aby otáčení karet vypadalo realisticky; kupříkladu přidat vítr nebo jiný odpor vzduchu?“ jsou velmi dobré, protože nechceme začít na něčem takovém pracovat a pak zjistit, že to nepotřebujeme. Nikdy však neuvažujme o funkcích, o nichž víme, že je neumíme přidat, neboť pak se naše vyhlídky na vydání hry rychle rozplynou a zjistíme, že hru nikdy nevytvoříme. Na konci tohoto procesu bychom měli mít přinejmenším sadu základních pravidel, jak by se měl chovat funkční prototyp. K1976_sazba.indd 16 5.1.2012 14:49:01 17 Nastavení velikosti scény, snímkové frekvence a barvy pozadí Takže zde jsou rozhodnutí, která jsme pro tuto hru učinili: Může ji hrát i jediný hráč. Hru by měly hrát malé děti ve webovém prohlížeči. Na stůl umístíme 20 karet. Hra s kompletním balíčkem karet by mohla být pro malé děti příliš složitá. Místo klasického balíčku karet použijeme dlaždice s jednoduchými barevnými tvary – kupříkladu červený kruh, zelený čtverec apod. To nám umožní nakreslit si grafické prvky sami, aniž bychom potřebovali balíček karet. Hráč bude vybírat karty klepnutím myší. Definice cílové skupiny hráčů je pro hru nesmírně důležitá, pokud ji chceme dobře vyladit. Protože chceme hru pro malé děti, přidáme do ní nějaký výukový obsah. Rodiče milují, když si děti hrají a současně se něco učí. Nastavení velikosti scény, snímkové frekvence a barvy pozadí Chystáme se vytvářet hru ve Flashi a ta bude mít stejně jako i všechny filmy ve Flashi svou velikost scény (šířku a výšku v pixelech), snímkovou frekvenci (počet snímků za sekundu) a barvu pozadí. Poznámka Oblast, na níž budeme zobrazovat obsah, se nazývá scéna. Jakýkoliv obsah mimo scénu nebude při hraní hry viditelný. Čím větší velikost a snímková frekvence, tím bude hra náročnější na výkon procesoru. Ale nejde jen o problémy s procesorem, musíme uvažovat také nad velikostí zařízení, na němž se má naše hra hrát. Pokud chcete navrhnout hru Concentration pro hraní na chytrých telefonech, pak je nejspíše velikost 1280 × 1024 špatnou volbou, protože tato zařízení takové rozlišení nepodporují. Přestože jsme se rozhodli vytvořit hru pro webové prohlížeče, stále bychom měli přemýšlet nad tím, jakou velikost by měla mít. Hry ve Flashi se nejčastěji hrají na slavných herních portálech – například portálu Kongregate (http://www.kongregate.com/) nebo portálu Armor Games (http://armorgames.com/). Tyto portály nabízejí hráčům širokou škálu kvalitních her. Protože jsou tyto hry začleněné do webových stránek, musí odpovídat předem vytvořenému rozvržení. Nemůžete si tedy zvolit šířku a výšku hry podle svého přání, protože ji tyto portály nepřijmou. K1976_sazba.indd 17 5.1.2012 14:49:01 18 Kapitola 1: Hra Concentration Jak vidíte z výše zobrazeného obrázku, hra není jediným obsahem dané stránky, ale začleňuje se opatrně do složitého rozvržení. Můžete zde narazit na přihlašovací formuláře, reklamy, chatovací místnosti atd. Běžnou chybou je myslet si, že čím větší hra je, tím lepší grafické prvky a více informací můžeme zobrazit. Dobrý návrhář dělá všechno možné, aby vyhověl malým rozlišením. Konzole PSP má rozlišení 480 × 272 a Nintendo DS má rozlišení 256 × 384 rozdělené na dvě části. Obě tyto konzole nabízí úžasné hry. Poznámka Zahrajte si několik úspěšných her na nejrůznějších herních portálech a zjistíte, že většina z nich používá velikosti 550 × 400 nebo 640 × 480. Pro naši hru použijeme první uvedené rozlišení. Spusťte vývojové prostředí Adobe Flash a vytvořte nový soubor – pomocí položky Soubor Nový (File New) –, a potom vyberte v okně Nový dokument (New document) položku ActionScript 3.0. K1976_sazba.indd 18 5.1.2012 14:49:02 Nastavení velikosti scény, snímkové frekvence a barvy pozadí 19 Jakmile vytvoříme dokument, nejprve bychom měli nastavit jeho vlastnosti. Otevřeme okno Vlastnosti (Properties) položkou Okno Vlastnosti (Window Properties). Pravděpodobně uvidíte, že velikost scény je 550 × 400, protože se jedná o výchozí velikost filmu. Klepnutím na tlačítko Upravit (Edit) otevřeme okno Nastavení dokumentu (Document Settings). Pokud nemáte tyto hodnoty ve výchozím nastavení, nastavte šířku na 550 pixelů, výšku na 400 pixelů, barvu pozadí na #FFFFFF (bílou) a kmitočet snímků (snímkovou frekvenci) na 24. Vyšší frekvence snímků znamená hladší animaci, ale také vyšší zátěž procesoru. V této hře nepoužíváme animace, takže ponecháme výchozí hodnotu snímkové frekvence. Rovnou nastavte třídu dokumentu na Main a netrapte se, pokud uvidíte tuto varovnou zprávu: Jde pouze o varování, že jste nastavili pro aktuální film třídu Main, avšak prostředí Flasch nemůže najít její soubor. Rozehřejte si prsty, přichází čas na programování. Nyní by naše okno Vlastnosti (Properties) mělo vypadat takto: K1976_sazba.indd 19 5.1.2012 14:49:02
Similar documents
Prukopnici svetové animaci v USA
V roce 1867, si Američan William Lincoln nechal patentovat zootrop, známy jako the weel of life. Jednalo se o cylindrický přístroj, ve kterém byly zasazeny odděleně od sebe jednotlivé kresby. Když ...
More informationNávod pro Microsoft Lumia 640 LTE - T
dále postupujte podle video návodu, který naleznete zde.
More information