článek

Vytvoř si svou bludišťovku - 1
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:
- Vytvoř si svou bludišťovku - 6
- Vytvoř si svou bludišťovku - 5
- Vytvoř si svou bludišťovku - 4
- Vytvoř si svou bludišťovku - 3
- Vytvoř si svou bludišťovku - 2
- Vytvoř si svou bludišťovku - 1
další články této kategorie
diskuze

NS1NO | 31.05.22 v 13:08
text příspěvku

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). :)