Úvod Co je „Engineÿ Herní smyčka Struktura enginu Hotové enginy Konec
Počítačové hry Herní engine
1 / 39
Úvod Co je „Engineÿ Herní smyčka Struktura enginu Hotové enginy Konec
Obsah přednášky
I
Co je „Engineÿ
I
Herní smyčka
I
Struktura enginu
I
Hotové enginy
2 / 39
Úvod Co je „Engineÿ Herní smyčka Struktura enginu Hotové enginy Konec
Literatura a odkazy
I http://gpwiki.org/index.php/Game Engines I http://en.wikipedia.org/wiki/Game engine I http://www.devmaster.net/engines/
I Dalmau. Core Techniques and Algorithms in Game Programming. 2003 I Zerbst, Duvel. 3D Game Engine Programming. 2004 I Harbour. Game Programming All in One (2nd Edition). 2004 I Eberly. 3D Game Engine Architecture: Engineering Real-Time Applications with
Wild Magic. 2004
3 / 39
Úvod Co je „Engineÿ Herní smyčka Struktura enginu Hotové enginy Konec
”It is a mistake to think you can solve any major problems just with potatoes.” -Douglas Adams
4 / 39
Úvod Co je „Engineÿ Herní smyčka Struktura enginu Hotové enginy Konec
Co je engine?
I I
Je jádro interaktivní aplikace Má za úkol odstínit programátora-uživatele od systémových záležitostí I
poskytuje základní metody I I I I
I
inicializace nahrání dat ... ukončení
Ulehčuje vývoj hry I
možnost znovuvyužití velkých kusů kódu I
I
v ideálním případě „pouzeÿ změna dat
přechod na jinou platformu
5 / 39
Úvod Co je „Engineÿ Herní smyčka Struktura enginu Hotové enginy Konec
Co všechno engine nabízí?
I
Záleží na kvalitě enginu I I I I I I I I I I I I
grafika 2D, 3D fyzika a kolize zvuk vstupy/výstupy skriptování animace umělá inteligence síťové záležitosti správa paměti reprezentace světa (scene graph) správa souborů GUI
6 / 39
Úvod Co je „Engineÿ Herní smyčka Struktura enginu Hotové enginy Konec
Aplikace v reálném čase I
Hry jsou časově závislé aplikace I
modul pro simulaci virtuálního světa I I I
I
prezentační modul vstupní modul
I
pro zjednodušení jen 3 - update světa a prezentace, vstup
I
I
AI fyzika ...
Každý z modulů je časově omezen I
co si s tím počít?
7 / 39
Úvod Co je „Engineÿ Herní smyčka Struktura enginu Hotové enginy Konec
Aplikace v reálném čase I
Hry jsou časově závislé aplikace I
modul pro simulaci virtuálního světa I I I
I
prezentační modul vstupní modul
I
pro zjednodušení jen 3 - update světa a prezentace, vstup
I
I
Každý z modulů je časově omezen I
I
AI fyzika ...
co si s tím počít?
Všechny moduly běží současně I
jak to ale zařídit?
7 / 39
Úvod Co je „Engineÿ Herní smyčka Struktura enginu Hotové enginy Konec
Pokus první – jednoduchá smyčka I
Jednoduchá smyčka I I
update, pak prezentace oba moduly mají stejnou váhu
while (! end ) { Input () Update () Presentation () }
Vstupy
Update
Prezentace
8 / 39
Úvod Co je „Engineÿ Herní smyčka Struktura enginu Hotové enginy Konec
Pokus první – jednoduchá smyčka I
Jednoduchá smyčka I I
update, pak prezentace oba moduly mají stejnou váhu
while (! end ) { Input () Update () Presentation () } I
Vstupy
Update
Výhody I
jednoduchost
Prezentace
8 / 39
Úvod Co je „Engineÿ Herní smyčka Struktura enginu Hotové enginy Konec
Pokus první – jednoduchá smyčka I
Jednoduchá smyčka I I
update, pak prezentace oba moduly mají stejnou váhu
while (! end ) { Input () Update () Presentation () } I
Update
Výhody I
I
Vstupy
jednoduchost
Prezentace
Problémy I
závislost na výkonu systému I I
na rychlém stroji nehratelné na pomalém taky 8 / 39
Úvod Co je „Engineÿ Herní smyčka Struktura enginu Hotové enginy Konec
Pokus druhý – konstantní rychlost hry a závislé FPS I
Konstantní rychlost hry I I
update, pak prezentace pokud zbývá čas, čeká se
while (! end ) { Input () Update () Presentation () nextTime += 1000/ FPS sleepTime = nextTime - currTime ; Sleep ( sleepTime ); }
Vstupy
Update
Prezentace
Sync
9 / 39
Úvod Co je „Engineÿ Herní smyčka Struktura enginu Hotové enginy Konec
Pokus druhý – konstantní rychlost hry a závislé FPS I
Konstantní rychlost hry I I
update, pak prezentace pokud zbývá čas, čeká se
while (! end ) { Input () Update () Presentation () nextTime += 1000/ FPS sleepTime = nextTime - currTime ; Sleep ( sleepTime ); } I
Vstupy
Update
Prezentace
Výhody I
jednoduchost
Sync
9 / 39
Úvod Co je „Engineÿ Herní smyčka Struktura enginu Hotové enginy Konec
Pokus druhý – konstantní rychlost hry a závislé FPS I
Konstantní rychlost hry I I
update, pak prezentace pokud zbývá čas, čeká se
while (! end ) { Input () Update () Presentation () nextTime += 1000/ FPS sleepTime = nextTime - currTime ; Sleep ( sleepTime ); } I
Update
Prezentace
Výhody I
I
Vstupy
jednoduchost
Sync
Problémy I I
na rychlém stroji čeká na pomalém stroji nestíhá 9 / 39
Úvod Co je „Engineÿ Herní smyčka Struktura enginu Hotové enginy Konec
Pokus třetí – proměnné FPS a závislá rychlost hry
I
Maximální rychlost diktovaná kreslením I
počítá se čas od posledního snímku
while (! end ) { prevTime = currTime currTime = GetTime () Input () Update ( currTime - prevTime ) Presentation () }
Vstupy
Update
Prezentace
10 / 39
Úvod Co je „Engineÿ Herní smyčka Struktura enginu Hotové enginy Konec
Pokus třetí – proměnné FPS a závislá rychlost hry
I
Maximální rychlost diktovaná kreslením I
počítá se čas od posledního snímku
while (! end ) { prevTime = currTime currTime = GetTime () Input () Update ( currTime - prevTime ) Presentation () }
Vstupy
Update I
Výhody I
plynulejší v závislosti na rychlosti Prezentace
10 / 39
Úvod Co je „Engineÿ Herní smyčka Struktura enginu Hotové enginy Konec
Pokus třetí – proměnné FPS a závislá rychlost hry
I
Maximální rychlost diktovaná kreslením I
počítá se čas od posledního snímku
while (! end ) { prevTime = currTime currTime = GetTime () Input () Update ( currTime - prevTime ) Presentation () }
Vstupy
Update I
Výhody I
I
plynulejší v závislosti na rychlosti
Problémy I
Prezentace
spousta
10 / 39
Úvod Co je „Engineÿ Herní smyčka Struktura enginu Hotové enginy Konec
Pokus čtvrtý - konstantní rychlost a maximální FPS I
Oddělení updatů a prezentace I
update držet konstantní, prezentace kdykoliv je to možné
while (! end ) { loops = 0 while ( GetTime () > nextTime && loops < MAX_SKIP ) { Input () Update () loops ++ nextTime += 1000/ TPS } Presentation () }
Vstupy
Update
Prezentace
11 / 39
Úvod Co je „Engineÿ Herní smyčka Struktura enginu Hotové enginy Konec
Pokus čtvrtý - konstantní rychlost a maximální FPS I
Oddělení updatů a prezentace I
update držet konstantní, prezentace kdykoliv je to možné
while (! end ) { loops = 0 while ( GetTime () > nextTime && loops < MAX_SKIP ) { Input () Update () loops ++ nextTime += 1000/ TPS } Presentation () } I
Výhody I
stabilní rychlost
Vstupy
Update
Prezentace
11 / 39
Úvod Co je „Engineÿ Herní smyčka Struktura enginu Hotové enginy Konec
Pokus čtvrtý - konstantní rychlost a maximální FPS I
Oddělení updatů a prezentace I
update držet konstantní, prezentace kdykoliv je to možné
while (! end ) { loops = 0 while ( GetTime () > nextTime && loops < MAX_SKIP ) { Input () Update () loops ++ nextTime += 1000/ TPS } Presentation () } I
Výhody I
I
stabilní rychlost
Vstupy
Update
Prezentace
Problémy I
na rychlém stroji se zbytečně kreslí stejné snímky
11 / 39
Úvod Co je „Engineÿ Herní smyčka Struktura enginu Hotové enginy Konec
Pokus pátý – konstantní rychlost a variabilní FPS I
Využití inter/extrapolace pro větší plynulost animace while (! end ) { loops = 0 while ( GetTime () > nextTime && loops < MAX_SKIP ) { Input () Update () loops ++ nextTime += 1000/ TPS } interpolation = ( GetTime () + 1000/ TPS - nextTime )* TPS /1000 Presentation ( interpolation ) }
12 / 39
Úvod Co je „Engineÿ Herní smyčka Struktura enginu Hotové enginy Konec
Pokus pátý – konstantní rychlost a variabilní FPS I
Využití inter/extrapolace pro větší plynulost animace while (! end ) { loops = 0 while ( GetTime () > nextTime && loops < MAX_SKIP ) { Input () Update () loops ++ nextTime += 1000/ TPS } interpolation = ( GetTime () + 1000/ TPS - nextTime )* TPS /1000 Presentation ( interpolation ) }
I
Výhody I I
plynulost pohybu podle rychlosti počítače konstantní rychlost hry
12 / 39
Úvod Co je „Engineÿ Herní smyčka Struktura enginu Hotové enginy Konec
Pokus pátý – konstantní rychlost a variabilní FPS I
Využití inter/extrapolace pro větší plynulost animace while (! end ) { loops = 0 while ( GetTime () > nextTime && loops < MAX_SKIP ) { Input () Update () loops ++ nextTime += 1000/ TPS } interpolation = ( GetTime () + 1000/ TPS - nextTime )* TPS /1000 Presentation ( interpolation ) }
I
Výhody I I
I
plynulost pohybu podle rychlosti počítače konstantní rychlost hry
Nevýhody I
nutnost interpolátoru 12 / 39
Úvod Co je „Engineÿ Herní smyčka Struktura enginu Hotové enginy Konec
Paralelní smyčka
I
Řešení podobné jako v předchozím případě I I
I
I
I
zvlášť update zvlášť prezentace
Nevýhody I
Vstupy
zajištění synchronizace problémy na 1 procesoru
Update
Výhody I
více času Prezentace
13 / 39
Úvod Co je „Engineÿ Herní smyčka Struktura enginu Hotové enginy Konec
Struktura enginu Hudba
Audio engine
Čas
Síť Zvuky
Fyzikální egine Detekce kolizí
Update GUI
Script engine A.I.
Stavový manager Renderer
Souborový manager Prezentace
Animační engine
Správce paměti Vstup
Vstupní subsystém
Scene manager
14 / 39
Úvod Co je „Engineÿ Herní smyčka Struktura enginu Hotové enginy Konec
Herní logika
I I
Je zodpovědná za update světa Musí se starat o I I I I
statický svět hráče pasivní prvky aktivní prvky
15 / 39
Úvod Co je „Engineÿ Herní smyčka Struktura enginu Hotové enginy Konec
Statický svět
I
Objekty, které jsou součástí světa, ale nemají definováno chování I
I
terén, zdi, . . .
U rozsáhlých světů nelze rozumně udržovat vše I I
výběr aktivní části světa (graf scény, dělení prostoru) dynamické nahrávání světa (správa paměti, souborový systém)
16 / 39
Úvod Co je „Engineÿ Herní smyčka Struktura enginu Hotové enginy Konec
Hráč
I
Musí uchovávat a updatovat stav hráče
17 / 39
Úvod Co je „Engineÿ Herní smyčka Struktura enginu Hotové enginy Konec
Hráč
I I
Musí uchovávat a updatovat stav hráče Vstup od uživatele I I
klávesnice, myš, joystick, . . . abstraktní kontroler I I
hra se nestará o čtení z konkrétních zařízení lze libovolně namapovat
17 / 39
Úvod Co je „Engineÿ Herní smyčka Struktura enginu Hotové enginy Konec
Hráč
I I
Musí uchovávat a updatovat stav hráče Vstup od uživatele I I
klávesnice, myš, joystick, . . . abstraktní kontroler I I
I
hra se nestará o čtení z konkrétních zařízení lze libovolně namapovat
Update stavu I I I
spuštění animace pro pohyb úprava pozice ...
17 / 39
Úvod Co je „Engineÿ Herní smyčka Struktura enginu Hotové enginy Konec
Hráč I I
Musí uchovávat a updatovat stav hráče Vstup od uživatele I I
klávesnice, myš, joystick, . . . abstraktní kontroler I I
I
Otestování omezení I I
I
hra se nestará o čtení z konkrétních zařízení lze libovolně namapovat
geometrická omezení (detekce kolizí) logická omezení (skriptování)
Update stavu I I I
spuštění animace pro pohyb úprava pozice ...
17 / 39
Úvod Co je „Engineÿ Herní smyčka Struktura enginu Hotové enginy Konec
Pasivní prvky
I
Objekty s nadefinovaným chováním, bez vlastní inteligence I
I
dveře, krabice, poletující ptáci. . .
Nutné udržovat konzistentní stav
18 / 39
Úvod Co je „Engineÿ Herní smyčka Struktura enginu Hotové enginy Konec
Pasivní prvky
I
Objekty s nadefinovaným chováním, bez vlastní inteligence I
I
dveře, krabice, poletující ptáci. . .
Nutné udržovat konzistentní stav I
seřazení podle relevantnosti (graf scény, dělení prostoru)
18 / 39
Úvod Co je „Engineÿ Herní smyčka Struktura enginu Hotové enginy Konec
Pasivní prvky
I
Objekty s nadefinovaným chováním, bez vlastní inteligence I
I
dveře, krabice, poletující ptáci. . .
Nutné udržovat konzistentní stav I I
seřazení podle relevantnosti (graf scény, dělení prostoru) vyhodnocení modelu chování (dynamika, skriptování)
18 / 39
Úvod Co je „Engineÿ Herní smyčka Struktura enginu Hotové enginy Konec
Pasivní prvky
I
Objekty s nadefinovaným chováním, bez vlastní inteligence I
I
dveře, krabice, poletující ptáci. . .
Nutné udržovat konzistentní stav I I I
seřazení podle relevantnosti (graf scény, dělení prostoru) vyhodnocení modelu chování (dynamika, skriptování) update stavu
18 / 39
Úvod Co je „Engineÿ Herní smyčka Struktura enginu Hotové enginy Konec
Aktivní prvky
I
Objekty s vlastní inteligencí I
I
nepřátelé (nebo spoluhráči)
Nutné udržovat konzistentní stav
19 / 39
Úvod Co je „Engineÿ Herní smyčka Struktura enginu Hotové enginy Konec
Aktivní prvky
I
Objekty s vlastní inteligencí I
I
nepřátelé (nebo spoluhráči)
Nutné udržovat konzistentní stav I
seřazení podle relevantnosti (graf scény, dělení prostoru)
19 / 39
Úvod Co je „Engineÿ Herní smyčka Struktura enginu Hotové enginy Konec
Aktivní prvky
I
Objekty s vlastní inteligencí I
I
nepřátelé (nebo spoluhráči)
Nutné udržovat konzistentní stav I I
seřazení podle relevantnosti (graf scény, dělení prostoru) otestování stavu a vytyčení cílů (skriptování)
19 / 39
Úvod Co je „Engineÿ Herní smyčka Struktura enginu Hotové enginy Konec
Aktivní prvky
I
Objekty s vlastní inteligencí I
I
nepřátelé (nebo spoluhráči)
Nutné udržovat konzistentní stav I I I
seřazení podle relevantnosti (graf scény, dělení prostoru) otestování stavu a vytyčení cílů (skriptování) otestování omezení (detekce kolizí)
19 / 39
Úvod Co je „Engineÿ Herní smyčka Struktura enginu Hotové enginy Konec
Aktivní prvky
I
Objekty s vlastní inteligencí I
I
nepřátelé (nebo spoluhráči)
Nutné udržovat konzistentní stav I I I I
seřazení podle relevantnosti (graf scény, dělení prostoru) otestování stavu a vytyčení cílů (skriptování) otestování omezení (detekce kolizí) rozhodnutí (umělá inteligence)
19 / 39
Úvod Co je „Engineÿ Herní smyčka Struktura enginu Hotové enginy Konec
Aktivní prvky
I
Objekty s vlastní inteligencí I
I
nepřátelé (nebo spoluhráči)
Nutné udržovat konzistentní stav I I I I I
seřazení podle relevantnosti (graf scény, dělení prostoru) otestování stavu a vytyčení cílů (skriptování) otestování omezení (detekce kolizí) rozhodnutí (umělá inteligence) update stavu
19 / 39
Úvod Co je „Engineÿ Herní smyčka Struktura enginu Hotové enginy Konec
Struktura herní logiky // static world P r e s e l e c t A c t i v e Z o n e () // player update ReadControls () C o m p u t e R e s t r i c t i o n s () U p d a t e P l a y e r S t a t e () // passive objects S o r t A c c o r d i n g R e l e v a n c e () E x e c u t e C o n s t r o l M e c h a n i s m () U p d a t e P a s s i v e O b j e c t s S t a t e () // active objects S o r t A c c o r d i n g R e l e v a n c e () S e n s e I n t e r n a l S t a t e A n d G o a l s () C o m p u t e R e s t r i c t i o n s () MakeDecision () U p d a t e A c t i v e O b j e c t s S t a t e ()
20 / 39
Úvod Co je „Engineÿ Herní smyčka Struktura enginu Hotové enginy Konec
Prezentace scény
I
Tvoří podstatnou část hry I
I
Musí zajistit prezentaci I I I
I
stará se o to, aby byl hráč vtažen do hry statického světa a jednoduchých pasivních objektů složitých pasivních objektů a aktivních objektů hráče
Prezentace může probíhat pomocí více kanálů I I I I
vizuální audio taktilní ...
21 / 39
Úvod Co je „Engineÿ Herní smyčka Struktura enginu Hotové enginy Konec
Statický svět
I
Stará se o vykreslení statického světa a objektů s jednoduchou animací
22 / 39
Úvod Co je „Engineÿ Herní smyčka Struktura enginu Hotové enginy Konec
Statický svět
I
Stará se o vykreslení statického světa a objektů s jednoduchou animací I
výběr relevantní části světa I I I
ořezávání odstranění odvrácených částí zakrytí
22 / 39
Úvod Co je „Engineÿ Herní smyčka Struktura enginu Hotové enginy Konec
Statický svět
I
Stará se o vykreslení statického světa a objektů s jednoduchou animací I
výběr relevantní části světa I I I
I
ořezávání odstranění odvrácených částí zakrytí
výběr vhodného rozlišení (LOD)
22 / 39
Úvod Co je „Engineÿ Herní smyčka Struktura enginu Hotové enginy Konec
Statický svět
I
Stará se o vykreslení statického světa a objektů s jednoduchou animací I
výběr relevantní části světa I I I
I I
ořezávání odstranění odvrácených částí zakrytí
výběr vhodného rozlišení (LOD) příprava geometrie
22 / 39
Úvod Co je „Engineÿ Herní smyčka Struktura enginu Hotové enginy Konec
Statický svět
I
Stará se o vykreslení statického světa a objektů s jednoduchou animací I
výběr relevantní části světa I I I
I I I
ořezávání odstranění odvrácených částí zakrytí
výběr vhodného rozlišení (LOD) příprava geometrie vykreslení
22 / 39
Úvod Co je „Engineÿ Herní smyčka Struktura enginu Hotové enginy Konec
Aktivní objekty
I
Stará se o vykreslení objektů s komplexní animací I I
I
objekty postavy (NPC)
Musí zajistit
23 / 39
Úvod Co je „Engineÿ Herní smyčka Struktura enginu Hotové enginy Konec
Aktivní objekty
I
Stará se o vykreslení objektů s komplexní animací I I
I
objekty postavy (NPC)
Musí zajistit I
výběr relevantních objektů
23 / 39
Úvod Co je „Engineÿ Herní smyčka Struktura enginu Hotové enginy Konec
Aktivní objekty
I
Stará se o vykreslení objektů s komplexní animací I I
I
objekty postavy (NPC)
Musí zajistit I I I
výběr relevantních objektů výběr vhodného rozlišení animování
23 / 39
Úvod Co je „Engineÿ Herní smyčka Struktura enginu Hotové enginy Konec
Aktivní objekty
I
Stará se o vykreslení objektů s komplexní animací I I
I
objekty postavy (NPC)
Musí zajistit I I I I
výběr relevantních objektů výběr vhodného rozlišení animování příprava geometrie
23 / 39
Úvod Co je „Engineÿ Herní smyčka Struktura enginu Hotové enginy Konec
Aktivní objekty
I
Stará se o vykreslení objektů s komplexní animací I I
I
objekty postavy (NPC)
Musí zajistit I I I I I
výběr relevantních objektů výběr vhodného rozlišení animování příprava geometrie vykreslení
23 / 39
Úvod Co je „Engineÿ Herní smyčka Struktura enginu Hotové enginy Konec
Hráč
I
Speciální případ NPC I
I
většinou není nutné testovat zda je či není viditelný
Malé zjednodušení
24 / 39
Úvod Co je „Engineÿ Herní smyčka Struktura enginu Hotové enginy Konec
Hráč
I
Speciální případ NPC I
I
většinou není nutné testovat zda je či není viditelný
Malé zjednodušení I I
(výběr vhodného rozlišení) animování
24 / 39
Úvod Co je „Engineÿ Herní smyčka Struktura enginu Hotové enginy Konec
Hráč
I
Speciální případ NPC I
I
většinou není nutné testovat zda je či není viditelný
Malé zjednodušení I I I
(výběr vhodného rozlišení) animování příprava geometrie
24 / 39
Úvod Co je „Engineÿ Herní smyčka Struktura enginu Hotové enginy Konec
Hráč
I
Speciální případ NPC I
I
většinou není nutné testovat zda je či není viditelný
Malé zjednodušení I I I I
(výběr vhodného rozlišení) animování příprava geometrie vykreslení
24 / 39
Úvod Co je „Engineÿ Herní smyčka Struktura enginu Hotové enginy Konec
Struktura prezentace
// static world S e l e c t V i s i b l e S u b s e t () S e l e c t R e s o l u t i o n () PackGeometry () RenderWorld () // active objects S e l e c t V i s i b l e S u b s e t () Animate () PackGeometry () RenderNPC () // player Animate () PackGeometry () RenderPlayer ()
25 / 39
Úvod Co je „Engineÿ Herní smyčka Struktura enginu Hotové enginy Konec
Záludnosti síťové hry
I
Předchozí model se musí upravit I
I
Při updatu hráče je I
I
pro jiného hráče jste NPC odeslání změn na server
Při updatu aktivních objektů I I
zavedení speciální třídy UI síťové zprávy mapuje na objekty
26 / 39
Úvod Co je „Engineÿ Herní smyčka Struktura enginu Hotové enginy Konec
Hotové enginy
I
Vyrábění vlastního enginu od základu je příliš nákladné I I I
I
inspirace jinými enginy úpravy existujících enginů hotová řešení
Výběr enginu záleží na mnoha aspektech I I I I I I I
licence a cena typ hry požadované moduly stabilita hw nároky požadovaný jazyk podpora
27 / 39
Úvod Co je „Engineÿ Herní smyčka Struktura enginu Hotové enginy Konec
Vlastnosti – Grafika
I
Modely osvětlení
I
Textury
I
Speciální efekty
I
Terény
I
Animace
I
LOD
I
Částicové systémy
28 / 39
Úvod Co je „Engineÿ Herní smyčka Struktura enginu Hotové enginy Konec
Vlastnosti – Zvuk
I
3d zvuk
I
Text to speech
I
VoIP
I
Streamování
29 / 39
Úvod Co je „Engineÿ Herní smyčka Struktura enginu Hotové enginy Konec
Vlastnosti – AI
I
AI behaviour
I
Boti
I
Formace
I
Fuzzy logika
I
Line of Sight
I
Zpracování přirozeného jazyka
I
Hledání cesty
I
Stavový automat
I
Skriptování
30 / 39
Úvod Co je „Engineÿ Herní smyčka Struktura enginu Hotové enginy Konec
Vlastnosti – Fyzika
I
Detekce kolizí
I
Režimy pohybu
I
Fyzikální vlastnosti
I
Simulace dopravních prostředků
I
Simulace tekutin
I
Rag dolls
31 / 39
Úvod Co je „Engineÿ Herní smyčka Struktura enginu Hotové enginy Konec
Vlastnosti – Síťařina
I
Počet hráčů
I
Úroveň implementace
I
Protokol
I
Výkon
I
Architektura
I
Seznam serverů
32 / 39
Úvod Co je „Engineÿ Herní smyčka Struktura enginu Hotové enginy Konec
Vlastnosti – Platforma a HW požadavky
I
Platforma
I
CPU
I
Paměťová náročnost
I
Zvuk
I
Grafika
I
Síťové připojení
33 / 39
Úvod Co je „Engineÿ Herní smyčka Struktura enginu Hotové enginy Konec
Vlastnosti – Náročnost
I
Počet polygonů
I
Počet objektů
I
Velikost textur
I
Počet spuštěných skriptů
I
Počet síťových klientů
34 / 39
Úvod Co je „Engineÿ Herní smyčka Struktura enginu Hotové enginy Konec
Vlastnosti – Dokumentace a podpora
I
Úroveň dokončení
I
Úroveň dokumentace
I
Online help
I
Ukázkové kódy
I
Tutoriály
I
Knihy
I
Fóra
I
Podpora
35 / 39
Úvod Co je „Engineÿ Herní smyčka Struktura enginu Hotové enginy Konec
Vlastnosti – Ladění
I
Debugger
I
Profiler
I
Ladění za běhu
I
Simulátor síťového prostředí
36 / 39
Úvod Co je „Engineÿ Herní smyčka Struktura enginu Hotové enginy Konec
Vlastnosti – Ostatní
I
Nahrávání a přehrávání hry
I
Instant replay
I
Nahrávání a ukládání stavu hry
I
Přehrávání videa
I
Cut scenes
I
...
37 / 39
Úvod Co je „Engineÿ Herní smyčka Struktura enginu Hotové enginy Konec
Přehled enginů I I
http://www.devmaster.net/engines Volné enginy I I I I I
I
Nízkonákladové enginy I I I
I
OGRE Irrlicht Crystal Space Quake 3 ... Torque Game Engine TV3D ...
Profi enginy I I I
Doom3 Havok ... 38 / 39
Úvod Co je „Engineÿ Herní smyčka Struktura enginu Hotové enginy Konec
Konec
39 / 39