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 3D stříleček 1 - Začněme s 2D hrou

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

V tomto tutoriálu prozkoumáme 3D kreslící funkce v Game Makeru. Možná si říkáte: "Myslel jsem si, že Game Maker byl jen pro 2D hry?". Vlastně ano, je vytvořený za účelem tvorby 2D her. Ale jsou zde funkce pro 3D grafiku. A mnoh her, které vypadají 3D, jsou ve skutečnosti 2D. V tomto tutoriálu si vytvoříme 3D střílečku. Přesto, že všechna grafika bude vypadat 3D, hra se bude odehrávat v dvourozměrném světě. Použijeme tedy standardní mechanismy Game Makeru, abychom vytvořili 2D hru, ale místo vykreslení dvourozměrné místnosti vytvoříme 3D grafiku. Jak uvidíme, není to moc obtížné. Ale potřebujete dobře rozumět jazyku GML a nebát se napsat kus kódu. Z toho důvodu je tento tutoriál pouze pro pokročilé uživatele. A nezapomínejte, že 3D funkce jsou dostupné pouze v Game Makeru Pro.

Vytvoříme si hru v několika krocích, začneme jednoduchou 2D verzí a potom přidáme 3D grafiku. Všechny fáze hry naleznete ke stažení na konci každého tutoriálu.

První 2D hra

Jak jsme zmínili výše, hraní hry bude vlastně probíhat ve 2D. Nejdříve tedy musíme vytvořit 2D hru, kterou později převedeme do 3D. Protože tentokrát nebude grafika hrát žádnou roli, nepotřebujeme efektní sprity. Všechny objekty (hráč, neprátelé, kulky, atd.) budou znázorněny barevnými kolečky. Objekty zdí budou znázorněny pomocí svislých a vodorovných bloků. V této fázi vytvoříme jednoduchou 2D scénu s místnostmi a hráčem. Další předměty vložíme později. Hru naleznete ke stažení pod názvem fps0.gmk.

Vytvoříme 2 objekty zdí: vertikální a horizontální. také vytvoříme jeden základní objekt pro zeď, který pojmenujeme obj_wall_basic. Ten bude jako parrent pro všechny objekty zdí (později si jich vytvoříme více). Uvidíme, že nám to pomůže s kolizí a vykreslováním. Objekt zdi nebude mít žádné chování. Všechny objekty zdí budou solid. Takže objekt horizontální zdi bude vypadat nějak takto:

GameMaker - 3D hry

Je to trochu nudné, vyplněny jsou jen sprite a parrent.

Další objekt, který musíme vytvořit, je hráč. Bude ho reprezentovat malé modré kolečko. Dáme mu na jednu stranu červenou tečku, abychom poznali, jakým směrem se pohybuje. To je důležité jen v 2D verzi a nepřípustné v 3D verzi. Do události End step přidáme Set variable action, kde nastavíme image_angle na direction. Tak bude červená tečka vskutku ukazovat správným směrem. Nyní pouze potřebujeme definovat pohyb. Abychom dosáhli trochu plynulého pohybu, nechceme, aby pohyb nastal náhle. Vypadalo by to v 3D verzi špatně. Takže ho postupně necháme rozpohybovat a zastavit. Za tímto účelem do události Keyboard <Up> vložíme následující kód:

{
  if (speed < 2) speed = min(2,speed+0.4);
}

Tak pomalu nabere rychlost až do maximální rychlosti 2. Do události Keyboard <Down> vložíme to samé, ale s opačným směrem. V <Left> a <Right> jednoduše zvýšíme nebo snížíme direction (směr pohybu). V události Create nastavíme proměnnou friction na 0.2, takže jakmile hráč pustí klávesu <Up>, rychlost se začne snižovat. (určitě si budete chtít pohrát s maximální rychlostí, zvýšením rychlosti a friction tak, abyste dospěli požadovaného efektu). Nakonec v události kolize s objektem obj_wall_basic zastavíme pohyb (je to trochu ošklivé a později si ukážeme, jak to udělat lépe). Protože všechny objekty zdí mají jako parrent obj_wall_basic, stačí nám definovat pouze tuto jednu kolizi.

Vytvoříme si level s různými místnostmi. Pečlivý level design zajistí, že bude hra pro hráče zajímavá. Protentokrát se omezíme na podivně vypadající místnost níže.

Příprava první 3D místnosti ve 2D - GameMaker - 3D hry

Načtěte si soubor fps0.gmk a trochu si zahrajte. Zatím to vypadá nudně, že? Příště hru převedeme do 3D.


 

Stáhnout

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

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

 

Všechny články v sekci
GameMaker - 3D hry
Článek pro vás napsal David Hartinger
Avatar
Uživatelské hodnocení:
4 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