Výzva s odměnou: stvořte „shareware“ FPS akci!

Pod Kapotou Hexena vol. 3

Stát se PATRONEM
high-voltage.cz

20 patronů přispívá částkou 2348 Kč měsíčně

Je to malá dvacka pro čtenáře, ale velká vzpruha pro HV! ;)

Ve hrách, které běží na Doom engine aka Id Tech 1, si můžete všimnout zajímavého pravidla - není možné hýbat se sektory. Můžete hýbat s podlahou (např. výtah) nebo se stropem (např. dveře), ale není možné třeba pohnout sloupem.

Avšak u Hexena už to tolik neplatí. Hned, jak začnete hrát první level, se objevíte před kaplí, do které můžete vstoupit. Když otevřete dveře od kaple, dveře nestoupají nahoru jako v Doomovi, ale obě křídla vrat se otevřou do stran. Navíc v kapli najdete takových objektů více. Hned za rohem je kamenná deska, která se otočí o 180° a začne na vás plivat firebally. V podzemí jsou pak drtiče, které vyjíždí ze zdí a mohou vás rozmáčknout.

Jak to, že Hexen najednou umí něco, co dlouho nebylo možné?

Pod Kapotou Hexena vol. 3

Tyhle pohybující se sloupy, dveře, stěny a jiné objekty jsou tzv. polyobjekty. A o těch bych vám chtěl dnes něco málo povědět. Jak tyhle polyobjekty fungují?

Popravdě nikdo doopravdy neví, jak polyobjekty fungují a mnoho lidí to do dnes považuje za černou magii. Každopádně když si načtete nějaký hexenovský level v editoru a podíváte na libovolný polyobjekt, zjistíte, že na daném místě vlastně není. Například dveře do kapličky na začátku prvního levelu nikde nejsou a vchod do kapličky je zcela bez dveří. Jak to?

Inu, ve skutečnosti se polyobjekty vytváří někde bokem mimo mapu v oddělené sekci, která se nazývá dummy sector. Stačí vymodelovat dveře nebo nějaký jiný objekt, otexturovat ho a je to. Teď ho musíte ale na dané místo přivolat.

Pod Kapotou Hexena vol. 3

Na daný objekt položíte speciální předmět, který je vidět pouze v editoru, ale ve hře přímo ne. Jmenuje se Polyobject Start Point. A pak na místo, kde onen objekt chcete vyvolat, položíte předmět jménem Polyobject Anchor. To ale není celé. Musíte ještě vybrat libovolnou stranu polyobjektu a nastavit jí funkci Polyobject Start Line. To furt ještě není všechno. Ještě je nutné propojit Start Point a Anchor. To se dělá za pomoci nějakých identifikačních čísel. Normálně se všechna ID různých objektů nastavují přes tagy, ale u polyobjektů se na to používá funkce direction, která za normálních okolností definuje u postav, kterým směrem budou koukat. Proč to tak je? Asi si to tvůrci přehnali s LSD, nevím. Každopádně by se polyobject měl v mapě konečně objevit.

Jenže nebude nic dělat. Jeho pohyb je pak nutné naprogramovat přes ACS (Action Code Script). Tj. jestli bude rotovat nebo se posunovat doleva, doprava a tak dále. Do jisté míry jdou některé akce pouze naklikat i bez programování, ale budete hodně omezeni.

Lze také nastavit tzv. mirror identifikační číslo, kdy dva polyobjekty budou dělat to samé zrcadlově, což se hodí třeba hned u zmíněných dveří do kapličky, kde je definována jen jedna strana dveří a druhá tu stejnou funkci zrcadlí. Toť vše.

Pod Kapotou Hexena vol. 3

Ještě pár zajímavostí. Za prvé, jednotlivé polyobjekty se musí skládat z "nicoty". Já totiž to, co je "mimo mapu", nazývám nicotou. A nicota může být i "uvnitř" v mapě. Dejme tomu, že vyrobíte sloup a dejme tomu, že ho vyrobíte tak, že nastavíte stejnou výšku podlahy a stropu. Nicméně sektor uvnitř ve sloupu stále existuje, jen není "vidět". Existuje ale i možnost vytvořit sloup, který je opravdu "nic". Stačí sloup vybrat, odškrtnout "double-sided", vypnout mu "druhou stranu" a pak uvnitř sloupu je "nic"... Když si pak ve hře aktivujete noclip cheat na procházení stěnami a vlezete do sloupu, octnete se "v nicotě". A polyobjekty musí být vždy "nicotou", jinak nebudou fungovat. S tím je spojen i fakt, že polyobjekty mají nekonečnou výšku. Není to tak, že třeba polyobjekt může být 1 metr vysoký. Ne ne... prostě je nekonečně vysoký. Právě proto, že je "nicotou".

Jednotlivé tvary polyobjektů jsou těžce omezené. Pokud vytvoříte jen nějaké dveře, tak fajn. Osobně jsem zkoušel třeba vytvořit rotující půlkruh a to celou mapu naprosto rozbilo. Tohle Hexen nedává - maximálně tak v GZDoom portu.

Pod Kapotou Hexena vol. 3

Celá tahle technologie působí hodně na sílu. Je poznat, že do hry byla implementovaná tak nějak všelijak, aby prostě nějak fungovala. Mnohdy je i zabugovaná a třeba přímo v Hexenovi v levelu Griffin Chapel je snadné bugnout hýbající se stěny tak, že se zaseknou, nebo vyletí "mimo mapu" apod.

Na druhou stranu to byl zajímavý způsob, jak trochu oživit umírající engine, který už brzy začaly nahrazovat pokročilejší nástupci. Zajímavé také je, že později si polyobjekty vypůjčil Doom. Modernější formáty jako ZDoom či UDMF umožňují v Doomovi tvořit vše, co uměl Hexen a dalších pár věcí navíc. Každopádně se v poslední době využívají spíše 3D modely exportované přímo do map, protože je s nimi trochu jednodušší práce. Takže tak.

Autor: Pollux

Rád hraju starší hry a pak o nich sepisuji své dojmy do textů a následně s nimi spamuju internet.

Komentáře k:
"Pod Kapotou Hexena vol. 3"

  • Viktor Špička napsal:

    Popravdě jak pro mne dnes je Doom především GZDoom ,tak jsem si těhle „vymožeností“ Hexena nikdy nevšimnul …Dobré ponaučení

  • frca napsal:

    Hexena jsem moc nehrál, ale pamatuju si, že tito „přibastlené“ featury na mě udělaly dojem hned v prvním levelu.

    • Sledge (admin) napsal:

      Já jsem si vlastně pak až zpětně uvědomil, že Doom neumí normální dveře, při hraní mi to vůbec nedošlo, jelikož je to sci-fi zasazení, byl ten vertikální pohyb naprosto akceptovatelný :)

  • Doomtrooper napsal:

    Tak na tohle si vzpomínám, v UDMF jsme takhle kdysi dělali objekty, šikmé plochy a sky boxy. Taky si pamatuju jaká to byla otrava když něco nechtělo fungovat, frustrovaně jsem to pak jsem to vytvořil stejně znova hned vedle a už to šlapalo. Jsem rád že už jsou tyhle dny pryč, zjistil jsem že s přibývajícím věkem mám daleko nižší toleranci k tomu když nefunguje něco co fungovat má :D

  • mikessch napsal:

    a co delat treba neco uzitecneho?

    • Greg napsal:

      Tohle je hodně užitečné a poučné. Pollux patří za takovéto články velké uznání a slova díků.

      Je zajímavé jak se s tím programátoři v té době popasovali a s jakými omezeními se museli potýkat a přesto vytvořili něco tak úžasného.

    • Powerack napsal:

      Hele ty vykopávko, když k tomu nemáš co říct, tak sem neser nesmyslný rady, který nikoho nezajímají a sám jdi dělat něco užitečnýho. Jestli si chceš zaspamovat, zkus to u mně :-D

      Tyhle články jsou dobrý. Já jich sice většinu, protože to třeba není o hře, která by mně osobně zaujala, ale spousta lidí tady kolem se na tyhle články těší a rádi si počtou.

  • WIFT napsal:

    Jo, že je Doom vlastně 2D, jsem si poprvé všimnul taky v souvislosti s nějakým editorem. Iluze 3D byla dokonalá.

  • Laaca napsal:

    Takže, šly by dát normálně se otevírající dveře i do levelu v Doom?
    Myšleno v originálním Doomu, ev. v základních extenzích jako MBF nebo EDGE.

    • pollux-odhlášen napsal:

      Jen pokud ta mapa bude ve formátech Zdoom nebo UDMF..

      A ty půjdou rozchodit jen v Gzdoomu…

      Boom ani MBF ani Edge tohle nedávají.

  • jvempire napsal:

    Mám moc rád tenhle druh článků, díky.

  • mance napsal:

    Doom 1-2 som hral iba zlomkovite, nudne, takze Hexen ani tolko, silene nudne, takze som si ani nevsimol, ze tam su tieto gheto vychytavky.

Přidej komentář (přihlášení / registrace)

(Komentáře s více jak 2 odkazy musí počkat na schválení.)

Podpořit finančním příspěvkem »
Shadow bazar, retro herní džungle