Gamemaker

Gamemaker je program určený pro tvorbu jednoduchých her. Názory na něj jsou různé, v každém případě ale umožní poměrně snadno vytvořit hru i bez znalostí programování. Tvorba her je v tomto programu snadná a také rychlá - to, co v Gamemakeru zvládnete několikerým kliknutím, to by i zkušenému programátorovi zabralo několik hodin práce (nehledě na spoustu času, který musel věnovat studiu.programování). Právě programátoři na druhou stranu varují před jeho používáním, myslí si, že by uživatelé zvyklí na jednoduchost Gamemakeru měli problémy se studiem programování (to by snad neměl být takový problém, navíc - kolik z vás se bude chtít programováním živit?).
Samozřejmě, pokud jde vytvořit něco snadno a rychle, bude to mít také nějaké nevýhody - první je velikost souborů (při současných kapacitách a rychlostech paměťových medií to není velký problém) a druhá, že leckdy nedokážete vytvořit hru úplně tak, jak byste si představovali, budete omezeni jen na možnosti Gamemakeru (i když nevím, jestli dokážete všechny jeho možnosti vůbec prostudovat, vyzkoušet a využít:- ) ).
Autorem programu je Mark Overmars, v tomto kurzu použijeme verzi 8.0, jejíž instalaci si můžete stáhnout zde nebo z oficiálních stránek programu http://www.yoyogames.com, kde je k dispozici například také řada tutoriálů. Game Maker nemusíte ani instalovat, stačí si stáhnout .zip archiv a rozbalit ho (třeba na flashku:-) ). Stáhnout si můžete buď free verzi nebo verzi placenou, free verze je samozřejmě ochuzená o některé funkce a vaše hry budou obsahovat reklamní logo programu. Nejspíš si nejprve stáhnete free verzi a placenou potom podle toho, jak se vám bude tvorba her líbit, jak daleko pokročíte a jakou budete mít chuť do dalšího studia a práce.
O oblíbenosti Gamemakeru svědčí velká spousta tutoriálů, mnoha diskusních fór nebo stránek fanoušků, ze kterých můžete čerpat poučení a inspiraci (sice většinou pro starší verze, ale základy jsou stejné). Můžete se zkusit zařadit mezi úspěšné autory, jako je třeba 2Dcube, autor jedné z vítězných her v soutěži na oficiálních stránkách yoyogames. Díky své oblíbenosti je Game Maker na rozdíl od jiných projektů nadále vyvíjený, v současnosti (konec roku 2013) si můžete stáhnout verzi Game Maker Studio 1.2 , ve které můžete vytvářet hry i pro další "mobilní" systémy (i třeba Android, iOS, Windows Phone a další - ale jen v placené verzi).
Dole pod odkazy na další lekce jsou také odkazy na stránky, ze kterých jsem čerpal do těchto lekcí.


První hra

Pro tvorbu první hry využijeme tutoriál, který obsahuje naše zvolená instalace (pokud zvládáte angličtinu, určitě byste svojí první hru podle tohoto tutoriálu dokázali vytvořit také, tutoriál se buď může automaticky otvírat při spuštění programu, nebo ho můžete otevřít v nabídce Help - Tutorials).
První hra bude opravdu jednoduchá, postřehová - po ploše uzavřené zdí se bude pohybovat objekt (míček), na který máme za úkol klikat a tím zvyšovat svoje skóre.
Abychom mohli využívat více možností, nejprve vybereme rozšířený mód v nabídce
File - Advanced Mode , pokud jste jej nevybrali už při startu programu.
Na obrázku si můžete všimnout, že nabídka File je podobná jako u jiných programů, Save slouží k uložení souboru ve formátu .gmk, ten je možno znovu otevřít do Gamemakeru, zatímco Create executeble vytváří z vaší hry spustitelný .exe soubor, ten už do Gamemakeru otevřít nejde, zato si ho můžou pustit vaši kamarádi:-) Podobně jako u jiných programů najdete základní nabídky také na panelu nástrojů, nebo můžete použít obvyklé klávesové zkratky.

1. krok - sprite a sound

Nejprve si pro naši hru připravíme obrázky čtverečku (cihly) zdi a míčku - to jsou sprites.
Můžeme použít ikonu na panelu nástrojů (viz obrázek), nebo nabídku Resources - Create sprite, nebo kombinaci kláves Shift+Ctrl+S.

Otevře se panel pro nový sprite, ze kterého výřez vidíte na obrázku. Je vhodné v první položce zvolit Name pro obrázek, abychom potom v přehledu většího počtu spritů věděli, co na kterém obrázku je. Zvolme název třeba zed. Z dalších tlačítek je vidět, že obrázek můžeme nahrát, uložit nebo editovat. Pro první pokus zkusíme Load sprite - můžeme načíst obrázek zdi například ze složky nainstalovaného programu (obvykle Program Files/Gamemaker8/Sprites/Tutorial1/wall.pgn). Můžete využít obrázky běžných formátů (.jpg, .bmp, .gif (i animovaný), .png), přednastavená a nejběžnější velikost je 32x32 pixelů, ale je možné ji měnit. Načtený obrázek se objeví také vlevo v přehledu součástí (zdrojů) vaší hry.



Přidáme druhý sprite, nazveme ho třeba micek, a tentokrát ho zkusíme nakreslit sami (právě svými obrázky můžete svou hru odlišit od ostatních :-) ) , takže zkusíme Edit sprite - otevře se okno, jehož část vidíte napravo. První ikona na panelu nebývá v programech úplně běžná, jde o potvrzení změn a ukončení (potvrzovací "fajfka"), další ikonu z jných programů známe a použijeme ji pro vytvoření nového obrázku (také File - New, jak jistě víte). Pokud nahlédnete do nabídek, je jich velká řada, v rámci těchto lekcí není možné všechny projít, ale trochu zkušenější uživatel by si s nimi snad mohl poradit nebo prostě vyzkoušet (bez trochy kreativity a píle to prostě nepůjde:-), k některým nabídkám se možná ještě vrátíme). První volbou po otevření nového souboru bude velikost obrázku, můžete zatím nechat přednastavenou 32x32 pixelů (dá se kdykoliv změnit v nabídce Transform - Scale = změna rozměrů obrázku, Transform - Resize Canvas = změna velikosti kreslícího plátna).

Po potvrzení velikosti se v okně editoru objeví náhled obrázku, stačí na něj dvakrát kliknout a spustí se Image editor - grafický editor, ve kterém můžete namalovat nový sprite (nebo upravit už vytvořený nebo načtený). Také tady se spolehneme na vaše znalosti jiných grafických editorů, protože zde najdete prakticky stejné nástroje jako znáte například z Malování. Z méně běžných nástrojů je například kouzelná hůlka pro výběr oblasti s podobnou barvou v závislosti na zvolené toleranci, průhlednost (Opacity) nebo barevné přechody (Image - Gradient Fille). Množstvím svých nástrojů se tento editor řadí mezi ty malinko lepší, ale samozřejmě můžete obrázek nakreslit v editoru, na který jste zvyklí a potom jej "naloadovat":-).

Vedle ikony pro přidání sprite je na panelu nástrojů ikona pro přidání zvuku (reproduktorek) Create a sound. Můžeme nahrát různé zvuky, které mohou doprovázet situace ve hře (trefení míčku, odraz míčku od stěny apod.) nebo hudbu na pozadí celé hry. Používané formáty mohou být wav, mp3 nebo mid (opět jsou ukázky k dispozici ve složkách programu), máte také možnost si zvuk přehrát.

2. krok - object

V dalším kroku je potřeba vytvořit objekty, které budeme ve hře používat a které budou mít různé vlastnosti (vlastně tak nenápadně přičichneme takzvanému objektovému programování:-), to má v podstatě stejný princip). Pro vytvoření nového objektu můžeme použít ikonu (modrou kuličku) na panelu (viz obrázek), nebo nabídku Resources - Create object, nebo kombinaci kláves Shift+Ctrl+O.
Otevře se nové okno s vlastnostmi objektu, viz obrázek vpravo. Prvním objektem bude čtvereček zdi, opět jej můžeme pojmenovat Name: zed. Druhou vlastností je obrázek objektu, vybereme z našich dvou připravených spritů. Zatrhněte také vlastnost solid, která určuje, že je objekt "pevný, neprůchodný". Víc vlastností pro zeď potřebovat nebudeme.



Přidáme další objekt - micek, také mu vybereme obrázek a tentokrát přijdou na řadu i události, teprve akce přiřazené událostem naše nečinné objekty mohou "rozhýbat". Tentokrát přidám obrázek větší části okna programu, aby bylo jasnější "kam sáhnout".
    V levé části okna je přehled součástí naší hry, pokud chceme upravovat nějaký už vytvořený sprite nebo objekt, stačí na něj v tomto přehledu dvakrát kliknout.
Pro přidání události použijeme na panelu vlastností objektu tlačítko Add Event a zobrazí se seznam událostí jako na obrázku. Nejprve vybereme událost On Create (při vytvoření).



Pro každou událost potom vybíráme Action, neboli, co se má udělat, když příslušná událost nastane. Přehled použitelných akcí je na záložkách na pravém okraji panelu, odtud je "přetáhneme" myší do pole s titulkem Action. Pro událost On Create vybereme Move fixed - první ikonka s osmi červenými šipkami, na jejím panelu vybereme všech 8 šipek a zvolíme rychlost, např. 8. Toto nastavení znamená, že se po startu bude míček pohybovat některým z osmi zvolených směrů zadanou rychlostí.




Dál potřebujeme, aby se míček odrážel od zdi, proto přidáme událost pro kolize (srážky) - Collision, hned při kliknutí na tlačítko se objeví výběr objektů pro kolizi, vybereme zeď, zajímá nás kolize míčku se zdí. Z akcí vybereme v sekci Jump akci Bounce (odraz) a "zatáhneme" ho do oddílu akcí (viz obrázek).
Míček už se bude pohybovat a odrážet od zdi, ještě nám zbývá, co se má stát, když na něj klikneme levým tlačítkem myši (pokud jsme natolik šikovní, že jsme míček trefili:-) ). Vybereme z událostí pro myš - po kliknutí na tlačítko Mouse se objeví nabídka "myších" událostí, kde vybereme Left Pressed (stistknuté levé tlačítko).
Při "zásahu" chceme zvětšit počet bodů, proto vpravo na záložce akcí pro score vybereme první možnost Set score. Zvolíme, kolik bodů za zásah dostaneme (na obrázku 1 bod) a zatrhneme možnost Relative, to znamená, že se bude skore o jeden bod průběžně zvětšovat (viz obrázek).
Pokud budeme chtít při "zásahu" přehrát zvuk (vítěznou fanfáru :-) ), přidáme ze záložky main1 akci Play sound, u které je volba, jestli se přehrávání zvuku má opakovat (nechte false).
Poslední akci, kterou teď přidáme, je skok na náhodnou pozici, takže po přehrání zvuku skočí míček někam jinam a začne se zase pohybovat náhodným směrem. Skok najdeme na záložce Move, mezi skoky Jump je to třetí ikonka v prvním řádku Jump to Random, žádné volby skoku nemusíme měnit. Všechny uvedené akce pro stisknuté levé tlačítko myši vidíte na obrázku.

3. krok - room

Máme připravené objekty s jejich vlastnostmi a už nám chybí jen hřiště:-) , místnost, ve které se bude míček pohybovat. Místnost můžeme přidat z panelu nástrojů Create a room (ikonka vedle přidání objektu) - viz obrázek, nebo jako obvykle z nabídky Resources - Create room, nebo kombinaci kláves Shift+Ctrl+R.
V záložce settings můžeme změnit velikost místnosti (pro tuto jednoduchou klikačku by mohla stačit menší než je přednastavená 640x480px). V záložce objects kliknutím na obrázek objektu zobrazíme nabídku všech (dvou :-) ) objektů a vybereme ten, který chceme použít. Do místnosti potom vložíme objekt kliknutím levého tlačítka myši, kliknutím pravého tlačítka objekt smažeme. Se stisknutou klávesou Shift můžete "jet" levým tlačítkem, abyste nemuseli vkládat například kousky zdi jeden po druhém (potom se mohou překrývat, viz obrázek, ale to tak moc nevadí).


Po dokončení místnosti je naše první hra připravena ke spuštění a můžeme ji otestovat. Hru spustíme buď klávesou F5, nebo z nabídky Run - Run normally nebo ikonkou pro spuštění (zelený trojúhelníček) na panelu nabídek (při hraní můžete zkusit klávesu F4 pro zvětšení). Pokud něco nefunguje nebo se nám nelíbí vzhled objektů, můžeme se znovu vrátit ke kterémukoliv z předcházejících kroků. Až budete definitivně spokojeni, můžete použít nabídku File - Create Executable k vytvoření spustitelného .exe souboru, a je to :-)
Komu se nepodařilo podle této lekce první hru dát dohromady, může se podívat do zdrojového souboru .gmk.


Úkoly:

Vytvořte hru podle lekce a doplňte další objekty s jinými rychlostmi a podle toho i jiným počtem bodů za trefení (například podle zmiňovaného firemního tutoriálu z nabídky Help - Tutorials).