článek

Zaměřeno na Sauerbraten - 2. část

Zaměřeno na Sauerbraten - 2. část

V této části článku o jedné z nejlepších freewarových stříleček současnosti se zaměříme především na technickou stránku hry - grafický engine, síťový kód, vývoj hry a další hry na Sauerbraten Game Engine.


Čtěte první část článku, než si přečtete tuto druhou část.



Engine – současnost



Během toho všeho začal hlavní designér a programátor Sauerbraten spřádat plány na pokračování enginu Cube, který byl sice originální, ovšem pomalu ale jistě zastarával. Měl ale zcela jistě potenciál pro pokračování zajímavé myšlenky v modernější formě.



I poslední omezení zděděné z Dooma (totiž možnost vytahovat kostky jen svisle z podlahy a stropu) se ukázalo jako příliš velká přítěž pro moderní hru a bylo třeba se ho zbavit, ovšem tak, aby zásah neporušil kouzlo Cube. To se povedlo překvapivě skvěle – Aardappel totiž engine Sauerbraten, před vydáním nazývaný Cube 2, navrhl tak, že stále pracuje s kostkami, ovšem pracuje s nimi takřka libovolně a všemi třemi směry. Krychle tedy nevycházejí jen z podlahy či stropu – jakýkoliv sloup můžete klidně uprostřed přerušit tak, že označíte jeho část a „vtlačíte“ ji dovnitř až má nulovou tloušťku. Tak mohou být jakékoliv objekty samostatně v prostoru a nad sebou v patrech. Jakoukoliv stěnu (do určité minimální velikosti, pod kterou se jít nedá) můžete také po velmi jemných stupních do všech stran zkosit.





To již dává možnost vytvořit mapy prakticky stejně detailní jako v jakýchkoliv jiných současných online střílečkách (ostatně posuďte sami na okolních obrázcích). Ovšem není to jen zjednodušení pro hráče a tvůrce map, které by zbytek hry spíše zatěžovalo, jedná se o komplexní návrh, který má i další technické výhody, jako například velmi malá velikost map či z jiného soudku možnost snadno spolupracovat při tvorbě map – v módu coopedit není problém pracovat na jedné mapě najednou online ve více lidech.



I grafický engine se změnil k nepoznání. Stojí za tím mimo jiné to, že Aardappel stihl nabrat zkušenosti například u vývoje enginu Crytek, známého především díky na tehdejší poměry graficky famózního Far Cry, ovšem s vývojem mu pomáhali i další důležití lidé, jejichž seznam si můžete přečíst na stránkách hry. Přibyly přesné statické stíny pro geometrii map a pro statické modely vložené v mapách a dynamické stíny pro hráče a další pohyblivé modely. Přibyla také podpora shaderů, která hru změnila k nepoznání – voda, která odráží i láme světlo, normal mapping a paralax mapping, což jsou technologie, které z ploché zdi s texturou udělají do určité míry hrbolatý povrch a umožňují tak nesmírně větší míru detailu, různé více či méně nevkusné (čti moderní) post-process efekty jako bloom a další. Drobnosti jako dobře vypadající (a relativně nenáročná) tráva pak již nejspíš nikoho nepřekvapí.



To ale není vše. Už jen proto, že jednou z nových zbraní se stal granátomet, bylo třeba naprogramovat alespoň jednoduchou fyziku. Vývojový tým to vzal zostra a vytvořil poměrně komplexní rozhraní, takže nejenže můžete být sestřeleni do bezedné jámy raketou či puškou (či provozovat zde nepříliš výhodný rocket-jump), což bylo možné vždy, a střílet granáty za roh, ale můžete i interagovat (tedy dělat s nimi nepořádek, opět nejlépe pomocí libovolných zbraní či například výbušných sudů) s neukotvenými modely vloženými do mapy. Možnost aplikovat fyziku na libovolné předměty zatím používá poměrně málo map, ale v budoucnu bude jistě hrát velkou roli při tvorbě kampaní pro jednoho hráče.



Síťový kód a hacky



I v tomto ohledu byl Sauerbraten od začátku vývoje jasně naplánován. Síťová hra klade co nejmenší nároky na server a co nejvíce snaží počítat na straně klienta. To má jasné výhody – malá zátěž hardwaru, menší datové přenosy a z toho plynoucí možnost naprosto v klidu si zahrát i s latencí přes 100 milisekund, v menším klidu i s dvojnásobnou – tato technologie to umožňuje s minimem artefaktů jako teleportace hráčů z místa na místo, desynchronizace, odpojování od serveru apod.





Tento způsob implementace má ale své nevýhody, které jsou i důvodem proč ho komerční hry obvykle nepoužívají. Především silně zjednodušuje práci cheaterům – máte-li nějakou zkušenost s programováním, nemusí pro vás být příliš obtížně vzít zdrojové kódy Sauerbraten, upravit si například výšku skoku, zkompilovat a hrát (je to, přestože je hra open-source, v rozporu s licencí, ale to obvykle cheatera nezajímá) a na úrovni serveru je takřka nemožné se proti tomu bránit jinak, než odhalením ostatními hráči a vykopnutím/zabanováním cheatera.



Nabízí se otázka proč autoři cheaterům takto usnadňují práci, a také ve stínu tohoto rozhodnutí, zda je podvádění skutečně problémem. Odpověď zkušené online hráče asi již napadla – boj s cheatery je obvykle předem prohraná záležitost a různé druhy hacků existují v podstatě na všechny populární online střílečky, ochrana neochrana. Z toho můžeme částečně vyčíst i odpověď na otázku zda je v Sauerbraten ve srovnání s jinými hrami s cheatery problém.



Trochu ano, ale méně než v komerčních hrách (vzpomenu-li si například na dobu, kdy byl mainstreamově populární Counter-Strike 1.6 či starší, tak oproti tomu mnohem méně:)), a dá se vždy celkem snadno řešit. Autoři se proti cheaterům rozhodli bránit nikoliv jejich detekcí (za cenu větší náročnosti na přenosy dat, na server atd.) či zobtížněním tvorby hacků (Cube měla vždy jakousi oficiální verzi, která byla ditribuována pouze binárně, i od toho se ale upustilo), nýbrž vytvořením prostředí pro snadné zbavení se cheatera a vytvoření slušné komunity na serveru.



Na to existují dva hlavní nástroje: Prvním je, že první hráč, který se připojí na prázdný server, může získat status mastera. Tím získává několik pravomocí, jako například kicknutí hráče ze serveru či zrušení všech banů. Také ale získává veledůležitý druhý nástroj, což je nastavení „mastermode“ na serveru. To jsou čtyři volby, které určují, zda se na server dá volně připojovat – open, veto, locked a private. Open znamená, že se na server může připojit kdokoliv, veto totéž s jediným rozdílem, totiž že hráč s master statutem může měnit mapy (obvykle se tomu děje buďto napevno nastaveným serverem, nebo pomocí hlasování – na to je veto dobré, protože noví hráči často hlasovat neumí, jelikož se to dělá textovým příkazem či neznají mapy, o kterých se hlasuje). Locked pak znamená, že se sice připojí kdokoliv, ale po připojení je jen pozorovatelem (spectator) a neúčastní se hry, pokud z něj master hráče neudělá (vhodné pro duely či různé clanwars), a na server s mastermodem private se docela logicky nepřipojí nikdo.





Tato opatření fungují. Jediná logická díra nastává, kdyby se cheaterovi podařilo získat master status. To se řeší taktéž celkem jednoduše – serverů je vždy v provozu více než hráčů, takže stačí přesunout se jinam, stát se masterem, zvolit či odhlasovat si mód a mapu a případně zpřísnit mastermode. Já osobně jsem nic takového nikdy nezažil a s cheaterem jsem se za celou mou několikaletou (ač nijak intenzivní) hráčskou kariéru setkal jen s jednou.



Jak je to s tou licencí?



Samotné zdrojové kódy Sauerbraten game engine jsou vydány pod nepříliš omezenou ZLIB licencí. Nicméně cílem při volbě licence bylo především podnítit kreativní fanoušky, aby tvořili nový obsah pro Sauerbraten jako takový, a nikoliv aby tvořili desítky nikým nehraných generických stříleček, lišících se v několika detailech. Řešením bylo nechat zdrojový kód enginu pro volné využití v rámci ZLIB licence, ovšem hru jako takovou s veškerými texturami, modely, mapami, hudbou apod. nikoliv, podobně, jako to udělal například id Software s Doomem či Quakem. To také umožňuje zahrnout do hry zdroje od různých autorů s různými licencemi, což je jistě daleko více motivující, než přispívání do her, které vynucují vlastní licence.





I v tomto autoři zaznamenali úspěch – ve hře se nachází zdroje od mnoha lidí ve formě textur, modelů, map, zvuků či patchů. O mapách jsem již pár slov psal výše, a tak bych zmínil zejména hudbu – soundtrack k Sauerbraten totiž dělal kompletně jeden člověk, Marc „Fanatic“ A. Pullen, a rozhodl se udělat ho v poměrně neobvyklé formě. Žánrově se jedná o jakýsi pomalejší temný instrumentální metal, a co je důležité, všechny písničky jsou vytvořeny tak, že na sebe čistě navazují – dojem z celistvého soundtracku je tak dokonalý.



Eisenstern a další hry



Tvůrci Sauerbraten pracovali ještě na jedné hře nad stejným enginem, zvané Eisenstern. Ta se vyvíjela velmi pomalu a již několik let je ve fázi jakéhosi nepříliš hratelného techdema o dvou mapách, neboť původní vývojáři ji přestali vyvíjet a ač se projektu chopila skupina nadšenců, jejich fork zatím v oficiální distribuci Sauerbraten není, a tak ji zmiňuji spíše pro úplnost. Časem by z ní mělo být snadno modifikovatelné akční RPG bez výrazného příběhu z pohledu třetí osoby, ve kterém expy a levelování bude nahrazovat hledání a používání různých posilujících předmětů. Momentálně se můžete po těch dvou poměrně rozlehlých tematických mapách proběhnout, boxovat do několika potvor (které vás na oplátku samozřejmě mohou zabít a jsou různě silné), prodat nalezené předměty NPC či si od něj koupit jablko, anebo s ním dokonce prohodit dvě věty o maximálně třech slovech. Zdá se, že Aardappel je spíše tvůrce enginů než her a tak můžeme mít oprávněné obavy jestli Eisenstern bude někdy dokončen a případně jestli bude hratelný.





Existuje i pár dalších neoficiálních konverzí, ale ty mají společnou jednu věc: Vypadají zajímavě a jsou nedokončené. Jestli se něco vyplatí sledovat, tak je to Red Eclipse, pokračování zapomenutého projektu Blood Frontier, což má být pro změnu kooperativně multiplayerové survival FPS, pravděpodobně inspirované například Left4Dead. Ti odvážnější z vás si mohou stáhnout a zkompilovat zdrojové kódy přes SVN (pokud nevíte co to je, nezkoušejte to), binárky zatím k dispozici nejsou, ale dle screenshotů a informací od autorů hra vypadá slibně.



Takže kde to můžu stáhnout?



Tady se vždy nachází nejnovější verze sauerbraten, včetně verzí pro Linux a MacOS X. Poslední verze v době vydání článku je Justice Edition a přímý odkaz na verzi pro Windows (448 MB) naleznete zde. Příjemnou palbu!





Vozka

autor
Vojtěch Vozáb / Vozka

Publikováno: 24.01.2011


další články této kategorie





diskuze

odeslat

Nejsi automat? Napiš výsledek 2 + 5 =

D.A.M.I.E.N. | 13.07.11 v 01:59

U Red Eclipse se rozhodně nejedná a ani nebude jednat o žádný kooperativní survivor FPS, jako Left4Dead. Dalo by se to přirovnat spíše Alien Areně. Pravdou je, že něco takového je tam naznačeno v single playeru, v módu - campaign, ale na tom se ještě pracuje. RE je ale především vesmírná střílečka. Rychlá, zábavná akce s dobrou grafikou, unikátními možnostmi pohybu a přátelská komunita, to je Red Eclipse.