Vzhledem k povaze Game Makeru nejde přímo o postup nějakého programování, jako spíš ovládání programu a seznámení s jeho základními principy, jejichž pochopení následně umožní vytvořit hru podle vašeho gusta.
Nakolik jde o programování a nakolik o něco jiného, to není podstatné. Důležité je, že program umožňuje snadným způsobem vytvářet hry, a hra ve své podstatě nespočívá v programu, ale v herních mechanikách.
V této sérii užijeme pro popis jednoduchou hru "Hon na vlajku". Tedy malou hříčku na body. Jste připraveni? Tak můžeme začít.
1. Načtení spritů a zvuků
Pro začátek budeme potřebovat obrázek vlajky, zdi a nějakého panáčka. Také si přidáme nějaký zvuk, který zazní když chytneme vlajku. Bez toho by totiž ve hře nebylo nic vidět, ani slyšet, byť by to jinak fungovalo.
Po stisknutí příslušné ikonky (viz. obrázek) se objeví tabulka. Pokud přidáváme obrázek, stiskneme Load sprite (nahrát obrázek). Vybereme příslušný obrázek. Následně obrázek v kolonce Name pojmenujeme.
Se zvukem provedeme postup analogicky.
V levém sloupci bychom měli následně vidět takovýto výsledek:
2. Vytvoření objektů
Objekty vytvoříme stisknutím modré kulaté ikonky.
Jako první si vytvoříme objekt zeď, bude úplně jednoduchý. V kolence NAME (jméno) uvedeme zed (bez diakritiky!), a ve SPRITE (obrázek) vybereme příslušný obrázek a pak zaškrkneme SOLID - což v podstatě znamená pevná či neprůchozí. A tím je zeď hotová.
K názvům se v dalších dílech ještě dostaneme podrobněji, protože ideální je také odlišit název spirtu (pro zeď) a název objektu (zeď). Nicméně, tím si nyní netřeba lámat hlavu.
Teď si vytvoříme vlajku. Nastavíme jméno a obrázek, ale nebudeme zaškrtávat SOLID. Klikneme na tlačítko ADD EVENT (přidat událost) a v nabídce zvolíme CREATE (vytvoření) - zadáváme teď tedy to, co se provede po vzniknutí objektu (při události vytvoření).
A do prostoru napravo od eventu, který je nadepsaný jako Actions (činnost), přesuneme z pravého panelu tuto ikonku:
Dáme znovu ADD EVENT a zvolíme COLLISION - to co se stane při kontaktu. Ze seznamu vybereme zeď. A doprava přesuneme ikonku pro odraz:
Tím jsme dokončili objekt vlajky, a tak se můžeme pustit do toho nejsložitejšího - postavy.
Autor hry musí její chování nastavit. Chování nastavuje pomocí eventů, událostí, které objektu říkají při jaké situaci, která se ve hře vykonává, má objekt něco dělat.
A co přesně má při té situaci dělat, to určuje pomocí činností, actions, které k události přiřadí.
Abstraktněji je pak tedy událost jakési "kdy" (a to jednak když se jedna věc děje (když hráč zmáčkne šipku nahoru), a jednak kdy se druhá věc děje (akce se provede, když je zmáčknutá šipka)). Akce, činnost, je pak podobně jakési "co"(co se děje).
Postava bude v naší hře nejsložitější. Nezapomeňme nastavit jméno a sprite (obrázek).
Prvně postavě nastavíme ovládání. Tato postava se bude hýbat pomocí klávesových šipek.
Dáme ADD EVENT a zvolíme KEY PRESS (stisk klávesy), objeví se tabulka možností, ve které zvolte UP - šipka nahoru (zadáváme tedy nastavení, které určí, co bude objekt postavy dělat při stisknutí klávesy nahoru).
Do pravé kolonky vložíme
Zase ADD EVENT -> KEY PRESS -> LEFT -> šipka doleva -> SPEED 4.
A ježtě jednou, ale pro pravou šipku.
Na otázku "Kdy?" říká náš požadavek: "V momentě stisku klávesy např. nahoru."
A na otázku "Co?" je odpověď: "Nastavit směr a udělat objekt chodící (dát mu rychlost)."
A takhle jednoduché to je, stačí vědět, co člověk chce a odpovědět si na dvě otázky.
Pohybující se objekt ale sám o sobě nic nedělá, a už vůbec nevytváří hru, proto musíme postavě vysvětlit, co dělat při "kontaktu" s jiným objektem, například vlajkou.
V tomto případě, kdy hráč ve hře především získává skóre, to znamená nastavit při události kontaktu postavy s vlajkou spuštění akce přičtení skóre.
Takže konkrétně:
Teď dáme ADD EVENT -> COLLISIONS -> vlajka a v pravé nabídce zvolíme SCORE a přesuneme ikonu
Teď otevřeme sekci MAIN1.
Přesuneme
Postava teď tedy reaguje na vlajku. Nicméně, musí reagovat ještě na zeď, takže podobně jako dříve dáme ADD EVENT -> COLLISIONS -> zed. Do prázdné kolonky přesuneme již známou ikonku pro pohyb
Uff, hlavní hrdina je prozatím hotov.
3. Vytváření Místnosti
Každá hra vytvářená v GameMakeru musí mít pro spuštění alespoň jeden room (místnost) - což je herní plocha. Room vytvoříme stisknutím ikonky tabulky.
Při vytváření roomu (místnosti) se objeví okno složené ze dvou částí. Do plochy se čtvercovou sítí vpravo vkládáte objekty. Nalevo máte nejruznější nastavení.
Měli bychom mít zvolenou možnost OBJECTS. V dolní části zvolíme zed a odškrneme možnost DELETE UNDERLYING a začneme ji klikáním vkládat do místnosti - pravou klávesou probíhá mazaní. Vytvoříme si ze zdí čtverec a do něho vložíme vlajku a postavu. Zbývá už jen potvrdit (zelená fajfka vlevo nahoře).
Pro jistotu si vše uložíme pomocí klasického File -> Save As. A abychom zkusily zda vše funguje jak má, klikneme na zelenou šipku play v horním menu.
- nastavíme pozadí
- postava se po puštění klávesy zastaví
- hra bude omezená časem a na konci se objeví tabulka highscore
Komentáře
Přidat nový
Pro přispívání musíte být přihlášen
Zapsal Firejs - 08.06.2011 10:03
To asi jo, ale popřemýšlej - nikdy jsi neviděl programování, chceš si zkusit gm, najdeš tohle a najednou vidíš nějaké prefixy... Podobně jako ty instance, a další věci. Prostě to je stavěný fakt pro úplné začátečníky :)
Zapsal k.koudy - 07.06.2011 16:39
GM jsem do téhle doby viděl jen z rychlíku, návod dobrý akorát mne hrozně mátlo jak se používal stejnej name pro object i pro sprite, neni lepsi spr_zed, obj_zed a tak?
Zapsal Firejs - 27.05.2011 11:40
Kešu: Instance je synonymum objektu, to že autoři GM označily třídu/entitu jako objekt, může být možná pro někoho kdo zná terminologii matoucí, ale pro lidi je to prostě objekt, který si vytvoří a pak ho plesknout do místnosti. Tohle tady podle mě netřeba moc řešit, nejsme na univerzitě... Obrázek se zdmi je pak původní z roku 2004, a já předpokládám, že si zdi čtenáři poskládají sami a lépe ;)
Ale jsem rád, že se líbí, hlavně Likandrovi úpravy tomu dost pomohli.
Zapsal PepiCzech - 25.05.2011 15:54
Taktéž líbí, imho pro začátečníka přínosné. Chtělo by to koment od nějakého toho začátečníka :)
Zapsal Likandro - 24.05.2011 12:26
Kešu:
Určitě máš pravdu, ale ono pro napsání Tvojí formulace, by bylo nutné vysvětlit, co je instance, což se do úvodního článku po mém soudu nehodí, a proto je tam ponechána formulace jaká je.
Není to tam podstatné - je to něco podobného jako když se ve škole nejprve učí Newtonův gravitační zákon a až těsně před maturitou se dovíš, že je to jinak a ten vztah je výrazně složitější. :) Jde tedy o účelové zjednodušení.
Nicméně, děkuji za věcný komentář. :)
Zapsal Kešu - 24.05.2011 12:09
Pěkné, až na malé chybky (třeba u CREATE máte, že je to to,co se stane "při vytvoření OBJEKTU", místo "při vytvoření INSTANCE objektu").
Taky jste mohli udělat lépe to naskládání zdí (do sítě 32x32), takhle to vypadá divně.
Ale jinak pro začínající skvělý tutoriál.
Zapsal Likandro - 24.05.2011 08:34
Jestli jsou nápady na vylepšení, určitě povídej.
Snažil jsem se tam za sebe hlavně podchytit princip jakým funguje event + action, protože pro mazáky je to samozřejmé, ale nikde se to nepíše a člověk, co to vidí poprvé, si to možná nespojí.
Když mi bylo 11, a sáhl jsem po GM, vůbec nelezlo na rozum jak to řešení vymyslet, a tak jsem se tři roky učil všechny zajímavé a dostupné gm examply nazpaměť. : )) Pak jsem pochopil princip spojování a nebyl problém. : )
Zapsal bildo - 23.05.2011 22:38
Pro zacatecniky docela dobry clanek!



