Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Tutoriál na tvorbu bludišťových her 1 - Jednoduchý začátek

(Napsal Mark Overmars - (C) YoYo Games Ltd, pro itnetwork.cz přeložil sdraco)

Bludišťové hry jsou velmi populární žánr a v Game Makeru se jednoduše vytváří. Tento tutoriál ukazuje, jak vytvořit takovouto hru v několika jednoduchých krocích. Výhodou je, že od prvního kroku máme spustitelnou a funkční hru, která se v dalších krocích zdokonaluje. Všechny hry, které naleznete v archivu k tomuto tutoriálu, mohou být v Game Makeru otevřeny. Stejně tak tam naleznete i všechny obrázky a zvuky.

Herní nápad

Než začneme tvořit samotnou hru, musíme přijít s nápadem, jak by hra měla vypadat. Toto je ten nejdůležitější (a do jisté míry nejtěžší) krok v návrhu hry. Dobrá hra je vzrušující, překvapivá a návyková. Měla by mít jasné cíle pro hráče a ovládání by mělo být intuitivní.

Hra, kterou si zde vytvoříme, bude bludišťovka. Každá místnost bude obsahovat bludiště. Aby hráč unikl z bludiště, musí vyřešit hádanky a vyhýbat se příšerám. Můžeme vytvořit mnoho hádanek: kamenné bloky musí být posunuty do děr, části místnosti mohou být odpáleny bombami atd. Je velmi důležité neumístit všechny tyto věci hned do první místnosti. Nové předměty a příšery by se měly objevovat pozvolna, aby byla zůstala zajímavá.

Takže hlavní objekt v místnosti je postava ovládaná hráčem. Jsou zde zdi (možná více různých typů, aby bludiště vypadalo lépe). Také jsou zde diamanty k sesbírání. Jsou zde předměty, které leží na zemi a něco udělají, když se seberou nebo když se jich hráč dotkne. Jedním předmětem bude východ z místnosti. A jsou zde příšery, které se hýbou sami od sebe. Ale pojďme na to postupně.

Jednoduchý začátek

Zezačátku zapomeneme na diamanty. Vytvoříme hru, ve které se hráč jednoduše musí dostat k východu. Ve hře jsou 3 základní věci: hráč, zeď a východ. Pro každou budeme potřebovat sprite a objekt. První takovou jednoduchou hru naleznete ke stažení na konci článku, je to soubor maze1.gmk. Prosím, otevřete si jí a projeďte si jí.

Objekty

Nejprve si vytvoříme objekty. Pro každý ze 3 objektů použijeme jednoduchý sprite 32x32:

Sprity pro bludišťovou hru - GameMaker - Bludišťovky

Vytvořte tyto sprity obvyklým způsobem a pojmenujte je spr_person (postava), spr_wall (zeď) a spr_goal (východ).

Dále vytvoříme 3 objekty. Začneme objektem zeď. Dáme mu sprite spr_wall jako obrázek, objmenujeme ho obj_wall a uděláme ho pevným zaškrtnutím políčka s nápisem Solid. To zajistí, že ostatní objekty (konkrétně postava) přes zeď neprojdou. Objekt zeď nebude dělat nic jiného a proto zde nemusíme definovat žádné události.

Nyní vytvoříme cílový objekt. To je objekt, kterého má hráč dosáhnout. Objekt nebude solid. Rozhodli jsme se mu dát obrázek cílové vlajky. Díky tomu hráč ví, že se k němu má dostat. Jakmile s ní postava koliduje, potřebujeme se přemístit do další místnosti. Proto dáme tuto akci do této události kolize (najdeme ji v záložce main1). To má jednu nevýhodu. Způsobí to chybu, když hráč dokončí poslední místnost. Takže musíme ještě zapracovat. Nejdříve zkontrolujeme, zda je zde nějaká další místnost. Pokud ano, přesuneme se tam. Jinak hru restartujeme. Takže událost vypadá takto:

Kolize východu s postavou - GameMaker - Bludišťovky

Samozřejmě v kompletní hře potom uděláme něco lepšího, když hráč dokončí poslední místnost. Ukážeme mu nějaký hezký obrázek nebo mu dáme pozici v seznamu nejlepších hráčů. Nad tím se zamyslíme později.

Nakonec budeme potřebovat vytvořit postavu, která bude ovládaná hráčem. Tady je potřeba více práce. Musí reagovat na vstup od uživatele a neměla by kolidovat se zdí. Pro pohyb použijeme kurzorové klávesy (je to pro hráče přirozené a jednoduché). Postavu můžeme rozpohybovat různými způsoby. Nejjednodušší je posunout hráče o jednu buňku v daném směru, když hráč stiskne šipku. Další možnost, kterou použijeme my, je pohybovat s postavou v daném směru tak dlouho, dokud je klávesa stisknuta. Možný způsob je také nechat hráče pohybovat, dokud není zmáčknutá další klávesa (jako v PacManovi).

Potřebujeme akce pro všechny kurzorové klávesy. Akce jsou poněkud triviální. Prostě nastaví správný směr pohybu. (Jako rychlost použijeme 4.) Když hráč hlávesu pustí, použijeme pro zastavení postavy událost <no key>. Tady zastavíme pohyb. Je tu jedna komplikace. Opravdu chceme, aby se postava zarovnávala s buňkami mřížky, která tvoří bludiště. Jinak bude pohyb obtížný. Např. byste museli zastavit na přesném místě, abyste mohli vstoupit do úzké chodby. To můžeme být vyřešeno následujícím způsobem. V záložce control je akce ke zkontrolování, zda je instance objektu zarovnána s mřížkou. Jenom v tomto případě se spustí další akce. Přidáme ji do každé události kurzorových šipek a nastavíme parametry na 32 protože je to velikost mřížky našeho bludiště:

GameMaker - Bludišťovky

Jistě také potřebujeme pohyb zastavit, když narazíme na zeď. V události kolize se zdí u objektu postava dáme akci, která zastaví pohyb. Musíme si zde dávat pozor na jednu věc. Pokud sprite vaší postavy kompletně nevyplňuje buňku, což je normálně běžné, může se stát, že když postava koliduje se zdí, není s mřižkou zarovnána. (Abychom byli přesní, stane se to v případě, že je kolem spritu okraj větší velikosti, než je rychlost.) V tomto případě se postava zasekne, protože nebude reagovat na klávesy (protože není zarovnána s mřížkou) ale také se nebude pohybovat dále, protože je před ní zeď. Řešením je udělat sprite větší nebo vypnout ve sprite preceise collision checking (precizní kontrolu kolize) a nastavit bounding box na fullimage.

Tvoříme místnosti

To bylo vše, co jsme museli udělat v akcích. Vytvořme si nyní nějaké místnosti. Vytvořte jednu nebo 2 místnosti, které vypadají jako bludiště. Do každé místnosti umístěte východ a postavu na startovní pozici.

HOTOVO
A to je vše. Hra je připravená. Zahrajte si ji a např. změňte rychlost postavy v její události create, vytvořte více levelů, změňte obrázky atd.


 

Stáhnout

Stažením následujícího souboru souhlasíš s licenčními podmínkami

Staženo 418x (12.61 kB)
Aplikace je včetně zdrojových kódů v jazyce GameMaker

 

Všechny články v sekci
GameMaker - Bludišťovky
Článek pro vás napsal David Hartinger
Avatar
Uživatelské hodnocení:
2 hlasů
David je zakladatelem ITnetwork a programování se profesionálně věnuje 15 let. Má rád Nirvanu, nemovitosti a svobodu podnikání.
Unicorn university David se informační technologie naučil na Unicorn University - prestižní soukromé vysoké škole IT a ekonomie.
Aktivity