Hlavní navigace

Cube - špičková 3D akce

12. 2. 2003
Doba čtení: 6 minut

Sdílet

Skutečně kvalitně provedených 3D stříleček (tzv. FPS) je na trhu jako šafránu. Zakladatelé tohoto typu her (Quake nebo Unreal) totiž nasadili laťku hodně vysoko. Koncem roku 2001 se však objevila hra, která v dnešní verzi nechává spoustu komerčních napodobenin daleko za sebou. A je open source!

Bylo nebylo, za devatero optickými kabely a devatero satelitními anténami žije programátor Wouter van Oortmerssen, který pracuje pro softwarovou firmu orientující se na vývoj her. Rozhodl se vytvořit originální 3D engine, který by se tak trochu odlišoval od ostatních. Nakonec ho vydal pod otevřenou licencí, což byla ta nejlepší věc, kterou mohl udělat.

Tabulka č. 379

Samotný engine se jmenuje Cube a je dodáván, podobně jako Quake3, jako samostatná hra. Nic ale nikomu nebrání vystavět na tomto enginu hru vlastní, licence neomezuje. Engine Cube je napsán v jazyce C++ a využívá knihovnu SDL. Binárky hry jsou k dispozici pro systémy Linux a Windows. Nejprve si tedy řekněme, co Cube dovede jako 3D engine, teprve potom si něco povíme o samotné hře.

Cube samozřejmě umí načítat prostředí (mapy), kterých je ve hře požehnaně a dělají se samozřejmě další. Cube je ovšem zajímavý tím, že má v sobě zabudován vlastní editor a že nejsou mapy předkompilovány do binárních ořezávacích stromů (BSP). Cube načítá mapy přímo a dynamicky je zobrazuje. Je s podivem, že je takovéto načítání tak rychlé.

Tabulka č. 380

Tvůrci map mají poměrně dobré možnosti k realizaci. Cube si totiž nehraje na obdélníčky a umožňuje dělat i zakulaceniny. Ve hře se objevila také voda, která je velmi pěkně zpracovaná. Výsledný vzhled mapy hodně záleží na šikovnosti tvůrce. K dispozici mají konzoli, poměrně slušnou sadu příkazů a také jednoduchý prefixový skriptovací jazyk velmi podobný jazykům LISP nebo SCHEME. Díky tomu mohou vytvořit funkce, které se budou aktivovat při různých akcích (triggery). Mohou tedy otvírat dveře či dělat s mapou dynamické věci, což u kompilovaných map příliš nelze. Například stiskem tlačítka může zmizet celá zeď.

Samotná kvalita renderování není sice tak dokonalá, jako je u Quake3, ale s přehledem strčí do kapsy některé jiné komerční tituly. Cube podporuje 32 bitové textury či dynamická světla a stíny. Zajímavou vlastností je podpora LOD (level of detail), která umožňuje automaticky snižovat detaily vzdálenějších objektů v závislosti na výkonu grafické karty.

Tabulka č. 381

Co se týče fyziky či detekce kolizí, tak je prozatím na základní úrovni. Žádné pády mrtvol ze schodů tedy prozatím nečekejte a podobně je tomu také s inteligencí nepřátel při hře s počítačem. Jakmile zjistí vaši pozici, jdou po vás. Zasekávání v různých částech map je na denním pořádku a jsem zvědav, jak se s tím vývojáři poperou. Většina her má totiž pohyb botů (AI protivníků) pouze naskriptován po jasně daných cestách (waypoints).

Cube podporuje samozřejmě hru po síti a obsahuje také server, který běží na všech systémech s kompilátorem C++. Binární distribuce dokonce obsahuje binárky serveru pro BSD a jiné nelinuxové systémy, takže spustit Cube někde na serveru je snadné. Pro hru na stanicích musí jeden z hráčů manuálně zvlášť spustit server. Hra používá kvalitní knihovnu enet a dle dokumentace je síťová podpora na vysoké úrovni.

Tabulka č. 382

Poslední věcí, která si zaslouží samostatný paragraf, je editace map. Je totiž prováděna naprosti netradičně – přímo ve hře. Stiskem klávesy E se dostanete do editačního režimu, kde zaměřovačem označujete objekty a pokrýváte je texturami. Na konzoli pak zadáváte jednotlivé příkazy pro složitější operace, jako je vytvoření kulatiny, snížení hladiny vody a podobně. Díky tomu je vytváření map snadné a umožňuje to vyřádit se i těm, kdo se nechtějí učit jiné často poměrně složité editory map. Stiskem klávesy se vrátíte zpět z editačního módu (ve kterém létate jako spectator) a můžete se ihned po mapě proběhnout. Vzhledem k tomu, že většina dodaných map je na slušné úrovni (ve stylu Quake3), pravděpodobně je tento jednoduchý systém také efektivní a úspěšný. Má ale jednu zajímavou vlastnost. Na mapě totiž může pracovat více lidí zároveň, což je naprosto revoluční myšlenka. Jako kdybyste s kamarády stavěli veliké domy z písku.

Tabulka č. 383

Nyní se věnujme tomu, co se v Cube dá dělat – tedy hrát. Cube je dodáván jako klasická FPS střílečka, ve které můžete hrát deadmatch (i proti počítači) nebo procházet levely. Režim deadmatch je zvláště vhodný pro hru po síti. Režim singleplayer umožňuje procházet mapy a likvidovat hromadu nepřátel. K dispozici je asi desítka map, které jsou zpracovány ve stylu Quake2 (skladiště atp). Mezi příšerami najdete různé prasoještěry (známé z dooma) nebo podivné tři metry vysoké démony. Je zde bohužel vidět, že každou příšeru dělal jiný člověk. Cílem singleplayeru je pouze vystřílet vše pohybující se. Podobně jako v Quake2 se nehybné obludy rozpohybují, jakmile vás spatří. I když je proběhnutí singleplayeru časově nenáročné, máte možnost rozehrátou hru uložit na disk. Konečně Cube nabízí také SPDM režim, ve kterém hrajete proti „botům“ deadmatch. Je jich hodně, a jak píše autor v dokumentaci, jsou na vás hodně naštvaní :-) Jejich likvidace na nejtěžší úroveň je tvrdým oříškem i pro značně otrlé hráče FPS her, protože jediné, po čem všichni jdou, je vaše maličkost.

Ve všech typech her máte na výběr několik typů zbraní. Na mapě se vyskytuje tradičně brnění, náboje a také quad-damage. Boxerka (fist) je základní zbraní, kterou použijete, pokud vám dojde střelivo. Je poměrně učinná. Brokovnice (shotgun) samosebou nesmí chybět, její nevýhodou je, že má katastrofální kadenci a hodí se na přímé střety tělo na tělo. Rotační kulomet je oblíbenou zbraní na krátkou vzdálenost. Raketomet samozřejmě nechybí, jen má podle mého názoru poměrně veliký rádius ublížení na zdraví. Odstřelovačka (rifle) je jiná káva, má však kadenci ještě horší než brokovnice. Na velkou vzdálenost ovšem nemá nepřítel proti této obdobě zbraně railgun ze hry Quake3 sebemenší šanci. Ještě bych se zmínil, že ve standardní konfiguraci kolečko myší dolů vybírá zbraně na kratší vzdálenost a kolečkem nahoru zvolíte zbraně na velkou vzdálenost.

Tabulka č. 384

Po narození máte atypicky všechny zbraně, jen nemáte střelivo, které musíte nasbírat. Jedině do brokovnice máte pět nábojů, což vám jistě nebude stačit. Brnění je také nutnou podmínkou přežití a jeho sbírání je životně důležité. Na výběr máte brnění těžké (až 150%) a lehké. Lékarny jsou taktéž potřeba a na mapě se otáčejí normální, či velké (až 200%). Klasický quad-damage zvyšuje efektivitu zbraní, a to přesně na 20 sekund.

Zahrajete si na více jak 40 mapách. Většina je kvalitně zpracovaných. Celkově mají příjemnou pochmurnou náladu a jsou spíše abstraktního kalibru, pravděpodobně kvůli použitým texturám. Nevíte tedy, jestli jste na Marsu, nebo na Zemi. Výhodou je, že pokud nevlastníte mapu, která se zrovna hraje, můžete si ji díky příkazu getmap ze serveru automaticky stánhout a nainstalovat. Máte možnost si také zahrát speciální mutace hry, známé zejména ze hry Unreal Tournament. Podporovány jsou například týmová hra, instagib, duel či arena mode.

Trošku mi vadí, že na mapách nenarazíte na přílišné detaily. Kromě několika stromů a keřů, které představují pravděpodobně vrchol toho, co se dá s vestavěným editorem vytvořit, vás čekají pouze místosti, portály a plošiny. Ve hře také chybí možnost hrát CTF, což se v budoucnu zcela jistě změní. Dost mi také chybí možnost nastavit si gravitaci a docela rád bych si zahrál nějakou klasickou plošinovou mapu (např. hlavní boss ve hře Quake3) se sníženou gravitací a vystřelovacími rampami. Taková čistě plošinová mapa zatím chybí.

root_podpora

V současnosti Cube potřebuje zejména nové modely postav (formátu MD2), kvalitní open source textury, zvuky a hudbu. Proto vás prosím, pokud máte talent a trochu času, posílejte autorovi své výtvory. Ať jsou to originální textury z GIMPU, nebo nové mapy či zvuky. A administrátoři pozor, v oficiálním seznamu serverů zatím není žádný stroj z naší domény!

Homepage: wouter.fov120­.com/cube
Recenze na PlneHry.cz

Byl pro vás článek přínosný?

Autor článku