Stáhnout prezentaci
Prezentace se nahrává, počkejte prosím
ZveřejnilRadomír Černý
1
MASSIV Middleware pro tvorbu online her
2
Obsah prezentace Úvod Prostřeky poskytované Massivem Využití jádra Massivu v Demu Zhodnocení projektu Prezentace Dema
3
Úvod Část 1.
4
Tým projektu Massiv Zahájení projektu: říjen 2001 Vedoucí projektu:Ing. Petr Tůma, Dr. Řešitelé: Štěpán Vondrák - stoupik@users.sourceforge.netstoupik@users.sourceforge.net Marek Vondrák - markoid@users.sourceforge.netmarkoid@users.sourceforge.net Petr Tovaryš - boovie@users.sourceforge.netboovie@users.sourceforge.net Ondřej Pečta - octa@users.sourceforge.netocta@users.sourceforge.net Marek Švantner - marekus@users.sourceforge.netmarekus@users.sourceforge.net Martin Havlišta - hafik@users.sourceforge.nethafik@users.sourceforge.net
5
Cíl projektu Systém pro tvorbu online multiplayer her Online hry Běh 24 hodin denně Perzistence Interaktivnost Mnoho hráčů
6
Základní charakteristiky Distrubuovanost Svět může být simulován více servery Objektovost Svět se sestává z objektů, které mohou mezi servery volně migrovat Statická data Správa a distribuce dat, která se příliš často nemění
7
Komu je Massiv určen Middleware pro nekomerční sféru Nezávislí vývojáři – Open Source Nelze předpokládat nasazení serverů na jediné lokální síti Systém musí počítat s nezanedbatelnými latencemi mezi servery Jedinečnost Massivu
8
Součásti projektu Massiv Jádro Objektově orientovaný distribuovaný systém Kód knihovny a nástroje pro překlad Demo Jednoduchá ukázková online hra Demonstrace použití prostředků jádra Nástroje pro konfiguraci a správu Dema
9
Prostředky poskytované Massivem Část 2.
10
Distribuovanost Tři druhy „uzlů“: Simulační servery Spravují veškeré objekty tvořící svět Simulují dění ve světě Klienti Prezentují stav světa z pohledu daného hráče Ovlivňují dění ve světe pomocí požadavků Datový server (data service) Poskytuje ostatním uzlům data statické povahy Potenciálně velké latence mezi libovolnými dvěma uzly
11
Nasazení Massivu
12
Bezpečnost Šifrování dat mezi každými dvěma uzly Autentizace pomocí RSA klíčů Symetrické šifrování při přenosu dat Omezená práva klientských uzlů Klienti nemohou přímo měnit stav simulace, pouze zasílat požadavky speciálním objektům
13
Objektový model „Managed objects“ Objekty automaticky spravované systémem Příslušné třídy se píší v C++ Musí se dodržovat zvláštní pravidla Povolen přímý přístup na lokální objekty Speciální datové typy Popis tříd v IDL (Interface Definition Language) Serializace Introspekce RPC Lokální garbage collector
14
Migrace Každý objekt vlastněn právě jedním uzlem Migrace objektů Fronta událostí Kdy a kam se má daný objekt doručit Synchronizovaný simulační čas Adresáti migrace jsou objekty Základní forma komunikace Objekt = zpráva Základní prostředek běhu simulace
15
Replikace Objekt může být replikován na libovolný počet uzlů Kopie (částí) objektů určené výhradně pro čtení Automaticky udržované v aktuálním stavu Použití: Přenos dat nutných pro prezentaci světa na klienty Optimalizace komunikace mezi servery
16
Migrační a replikační skupiny Systém ke skupinám přistupuje jako k celku Objekty v migrační skupině jsou vzájemně lokální Základní prostředek pro zajištění efektivity v distribuovaném prostředí s velkými latencemi Příslušnost do skupiny určována dynamicky Příklady skupin: Dynamické datové struktury (spojový seznam) Postava hráče s celým inventářem
17
Vzdálené volání metod Implementované pomocí migrací Asynchronní RPC Doručení lze načasovat na konkretní simulační čas Možnost získání výsledků volání Synchronní RPC Neblokuje doručování ostatních událostí
18
Další fíčury jádra Archivace konzistentního stavu světa Nenarušuje plynulost běhu simulace Stahování dat na pozadí Data se mohou měnit za běhu simulace Hierarchické uspořádání dat Používání zástupných dat Použití: konfigurační soubory, textury, modely Vyvažování zátěže serverů
19
Využití jádra Massivu v Demu Část 3.
20
Zhodnocení projektu Část 4.
21
Prezentace Dema Část 5.
Podobné prezentace
© 2024 SlidePlayer.cz Inc.
All rights reserved.