článek

Vytvoř si svou bludišťovku - 1

Vytvoř si svou bludišťovku - 1

Vítejte u nového seriálu z oblasti tvorby her, jehož cílem je seznámit vás v několika následujících článcích s tvorbou trojrozměrných her prostřednictvím jednoduché bludišťovky. Tak račte vstoupit.

Bleskla vám již někdy hlavou při hraní nejmodernějších stříleček, ale i jiných her, jak ono to vlastně funguje? Nebo je dokonce vaší touhou vytvořit si vlastní trojrozměrnou hru? V obou případech je tento seriál určen právě vám. Dovolte mi tedy seznámit vás s tím, jak bude vypadat výsledek našeho seriálu a jaké nástrahy budeme muset překonat.








Naším cílem je tedy vytvoření jednoduché bludišťovky s jedním levelem. O grafiku se nám postará DirectX9 a jako programovací jazyk využijeme C++. Mechanismus hry bude tak jednoduchý, jak to jen jde. Půjde pouze o to, dostat se na určité místo na mapě, které bude označeno jako cíl. Seriál bude tedy hlavně zaměřen na pochopení trojrozměrného prostoru ve hrách a představení potřebných základních funkcí Direct3D.



Klíčové body projektu:




  • Inicializace Direct3D

  • Načtení modelu mapy ze souboru

  • Zjišťování vstupu z klávesnice a myši pomocí DirectInput

  • Vytvoření FPS kamery

  • Zajištění jednoduchých kolizí s mapou

  • Osvětlení scény





Příprava



Na prvním místě je bezpochyby vaše iniciativa a chuť učit se novým věcem. Dále se neobejdete bez nějaké základní znalosti C++ včetně OOP.



A ze softwarové výbavy bude potřeba Microsoft Visual Studio .NET (existuje verze zdarma ke stažení) a pokud možno nejnovější DirectX SDK.



Nebudeme to zbytečně protahovat a přistoupíme k prvnímu kroku. Tím je vytvoření toho nejjednoduššího okna pomocí WinApi. Do tohoto okna budeme následně vykreslovat obraz z Direct3D. Stejné okno mají i aplikace běžící v celoobrazovkovém režimu, jenom jsou jejich okna nastaveny tak, aby vše překryly. Ale zpět k WinApi.



Tím nejzákladnějším krokem je vytvoření nového projektu ve Visual Studiu. Spusťte si tedy toto prostředí a vlevo nahoře klikněte na File. Následně na New a Project. Zjeví se vám okno s názvem v titulku New Project. Vlevo rozbalte položku s názvem Visual C++ a klikněte na položku General. Z okna napravo vyberte položku Empty Project. Dole se nachází dvě pole s názvy Name a Location. Vyplňte dle vlastní fantazie a finálně klikněte na tlačítko OK.








Prostředí Visual Studia je dle mého názoru dostatečně intuitivní a kdo se již zabýval programováním v C++ (což byste měli), by neměl mít problém. Vlevo do složky se jménem Source Files přidáme nový cpp soubor. Já jsem zvyklý ho pojmenovat main.cpp. Projekt je nyní připraven a můžeme začít psát kód. Zde na webu Freegame již jeden seriál na téma tvorba hry existuje a vytvoření okna pomocí WinApi popisuje celkem dostatečně. Takže to vezmu jen velmi stručně, abych nemusel WinApi věnovat celý jeden článek a zbylo více prostoru věcem zajímavějším.



Hlavní funkci tvoří Winmain. Její definice zní:






int WINAPI WinMain( HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow )




Druhá důležitá funkce se v našem případě bude jmenovat WindowProc a postará se nám o zpracování příchozích zpráv. Její definice zní:






int LRESULT CALLBACK WindowProc( HWND hWnd,
UINT message,
WPARAM wParam,
LPARAM lParam );




Ve funkci WinMain si vytvoříme požadované okno a následně se dostaneme do nekonečné smyčky, která trvá, dokud nedojde zpráva s informací o ukončení aplikace. V této smyčce bude mimo jiné probíhat vykreslování scény a zjišťování vstupu z myši a klávesnice.



A to je začátek konce dnešního prvního dílu. Omlouvám se za opravdu velmi stručné popsání záležitostí WinApi, ale je to věc, která zde již byla probrána a my se tím pádem můžeme v příštím článku zabývat rovnou Direct3D. Pro vaše případné dotazy je k dispozici diskuse pod článkem.



Kompletní zdrojové kódy (všechny díly seriálu): bludistovka_zdroje.zip



Související odkazy:







pavlík_petr

autor
/ pavlík_petr

Publikováno: 11.11.2007


další články této kategorie





diskuze

odeslat

Nejsi automat? Napiš výsledek 5 + 3 =

NS1NO

NS1NO | 31.05.22 v 13:08

text příspěvku

CoookieBurgerCZ

CoookieBurgerCZ | 07.07.15 v 11:23

husty

Luboš Smutný | 09.02.10 v 08:37

aby to fungovalo a prosim hlavne aby to slo

zzzuuuuuuu | 15.06.09 v 12:27

normalne otevřeš třeba wordpad a přepisuješ to

cesar | 15.06.09 v 07:26

jak se tohle stahne do svého pc.

cesar | 15.06.09 v 07:24

ako sa toto nahráva?

Necra | 25.05.08 v 17:55

Visual Basic 6 ???

DaveCZ | 15.11.07 v 19:24

*případně.. zatracená klávesnice.

DaveCZ | 15.11.07 v 19:24

Zdravím, jen bych rád podotkl, že žádné .NETí Visual Studio není třeba. Na nativní programování bohatě stačí šestková verze visual studia, v případně Visual C++ 2005/2008 Express (zřejmě to jste měl na mysli). :)