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

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 information

Návod pro Microsoft Lumia 640 LTE - T

Návod pro Microsoft Lumia 640 LTE - T dále postupujte podle video návodu, který naleznete zde.

More information