Seznámení s Massivem

V dnešní době se stále, díky rychlému rozšiřování internetu, objevuje mnoho nových síťových aplikací distribuovaných potenciálně po celém světě. Jeden druh těchto aplikací, který se objevil před několika málo lety, jsou tzv. online hry pro více hráčů (neboli MMO hry - massively multiplayer online games). Společným znakem těchto her je, že více serverů společně simuluje imaginární herní svět, zatímco se k nim připojuje mnoho (řádově někdy až tisíce) hráčů. Ti ovládají své postavy a dění v simulovaném světě v reálném čase.

Zmíněná simulace typicky běží 24 hodin denně 7 dní v týdnu a hráči se k ní mohou připojovat ze všech koutů světa. Pokud se hráč odpojí, jeho postava nemůže nadále (až do dalšího připojení) ovlivňovat dění ve světě, ale jsou jí ponechány její vlastnosti a majetek.

Je zřejmé, že vývoj takovýchto distribuovaných systému (obzvláště pokud simulace je prováděna více kooperujícími servery) je extrémně náročný úkol vyžadující dobrou finanční oporu a zdá se, že pouze komerční firmy by si mohly dovolit tento vývoj podstoupit.

Massiv vytváří platformu pro usnadnění vývoje MMO her. Poskytuje funkčnost, která umožňuje do určité míry před programátorem distribuovanost skrýt (nicméně přesto programátor musí mít distribuovanost neustále na paměti, ale jeho situace je mnohem jednodušší, neboť mnoho práce udělá Massiv automaticky za něj). Massiv také poskytuje speciální objektový model umožňující efektivní simulaci.

Mezi Massivem a jinými existujícími MMO hrami jsou však výrazné rozdíly. Zatímco existující systémy simulují svět na potenciálně více serverech umístěných ve stejném clusteru (nebo stejné tzv. broadcast doméně), Massiv počítá s více servery umístěnými kdekoli v internetu. Tento fakt výrazně ztěžuje vývoj, protože přináší nové problémy jako delší dobu odezvy, bezpečnost nebo efektivní vyhledávání objektů ve světě. Hlavní výhodou této architektury je, že umožňuje více nezávislým subjektům (programátoři, administrátoři) vytvořit společně simulaci, aniž by se fyzicky museli nacházet na stejném místě. Díky tomu by Massiv měl být poměrně otevřený nekomerční komunitě.

Tato distribuce obsahuje kromě základní knihovny (Massiv Core) také jednu ukázkovou aplikaci (kterou nazýváme jednoduše Demo). Jedná se o reálný příklad použití Core v praxi. V současném stavu se sice zdá zbytečně složitá, ale přesto věříme, že bude velmi užitěčná pro usnadnění studia programování s využitím Massivu.

Tato kniha je pouze uživatelskou příručkou k Demu - programátorská dokumentace generovaná ze zdrojových kódu je v distribuci extra.