+ All Categories

MASSIV

Date post: 19-Jan-2016
Category:
Upload: wei
View: 40 times
Download: 0 times
Share this document with a friend
Description:
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é: - PowerPoint PPT Presentation
21
MASSIV MASSIV Middleware pro tvorbu online her
Transcript
Page 1: MASSIV

MASSIVMASSIVMiddleware pro tvorbu online her

Page 2: MASSIV

Obsah prezentaceObsah prezentace

Úvod

Prostřeky poskytované Massivem

Využití jádra Massivu v Demu

Zhodnocení projektu

Prezentace Dema

Page 3: MASSIV

ÚvodÚvod

Část 1.Část 1.

Page 4: MASSIV

Tým projektu MassivTým projektu Massiv

Zahájení projektu: říjen 2001

Vedoucí projektu: Ing. Petr Tůma, Dr.

Řešitelé:Štěpán Vondrák - [email protected]

Marek Vondrák - [email protected]

Petr Tovaryš - [email protected]

Ondřej Pečta - [email protected]

Marek Švantner - [email protected]

Martin Havlišta - [email protected]

Page 5: MASSIV

Cíl projektuCíl projektu

Systém pro tvorbu online multiplayer her

Online hry

Běh 24 hodin denně

Perzistence

Interaktivnost

Mnoho hráčů

Page 6: MASSIV

Základní charakteristikyZá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í

Page 7: MASSIV

Komu je Massiv určenKomu 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

Page 8: MASSIV

Součásti projektu MassivSoučá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

Page 9: MASSIV

Prostředky poskytované Prostředky poskytované MassivemMassivem

Část 2.Část 2.

Page 10: MASSIV

DistribuovanostDistribuovanost

Tři druhy „uzlů“:Simulační servery

Spravují veškeré objekty tvořící světSimulují dění ve světě

KlientiPrezentují stav světa z pohledu daného hráčeOvlivň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

Page 11: MASSIV

Nasazení MassivuNasazení Massivu

Page 12: MASSIV

BezpečnostBezpeč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

Page 13: MASSIV

Objektový modelObjektový 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

Page 14: MASSIV

MigraceMigrace

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 komunikaceObjekt = zpráva

Základní prostředek běhu simulace

Page 15: MASSIV

ReplikaceReplikace

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

Page 16: MASSIV

Migrační a replikační skupinyMigrač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

Page 17: MASSIV

Vzdálené volání metodVzdá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í

Page 18: MASSIV

Další fíčury jádraDalší fíčury jádra

Archivace konzistentního stavu světaNenarušuje plynulost běhu simulace

Stahování dat na pozadíData se mohou měnit za běhu simulace

Hierarchické uspořádání datPoužívání zástupných dat

Použití: konfigurační soubory, textury, modely

Vyvažování zátěže serverů

Page 19: MASSIV

Využití jádra Massivu v DemuVyužití jádra Massivu v Demu

Část 3.Část 3.

Page 20: MASSIV

Zhodnocení projektuZhodnocení projektu

Část 4.Část 4.

Page 21: MASSIV

Prezentace DemaPrezentace Dema

Část 5.Část 5.