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 8Dě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
- 3D Studio MAX (13.) - Popis modifikačních funkcí ve 3D Studiu MAX
- OpenGL (12.) - visualizační plugin pro WinAMP
- Delphi (10.) - knihovna FMOD
- Herní grafické enginy (1.) - MEngine od Mister Group
- Delphi (9.) - Download 2
- Delphi (8.) - Download
- 3D Studio MAX (12.) - Tvorba realistické jeskyně 2
- Jak na tvorbu her - Na co máme myslet při programování hry?
- 3D Studio MAX (10.) - Izometrický pohled ve 3D Studiu MAX
- Adobe Photoshop (4.) - Chromový text
- 3D Studio MAX (11.) - Tvorba realistické jeskyně
- Zoner Callisto (2.) - Export do PDF
- OpenGL (11.) - Nová detekce kolizí
- OpenGL (10.) - Nová knihovna geometry.pas
- OpenGL (9.) - Generování textur a vylepšení FarClip Distance
Diskuse k blogu
bylo by skvělý to umět.......aspoň trošinenečku X3