Zarábaj až 6 000 € mesačne! Akreditované rekvalifikačné kurzy od 0 €. Viac informácií.

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

(Napísal Mark Overmars - (C) YoYo Games Ltd, pre itnetwork.cz preložil sdraco)

Bludišťové hry sú veľmi populárne žáner a v Game Makeru sa jednoducho vytvára. Tento tutoriál ukazuje, ako vytvoriť takúto hru v niekoľkých jednoduchých krokoch. Výhodou je, že od prvého kroku máme spustiteľnú a funkčné hru, ktorá sa v ďalších krokoch zdokonaľuje. Všetky hry, ktoré nájdete v archíve k tomuto tutoriálu, môžu byť v Game Makeru otvorené. Rovnako tak tam nájdete aj všetky obrázky a zvuky.

Herné nápad

Než začneme tvoriť samotnú hru, musíme prísť s nápadom, ako by hra mala vyzerať. Toto je ten najdôležitejší (a do istej miery najťažší) krok v návrhu hry. Dobrá hra je vzrušujúce, prekvapivá a návyková. Mala by mať jasné ciele pre hráčov a ovládanie by malo byť intuitívne.

Hra, ktorú si tu vytvoríme, bude bludišťovka. Každá miestnosť bude obsahovať bludisko. Aby hráč unikol z bludiska, musí vyriešiť hádanky a vyhýbať sa príšerám. Môžeme vytvoriť mnoho hádaniek: kamenné bloky musí byť posunuté do dier, časti miestnosti môžu byť odpálené bombami atď. Je veľmi dôležité neumiestniť všetky tieto veci hneď do prvej miestnosti. Nové predmety a príšery by sa mali objavovať pozvoľna, aby bola zostala zaujímavá.

Takže hlavný objekt v miestnosti je postava ovládaná hráčom. Sú tu múru (možno viac rôznych typov, aby bludisko vyzeralo lepšie). Tiež sú tu diamanty k zozbieranie. Sú tu predmety, ktoré leží na zemi a niečo urobia, keď sa zoberú alebo keď sa ich hráč dotkne. Jedným predmetom bude východ z miestnosti. A sú tu príšery, ktoré sa hýbu sami od seba. Ale poďme na to postupne.

Jednoduchý začiatok

Zo začiatku zabudneme na diamanty. Vytvoríme hru, v ktorej sa hráč jednoducho musí dostať k východu. V hre sú 3 základné veci: hráč, múr a východ. Pre každú budeme potrebovať sprite a objekt. Prvú takúto jednoduchú hru nájdete na stiahnutie na konci článku, je to súbor maze 1.gmk. Prosím, otvorte si ju a prejdite si jej.

Objekty

Najprv si vytvoríme objekty. Pre každý z 3 objektov použijeme jednoduchý sprite 32x32:

Sprity pre bludišťovou hru - Game maker - Bludišťovky

Vytvorte tieto sprity obvyklým spôsobom a pomenujte je spr_person (postava), spr_wall (múr) a spr_goal (východ).

Ďalej vytvoríme 3 objekty. Začneme objektom múr. Dáme mu sprite spr_wall ako obrázok, objmenujeme ho obj_wall a urobíme ho pevným zaškrtnutím políčka s nápisom Solid. To zaistí, že ostatné objekty (konkrétne postava) cez stenu neprejdú. Objekt múr nebude robiť nič iné a preto tu nemusíme definovať žiadne udalosti.

Teraz vytvoríme cieľový objekt. To je objekt, ktorého má hráč dosiahnuť. Objekt nebude solid. Rozhodli sme sa mu dať obrázok cieľovej vlajky. Vďaka tomu hráč vie, že sa k nemu má dostať. Akonáhle s ňou postava koliduje, potrebujeme sa premiestniť do ďalšej miestnosti. Preto dáme túto akciu do tejto udalosti kolízie (nájdeme ju v záložke main1). To má jednu nevýhodu. Spôsobí to chybu, keď hráč dokončí posledný miestnosť. Takže musíme ešte popracovať. Najskôr skontrolujeme, či je tu nejaká ďalšia miestnosť. Ak áno, presunieme sa tam. Inak hru reštartujeme. Takže udalosť vyzerá takto:

Kolízia východu s postavou - Game maker - Bludišťovky

Samozrejme v kompletnej hre potom urobíme niečo lepšie, keď hráč dokončí posledný miestnosť. Ukážeme mu nejaký pekný obrázok alebo mu dáme pozíciu v zozname najlepších hráčov. Nad tým sa zamyslíme neskôr.

Nakoniec budeme potrebovať vytvoriť postavu, ktorá bude ovládaná hráčom. Tu je potreba viac práce. Musí reagovať na vstup od užívateľa a nemala by kolidovať so stenou. Pre pohyb použijeme kurzorové klávesy (je to pre hráčov prirodzené a jednoduché). Postavu môžeme rozpohybovať rôznymi spôsobmi. Najjednoduchšie je posunúť hráčov o jednu bunku v danom smere, keď hráč stlačí šípku. Ďalšia možnosť, ktorú použijeme my, je pohybovať s postavou v danom smere tak dlho, kým je klávesa stlačená. Možný spôsob je tiež nechať hráča pohybovať, kým nie je stlačená ďalšie klávesa (ako v PacMan).

Potrebujeme akcie pre všetky kurzorové klávesy. Akcia sú trochu triviálne. Proste nastaví správny smer pohybu. (Ako rýchlosť použijeme 4.) Keď hráč hlávesu pustí, použijeme pre zastavenie postavy udalosť <no key>. Tu zastavíme pohyb. Je tu jedna komplikácie. Naozaj chceme, aby sa postava zarovnával s bunkami mriežky, ktorá tvorí bludisko. Inak bude pohyb obtiažny. Napr. ste museli zastaviť na presnom mieste, aby ste mohli vstúpiť do úzkej chodby. To môžeme byť vyriešené nasledujúcim spôsobom. V záložke control je akcia ku skontrolovanie, či je inštancia objektu zarovnaná s mriežkou. Len v tomto prípade sa spustí ďalšie akcie. Pridáme ju do každej udalosti kurzorových šípok a nastavíme parametre na 32 pretože je to veľkosť mriežky nášho bludisko:

Game maker - Bludišťovky

Iste tiež potrebujeme pohyb zastaviť, keď narazíme na stenu. V udalosti kolízie s múrom pri objekte postava dáme akciu, ktorá zastaví pohyb. Musíme si tu dávať pozor na jednu vec. Ak sprite vašej postavy kompletne nevypĺňa bunku, čo je normálne bežné, môže sa stať, že keď postava koliduje so stenou, nie je s mriežkou zarovnaná. (Aby sme boli presní, stane sa to v prípade, že je okolo Spritu okraj väčšej veľkosti, než je rýchlosť.) V tomto prípade sa postava zasekne, pretože nebude reagovať na klávesy (pretože nie je zarovnaná s mriežkou) ale tiež sa nebude pohybovať ďalej, pretože je pred ňou múr. Riešením je urobiť sprite väčší alebo vypnúť vo sprite preceise collision checking (precíznu kontrolu kolízie) a nastaviť bounding box na fullimage.

Tvoríme miestnosti

To bolo všetko, čo sme museli urobiť v akciách. Vytvorme si teraz nejaké miestnosti. Vytvorte jednu alebo 2 miestnosti, ktoré vyzerajú ako bludisko. Do každej miestnosti umiestnite východ a postavu na štartovaciu pozíciu.

HOTOVO
A to je všetko. Hra je pripravená. Zahrajte si ju a napr. Zmeňte rýchlosť postavy v jej udalosti create, vytvorte viac levelov, zmeňte obrázky atď.


 

Stiahnuť

Stiahnutím nasledujúceho súboru súhlasíš s licenčnými podmienkami

Stiahnuté 418x (12.61 kB)
Aplikácia je vrátane zdrojových kódov v jazyku GameMaker

 

Všetky články v sekcii
Game maker - Bludišťovky
Článok pre vás napísal David Hartinger
Avatar
Užívateľské hodnotenie:
Ešte nikto nehodnotil, buď prvý!
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 sa informačné technológie naučil na Unicorn University - prestížnej súkromnej vysokej škole IT a ekonómie.
Aktivity