1 / 21

MASSIV

MASSIV. Middleware pro tvorbu online her. Obsah prezentace. Úvod Prostřeky poskytované Massivem Využití jádra Massivu v Demu Zhodnocení projektu Prezentace Dema. Část 1. Úvod. Tým projektu Massiv. Zahájení projektu: říjen 2001 Vedoucí projektu: Ing. Petr Tůma, Dr. Řešitelé:

wei
Download Presentation

MASSIV

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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. Část 1. Úvod

  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.net • Marek Vondrák - markoid@users.sourceforge.net • Petr Tovaryš - boovie@users.sourceforge.net • Ondřej Pečta - octa@users.sourceforge.net • Marek Švantner - marekus@users.sourceforge.net • Martin Havlišta - hafik@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. Část 2. Prostředky poskytované Massivem

  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. Část 3. Využití jádra Massivu v Demu

  20. Část 4. Zhodnocení projektu

  21. Prezentace Dema Část 5.

More Related