Obsah
1. Historie vývoje počítačových her (118. část – herní enginy v isometrických hrách)
2. Vývojářská společnost Ultimate Play the Game
6. Hry založené na Filmation Engine II
7. Herní engine Paula Shirleyho
1. Historie vývoje počítačových her (118. část – herní enginy v isometrických hrách)
V závěrečných kapitolách předchozí části tohoto seriálu jsme se zmínili o tom, že mnoho specializovaných i univerzálních herních enginů, stejně jako specializovaných jazyků určených pro popis herních obrazovek, můžeme nalézt ve hrách využívajících isometrické zobrazení. Tento způsob zobrazení se stal velmi populární především v období 1983 až 1990; což ale v žádném případě neznamená, že se s tímto typem zobrazení nesetkáme i u pozdějších her (viz například Diablo či mnohé strategické hry). Nicméně největší rozmach isometrických her lze skutečně hledat ve druhé polovině osmdesátých let minulého století (tj. v době osmibitových domácích mikropočítačů a osmibitových herních konzolí), přičemž velký vliv na tento vývoj měla společnost Ultimate Play the Game se svým přelomovým herním enginem nazvaným Filmation (pozdější verze nesla název Filmation II). O tomto enginu i o hrách v něm vytvořených se zmíníme v navazujících kapitolách.
Obrázky 1–4: Dvě verze hry Mikrotron (určené pro osmibitové mikropočítače PMD-85) využívající pro zobrazení herního světa isometrické zobrazení.
Isometrické hry vznikaly nejenom v profesionálních softwarových firmách na Západě, ale i v dosti odlišných tuzemských podmínkách. Za zmínku stojí především hra Hlípa Karla Šuhajdy určená původně pro domácí osmibitové mikropočítače PMD-85 a později portovaná i na další typy osmibitových mikropočítačů (Sharp…). Karel Šuhajda ještě před vytvořením Hlípy naprogramoval graficky podobnou hru nazvanou Mikrotron. Ovšem teprve s naprogramováním hry Hlípa vznikla herní legenda známá nejenom mezi československými hráči. Kouzlo Hlípy spočívá jak v propracovaných herních pravidlech, tak i v naprosto precizní animaci hlavní postavičky (Hlípy). Na statických obrázcích kouzlo animace nevynikne, proto se raději podívejte na video s řešením celé hry (zde je k dispozici i alternativní formát).
Obrázky 5–16: Hra Hlípa založená na isometrickém zobrazení trojrozměrného světa, která na první pohled zaujme propracovanou animací hráče.
2. Vývojářská společnost Ultimate Play the Game
Jméno vývojářské společnosti Ultimate Play the Game by mohlo (resp. dokonce si dovolím napsat že mělo :-) být známé především majitelům osmibitových domácích mikropočítačů ZX Spectrum, protože tato firma pro tento typ počítače vytvořila mnoho přelomových her, a to jak her čistě dvourozměrných, tak i her založených na vlastním isometrickém enginu. Z 2D her se můžeme zmínit například o populární hře Jetpac či velmi podobné hře Lunar Jetman, ovšem nelze zapomenout ani na hry, v nichž jako hlavní hrdina vystupuje Sabreman (Sabre Wulf, Underwurlde, …). Společnost Ultimate Play the Game založil Tim Stamper společně se svým bratrem Chrisem; později oba bratři založili další společnost nazvanou Rare, která vyvíjela hry pro herní konzole – odtud pochází i některé díly ze série Donkey Kong.
Obrázek 17: Načítání hry Jetpac (ZX Spectrum a jeho „atributová“ grafika).
Čistě dvourozměrná hra Jetpac (což je zkomolenina plného názvu „jet pack“) vznikla již v roce 1983 a zajímavé je, že jí pro běh postačovalo pouze šestnáct kilobajtů paměti, z nichž necelých sedm kilobajtů bylo navíc použito pro uložení grafických dat (obrazová paměť, v moderním označení framebuffer). Hráč zde ovládá kosmonauta, který má v každém levelu složit raketu, naplnit ji palivem a odletět s ní do další obtížnosti. Tato hra používá režim wrap screen, což umožňuje hráči přeletět přes okraj obrazovky podobně, jako je tomu například i ve hře Asteroids (v této hře je ovšem zvolen rozdílný způsob ovládání).
Obrázek 18: Herní prostředí Jetpac-u. V pravé části obrazovky jsou zobrazeni tři nepřátelé, u nichž je patrné vzájemné překreslování barev na hranici dvou bloků o velikosti 8×8 pixelů.
Ve stejném roce, kdy vznikla hra Jetpac, vydala společnost Ultimate Play the Game i další hru s podobnou tématikou i stejným hlavním hrdinou. Tato hra se jmenuje Lunar Jetman a je mj. zajímavá i tím, že jde o první hru firmy Ultimate Play the Game, která již vyžadovala počítač ZX Spectrum s plnými 48 kilobajty operační paměti, zatímco předchozí hry mohly pracovat i na levnějším modelu s pouhými šestnácti kilobajty RAM.
Obrázek 19: Načítání hry Lunar Jetman (ZX Spectrum).
Hra Lunar Jetman je již po herní stránce poněkud složitější, protože hráč ovládá nejenom kosmonauta, ale může využít i lunární vozítko (lunochod?), s nímž se může pohybovat po povrchu měsíce. Lunochod, který je možné vylepšit o dělo, je navíc imunní proti nepřátelům, s výjimkou raket, které jsou vystřeleny po vypršení času stanoveném pro jeden level. Dalším rozdílem je fakt, že se kromě času počítá i spotřeba paliva, takže hráč nemá při svém pohybu v herním světě takovou svobodu jako v jednodušším Jetpacu.
Obrázek 20: Herní prostředí hry Lunar Jetman.
3. Filmation engine
Mezi další známé dvourozměrné hry této firmy patří Pssst (1983), Atic Atac (1983) či Cookie (pocházející z téhož roku jako předchozí dvě hry), ovšem za zmínku stojí především herní série, v níž jako hlavní hrdina vystupuje Sabreman. První dvě hry patřící do této série vyšly v roce 1984 – jedná se o Underwurlde a Sabre Wulf. Zajímavé je, že obě hry využívaly rozdílný způsob pohledu na herní svět, protože v případě Underwurlde byl hráč i herní scéna zobrazena zboku (podobně jako u klasických platformovek), zatímco ve hře Sabre Wulf bylo použito zobrazení herního světa z mírného nadhledu. Nicméně revoluční byla třetí hra této série – Knight Lore. V této hře byl totiž poprvé použit přelomový herní engine nazvaný Filmation engine, jenž umožňoval zobrazení jednotlivých místností (či spíše přesněji řečeno lokací) v isometrickém promítání, a to včetně přesných výpočtů viditelnosti.
Obrázek 21: Dobový box na kazetu s Knight Lore (podobný box existoval i pro další počítače, na něž byla tato hra portována).
Pro všechny hry využívající původní Filmation engine (Knight Lore, Alien 8, Pentagram) je typické rozdělení celého herního světa na jednotlivé lokace, mezi kterými hráč přechází v přesně určených východech. Při přechodu do další lokace dojde k překreslení celé obrazovky, což znamená, že tento engine využívá takzvaný režim flip screen. Navíc Filmation engine umožňuje přidat do jednotlivých lokací NPC (počítačem řízené protivníky) i různé předměty. Tento princip byl velmi oblíben a později mnohokrát napodoben; na tomto místě se můžeme zmínit například o modernější hře Head Over Heels či o titulu Cadaver vytvořeného později další slavnou vývojářskou společností – Bitmap Brothers.
Obrázek 22: Loading screen hry Knight Lore na počítači ZX Spectrum.
Všechny hry vytvořené s využitím původního Filmation engine jsou vypsány v následující tabulce:
# | Hra | Rok vzniku |
---|---|---|
1 | Knight Lore | 1984 |
2 | Alien 8 | 1985 |
3 | Pentagram | 1986 |
4. Knight Lore
„This slightly cryptic puzzle/platform adventure defined isometricism in the same way Super Mario 64 defined 3D“
„One of the most successful and influential games of all time“
První počítačová hra založená na Filmation enginu se jmenovala Knight Lore. Původně byla tato hra vydána v roce 1984, a to pro populární osmibitové domácí mikropočítače ZX Spectrum, ovšem později byla hra (a samozřejmě i herní engine) převedena na další typy počítačů, například na Amstrad CPC, MMX či BBC (Model B). Až o mnoho let později vznikly, i když neoficiálně, konverze Knight Lore, na osmibitové mikropočítače Atari, což je zajímavé především z programátorského hlediska, protože tyto mikropočítače byly vybaveny zcela odlišným typem mikroprocesoru (Zilog Z80 versus MOS 6502) a především pak ve všech ohledech odlišnou strukturou grafické paměti. Oba bratři tvořící softwarovou společnost Ultimate Play the Game si byli vědomi, že vydávají přelomovou hru, takže její oficiální uvedení na trh schválně pozdrželi, aby nebyl negativně ovlivněn prodej jejich předchozí hry Sabre Wulf.
Obrázek 23: Poměrně nedávno byla tato hra upravena i pro osmibitové mikropočítače Atari.
Ve hře Knight Lore se již ukazují všechny vlastnosti Filmation enginu – graficky velmi pěkně zpracované isometrické zobrazení jednotlivých místností v monochromatickém provedení (což zcela odstranilo problémy s barvovými atributy na ZX Spectru), pohybliví protivníci, přenositelné předměty, brány či pohyblivé platformy. Navíc autoři do hry přidali jeden originální prvek – hlavní hrdina (Sabreman) se v noci proměňuje ve vlkodlaka, přičemž po této proměně na něj začnou útočit i původně neutrální NPC, včetně samotného kouzelníka Melkhiora. Postupné plynutí času (den/noc) je zobrazeno formou střídání ikon slunce a měsíce. Díky velmi příznivému přijetí této hry jak mezi kritiky, tak i mezi samotnými hráči začala firma Ultimate Play the Game tvořit další isometrické hry a navíc začal být její engine napodobován i dalšími vývojáři.
Obrázek 24: Herní prostředí hry Knight Lore (vpravo dole si všimněte ikony slunce).
5. Alien 8 a Pentagram
Zatímco se celá herní série Sabreman odehrává v jakémsi fantasy světě, je tomu v případě druhé hry založené na původním Filmation engine jinak. Tato hra se jmenuje Alien 8 a hráč v ní namísto sympatického „muže se šavlí“ ovládá robota pohybujícího se v obrovské kosmické lodi, která je opět reprezentována formou vzájemně propojených místností (při pohledu na mapu je patrný celkový tvar lodi). Úkolem robota je nalézt všechny prvky kryogenického systému a vrátit je na správná místa (tedy nikoli do jedné místnosti, jako tomu bylo v předchozí hře). V některých místnostech se opět nachází pohyblivé či mizící platformy, ovšem navíc může robot ovládat i drony, které je možné využít v nebezpečných či dokonce nedostupných místnostech. I tato hra byla velmi dobře hodnocena, podobně jako její předchůdce – jako jedna z předností se uváděl fakt, že nejde o prostou kopii Knight Lore do sci-fi prostředí.
Obrázek 25: Loading screen hry Alien 8 na počítači ZX Spectrum.
Obrázek 26: Loading screen hry Alien 8 na počítači Atari.
Obrázek 27: Herní prostředí hry Alien 8 (Speccy).
Obrázek 28: Herní prostředí hry Alien 8 (Atari).
Třetí a současně i poslední počítačová hra založená na původní verzi Filmation engine se jmenuje Pentagram. V této hře opět jako hlavní hrdina vystupuje Sabreman, jehož úkolem je nalézt a obnovit magický artefakt Pentagram (samotný pentagram je nakreslen na podlaze, musí se však k němu donést správné předměty). Herní engine v této hře doznal několik změn, především se zde (vůbec poprvé) objevuje možnost vzdáleného útoku na NPC. Právě kvůli možnosti střelby se změnilo i ovládání hry, protože tlačítko joysticku již nebylo možné použít pro skoky (bylo obsazeno kouzlem pro střelbu). I samotný příběh této hry je komplikovanější, než tomu bylo v Knight Lore a Alien 8. Zajímavě zpracovaná mapa této hry je dostupná na adrese http://wos.meulie.net/pub/sinclair/games-maps/p/Pentagram2.jpg.
Poznámka: jméno Pentagram se objevuje i v dalších souvislostech, například jde o jméno herního engine pro Ultimu 8, což však nijak nesouvisí s původní hrou.
Obrázek 29: Loading screen hry Pentagram na počítači ZX Spectrum.
Obrázek 30: Herní prostředí hry Pentagram (Speccy).
6. Hry založené na Filmation Engine II
Společnost Ultimate Play the Game již v době, kdy postupně vycházely hry Knight Lore, Alien 8 a Pentagram založené na první verzi Filmation enginu, vytvořila i druhou verzi tohoto nástroje. Filmation Engine II již obcházel režim split screen, protože se celá scéna – opět zobrazená s využitím isometrického promítání – relativně plynule posunovala společně s pohybem hráče. Aby však nedocházelo k tomu, že bude hráč skrytý například za vysokými zdmi, dokázal tento engine zdi před hráčem (resp. zdi nacházející se mezi pozorovatelem a hráčem) skrýt a zobrazit jen jejich půdorys, což se nakonec stalo typickým znakem obou her, které tento herní engine využívaly – viz též následující tabulku:
# | Hra | Rok vzniku |
---|---|---|
1 | Nightshade | 1985 |
2 | Gunfright | 1986 |
Obrázek 31: Hra Martianoids sice taktéž využívá isometrické zobrazení, ovšem ve skutečnosti není založena na Filmation engine, ale využívá engine vlastní.
Tento herní engine navíc umožňoval převrácení pohledu na herní svět o 180°, což je vlastnost, kterou nalezneme i u dále popsaného enginu použitého ve hře Spindizzy. Z obou her používajících tento herní engine je (alespoň podle mého názoru) zajímavější hra Nightshade, a to z toho důvodu, že se v ní objevuje zajímavý koncept – ve hře se nachází čtyři „bossové“, z nichž každého je možné zničit jiným předmětem, konkrétně s použitím Bible, kladiva, krucifixu a přesýpacích hodin. Taktéž zde již nenajdeme typicky monochromatické místnosti, ale již je patrná snaha o lepší využití barvových atributů.
Obrázek 32: Loading screen hry Nightshade na počítači ZX Spectrum.
Obrázek 33: Loading screen hry Nightshade na počítači Atari.
Obrázek 34: Herní prostředí hry Nightshade (Speccy).
Obrázek 35: Herní prostředí hry Nightshade (Atari).
Obrázek 36: Herní prostředí hry Nightshade (Atari).
7. Herní engine Paula Shirleyho
Společnost Ultimate Play the Game nebyla jedinou vývojářskou společností, která pro osmibitové domácí mikropočítače vytvořila kvalitní isometrický herní engine. Poněkud jiným směrem se vydal Paul Shirley (který byl ovšem společností Ultimate ovlivněn, stejně jako slavnou automatovkou Marble Madness), jenž vytvořil vlastní engine umožňující isometrické zobrazení složitého bludiště, které mohlo obsahovat mosty, zešikmené plochy (na osmibitových počítačích novinka) skokánky, přepínače (při vstupu na přepínač se provedla nějaká akce) či pohyblivé platformy. Jednotlivé místnosti herního světa přitom byly popsány speciálním skriptem, čehož se mj. využívalo pro velmi úsporné uložení informací o místnostech v operační paměti – mnoho informací totiž mohlo být sdíleno a použito pro popis částí různých místností. Navíc herní engine obsahoval i jeden z prvních fyzikálních modelů použitých pro výpočet trajektorie hráče: působila na něj gravitace, ale i setrvačnost.
Obrázek 37: Spindizzy – načítání hry.
Obrázek 38: Spindizzy – úvodní obrazovka.
Obrázek 39: Spindizzy – hra obsahuje i nápovědu.
Obrázek 40: Spindizzy – začátek hry (povšimněte si počitadla místností).
8. Spindizzy
Paul Shirley použil svůj herní engine pro vývoj hry nazvané Spindizzy. Úkolem hráče bylo zmapovat poněkud šílený herní svět, který se skládal z 386 místností, přičemž je zajímavé, že díky použitému specializovanému skriptovacímu jazyku byl celý herní svět popsán pouze v pouhých jedenácti kilobajtech RAM. Jednotlivé místnosti mohly obsahovat mj. i zešikmené plochy, pohyblivé platformy (výtahy) atd. a hráč se mohl v závislosti na plněném úkolu rozhodnout, zda bude ovládat malý gyroskop, kuličku či jehlan postavený na špičku. Každý z těchto předmětů měl různé vlastnosti. Navíc mohl hráč do jisté míry ovlivnit rychlost ovládaného předmětu. Ovšem ve Spindizzy najdeme i mnoho dalších vylepšení, například možnost otáčet scénou o násobky 90 stupňů, což umožňuje řešit pohyb v komplikovanějších místnostech. Najdeme zde i mapu zobrazující doposud zmapované i nezmapované místnosti. Pokračování této hry vzniklo až pro mikropočítače Amiga: Spindizzy World.
Obrázek 41: Spindizzy – získat diamant na vrcholku této místnosti bez pádu není zcela triviální.
Obrázek 42: Spindizzy – pohybovat se lze i po zvýšených okrajích.
Obrázek 43: Spindizzy – fyzikální engine zvládá i výpočty přeskoků.
Obrázek 44: Spindizzy – mapa hry.
Obrázek 45: Spindizzy – jednoduché bludiště.
9. Odkazy na Internetu
- Hlípa
http://pmd85.djb-studios.com/wiki/Hlípa - Video s řešením hry Hlípa
http://pmd85.djb-studios.com/w/media/hlipa-riesenie.avi - Filmation (game engine)
http://en.wikipedia.org/wiki/Filmation_engine - Stránky věnované herní legendě Knight Lore
http://knightlore.sweb.cz/ - Knight Lore
http://www.worldofspectrum.org/infoseekid.cgi?id=0009366 - Knight Lore
http://www.spectrumabandonware.com/en/gameitems/knight-lore/58 - Knight Lore
http://en.wikipedia.org/wiki/Knight_Lore - Strategy wiki: Knight Lore
http://strategywiki.org/wiki/Knight_Lore - Alien 8
http://en.wikipedia.org/wiki/Alien8 - Alien 8
http://www.worldofspectrum.org/infoseekid.cgi?id=0009302 - Pentagram (video game)
http://en.wikipedia.org/wiki/Pentagram_(video_game) - Pentagram
http://www.worldofspectrum.org/infoseekid.cgi?id=0009389 - Nightshade
http://en.wikipedia.org/wiki/Nightshade_(1985_video_game) - Sabre Wulf
http://en.wikipedia.org/wiki/Sabre_Wulf - Spindizzy
http://en.wikipedia.org/wiki/Spindizzy_(video_game) - Spindizzy Worlds
http://www.gamefaqs.com/snes/588687-spindizzy-worlds/data - Underwurlde
http://en.wikipedia.org/wiki/Underwurlde - Boulder Dash
http://www.firststarsoftware.com/boulderdash.htm - Arno's Boulder Dash Fansite
http://www.boulder-dash.nl/ - Pinball Construction Set
http://en.wikipedia.org/wiki/Pinball_Construction_Set - Isometric projection
http://en.wikipedia.org/wiki/Isometric_projection - Oblique projection
http://en.wikipedia.org/wiki/Oblique_projection - Seriál o programovacím jazyku Lua (root.cz):
http://www.root.cz/serialy/programovaci-jazyk-lua/ - Domovská stránka systému LÖVE
http://love2d.org/ - Domovská stránka programovacího jazyka Lua
http://www.lua.org/ - Web o Lieru, Gusanos, GeneRally, Atari atd.
http://karelik.wz.cz/ - Web o Lieru, Gusanos
http://karelik.wz.cz/gusanos.php - GUSANOS
http://gusanos.sourceforge.net/ - GUSANOS Download
http://sourceforge.net/projects/gusanos/ - Lua
http://www.linuxexpres.cz/praxe/lua - Lua
http://cs.wikipedia.org/wiki/Lua - Lua (programming language)
http://en.wikipedia.org/wiki/Lua_(programming_language) - The Lua Programming Language
http://www.tiobe.com/index.php/paperinfo/tpci/Lua.html - Lua Programming Gems
http://www.lua.org/gems/ - LuaForge
http://luaforge.net/ - Forge project tree
http://luaforge.net/softwaremap/trove_list.php - gamedev.net: Lua
http://www.gamedev.net/reference/programming/features/lua/ - Category:Lua-scripted games
http://en.wikipedia.org/wiki/Category:Lua-scripted_games - Category:Lua-scriptable games
http://en.wikipedia.org/wiki/Category:Lua-scriptable_games - BZFlag
http://en.wikipedia.org/wiki/BZFlag - BZFlag.org
http://bzflag.org/ - GrimE
http://en.wikipedia.org/wiki/GrimE - Grim Fandango
http://www.mobygames.com/game/grim-fandango - Escape from Monkey Island
http://www.mobygames.com/game/escape-from-monkey-island - Angband na rephial.org
http://rephial.org/ - Angband.oook.cz
http://angband.oook.cz/ - Angband – stránka s možností downloadu hry
http://angband.oook.cz/download.php - Angband a její klony (varianty)
http://angband.oook.cz/variants.php - Další seznam klonů hry Angband (podrobnější)
http://roguebasin.roguelikedevelopment.org/index.php?title=List_of_Angband_variants - Angband (pevnost ve Středozemi)
http://en.wikipedia.org/wiki/Angband - Angband (hra)
http://en.wikipedia.org/wiki/Angband_(video_game) - Adventure International
http://en.wikipedia.org/wiki/Adventure_International - Stránky o firmě Infocom a jejích hrách
http://www.csd.uwo.ca/Infocom/ - Zork I: The Great Underground Empire (Moby games)
http://www.mobygames.com/game/dos/zork-the-great-underground-empire/reviews/reviewerId,4465/ - Zork I (Wikipedia)
http://en.wikipedia.org/wiki/Zork_I - Zork I Walkthrough
http://www.gamefaqs.com/pc/564446-zork-i/faqs - Zork I: The Great Underground Empire
http://www.csd.uwo.ca/Infocom/zork1.html - Zork II: The Wizard of Frobozz (Moby games)
http://www.mobygames.com/game/dos/zork-ii-the-wizard-of-frobozz - Zork II (Wikipedia)
http://en.wikipedia.org/wiki/Zork_II - Zork II: The Wizard of Frobozz
http://www.csd.uwo.ca/Infocom/zork2.html - Zork III: The Dungeon Master (Moby games)
http://www.mobygames.com/game/zork-iii-the-dungeon-master - Zork III (Wikipedia)
http://en.wikipedia.org/wiki/Zork_III - SAGA – Scott Adams Grand Adventure
http://www.msadams.com/index.htm - Player 4 Stage 1: The Productivity Eaters
http://www.thedoteaters.com/p4_stage1.php - Textovky.cz – Textovkářův ráj
http://www.textovky.cz/ - Scott Adams (game designer, Wikipedia)
http://en.wikipedia.org/wiki/Scott_Adams_(game_designer) - Interview with Scott Adams (Adventure Classic Gaming)
http://www.adventureclassicgaming.com/index.php/site/interviews/129/ - Scott Adams game interpreter
http://www.ifarchive.org/indexes/if-archiveXscott-adamsXinterpreters.html - Ohlédnutí za herní historií: Textovky
http://www.slunecnice.cz/tipy/ohlednuti-za-herni-historii-textovky/ - Richard Hewison – Level 9: Past masters of the adventure game
http://www.sinclairlair.co.uk/level9.htm - Level 9 Computing
http://en.wikipedia.org/wiki/Level9 - Worm in Paradise – Level 9 (CZ recenze)
http://sinclairzxspectrum.cz/software/recenze/worm_in_paradise.php - World of Spectrum: Jewels of Darkness
http://www.worldofspectrum.org/infoseekid.cgi?id=0011293 - World of Spectrum: Hry společnosti Level 9
http://www.worldofspectrum.org/infoseekpub.cgi?regexp=^Level+9+Computing+Ltd$&loadpics=1 - BASIC Computer Games (published 1978) – Hammurabi
http://atariarchives.org/basicgames/showpage.php?page=78 - Hamurabi – zdrojový kód v BASICu
http://www.dunnington.u-net.com/public/basicgames/HMRABI - Hamurabi (Wikipedia)
http://en.wikipedia.org/wiki/Hamurabi - Hammurabi naprogramovaný v JavaScriptu
http://www.hammurabigame.com/hammurabi-game.php