Jak na tvorbu her - Na co máme myslet při programování hry?

Dnes nechci psát jakékoliv zdrojáky, protože se chci věnovat základním principům tvorby her - Tedy co všechno je potřeba udělat, když bych chtěl napsat úplně jednoduchou počítačovou hru. Text je nezávislý na programovacím jazyce (Delphi, C, ...) i na použitém grafickém rozhrání (DirectX, OpenGL).

Existuje určité pravidlo, které je téměř ve všech profesionálních hrách a nazývá se Game Loop (Herní smyčka). Je to vlastně hromada funkcí a procedur od získání vstupních informací, přepočítání kolizí, pozic objektů až po zobrazení scény s hráčem na monitoru, které jsou vhodně poskládány.

Úspěšná hra by měla obsahovat:

Start hry

Hra většinou začíná nějakým intrem (animovanou sekvencí), které ukazuje by mělo přiblížit příběh a atmosféru hry. Dál by měla obsahovat menu s nastavením typu a parametrů hry a s možností ovlivnění např. grafických efektů, rozlišení, barevné hloubky, videa mezi levely, hlasitost mluvení, hudby, efektů atd. Možností je zde opravdu hodně, proto je vhodné menu rozdělit do více podkategorií: Zvuky, grafika, multiplayer, obtížnost,...

Události - Player Input

Tady by se měly testovat hráčem stisknuté klávesy a vstupy ze všech používaných vstupních zařízení: klávesnice, myš, joystick, volant. Tyto události jsou uchovány aby mohly být provedeny změny v nitru hry.

Updatování hry

Tyto rutiny jsou podstatou hry. Všechno od pohybu postavy hráče (Zde se využijí události z minulého odstavce), přes jeho akce (převážně střílení), pohyb a akce nepřátel, zjištění zda hráč vyhrál nebo je mrtev se detekuje v této části.

Zobrazení na obrazovce

Může být provedeno dvěma způsoby. Může se buď vykreslit vše na obrazovku naráz, nebo co je děláno častěji - Nastavit vše k vykreslení a potom vykreslit na obrazovku později. Vykreslování na obrazovku totiž zabere nejvíce času ze všech zmiňovaných procesů a tak je potřeba vykreslit vše naráz. Zjištění, co je nezbytné vykreslit může zabrat poměrně hodně času a tak je nejlepší udělat tuto kontrolu ještě předtím, než se rozhodnete poslat vše na obrazovku.

Ukončení hry

Jakmile hra zkončí (smrt hráče, splnění úkolu apod.), následuje ukončovací (video)sekvence nebo alespoň rozloučení s hráčem.

Závěr

Porozuměním těchto bodů si můžete ušetřit hodně hodin práce... Před začátkem programování jakékoliv hry je potřeba si sednout a zamyslet se nad tím (popřípadě si udělat seznam), co všechno je třeba udělat v každém bloku.

Vyšlo 16.03.2002, v blogu: 0 1 2 3 4 5 6 7 8

Děkuji, že jste se rozhodl(a) přečíst tento článek. Budu rád i za komentář. Pokud Vás tento článek zaujal a rádi byste jej doporučili ostatním, podpořte mně prosím tím, že věnujete minutku svého času a uděláte mi reklamu na linkuj.cz, vybrali.sme.sk či jagg.cz. Přeji příjemné čtení

Poslední články

Diskuse k blogu

 
je to dobrej článek, ale protože sem laik, tak ho nechápu XD
bylo by skvělý to umět.......aspoň trošinenečku X3 
Vložil: Riku (30.12.2008 20:45:29)
dd 
Jake programy potrebuji na to programováni ?? 
Vložil: dd (29.01.2010 20:00:24)
Přidání příspěvku
©PC-guru.cz 2000-2008 | Optimalizováno pro 1024*768