Hlavní navigace

Historie vývoje počítačových her (92. část – otevřené světy)

29. 8. 2013
Doba čtení: 13 minut

Sdílet

V dnešní části seriálu o historii výpočetní techniky a vývoje počítačových her si popíšeme hry, v nichž byla využita myšlenka tzv. otevřených světů, což mj. pro hráče znamenalo značnou volnost pohybu, svobodné rozhodování a mnohdy i otevřený konec hry. Mezi nejznámější zástupce patří série Mercenary a Elite.

Obsah

1. Historie vývoje počítačových her (92. část – otevřené světy)

2. Procedurální generování herního světa, vektorové modely a další možnosti snížení nároků na paměť

3. Herní série Mercenary

4. Mercenary: Escape from Targ

5. Mercenary: The Second City

6. Herní série Elite

7. ELITEL vs. ELITES

8. Pokračování obou herních sérií: Frontier Elite II, Frontier First Encounters a Damocles

9. Odkazy na Internetu

1. Historie vývoje počítačových her (92. část – otevřené světy)

V dnešní části seriálu o historii výpočetní techniky i o historii vývoje počítačových her se na chvíli přestaneme zabývat popisem leteckých simulátorů, protože si popíšeme dvojici herních sérií, v nichž byl použit koncept takzvaného otevřeného světa, neboli open world. Hry tohoto typu se většinou vyznačují tím, že dávají hráčům velkou volnost pohybu, hráč může svobodně interagovat s NPC, nenajdeme zde lineární (naskriptovaný) děj atd. Mnoho her, v nichž je použit koncept otevřeného světa, se snaží dobře vyvážit již zmíněnou svobodu rozhodování s dějem či příběhem prezentovaným ve hře, i když zde většinou možnosti tvůrců poněkud zaostávají například za adventurami či klasickými textovkami, které jsou na vyprávění děje většinou postavené. Dále se hry s otevřeným světem vyznačují tím, že mají několik konců (i když cíl je předem známý) či dokonce ani nemají pevně stanovený cíl – ten si hráč zvolí sám.

Obrázek 1: Hra Elite byla portována na prakticky všechny významné osmibitové domácí počítače s výjimkou Atari, což by se však ještě mohlo napravit :-) Existuje totiž snaha o portaci této slavné hry, o čemž se ostatně můžete přesvědčit na tomto screenshotu.

Vzhledem k tomu, že hry s otevřeným světem většinou vyžadují, aby se hráč mohl svobodně pohybovat v rozsáhlém prostoru, mohlo by se zdát, že se tento typ her rozšířil až na moderních výkonných osobních počítačích s velkou kapacitou operační paměti. Ve skutečnosti však obě dnes popsané herní série – jak Mercenary, tak i Elite – pochází z poloviny osmdesátých let minulého století a kromě osobních počítačů byly portovány i na osmibitové domácí mikropočítače s 64 kB či dokonce jen s 48 kB operační paměti! Podobně je tomu například i u herní série Legend of Zelda, v níž se též objevuje koncept otevřených světů. Některé hry pocházející z této série lze provozovat na osmibitové herní konzoli NES (Nintendo Entertainment System) s pouhými několika kilobajty RAM a několika desítkami kilobajtů paměti EPROM instalovaných na paměťovém modulu.

Obrázek 2: Úvodní obrazovka hry Legend of Zelda ve verzi pro herní konzoli NES.

Obrázek 3: Legend of Zelda ve verzi pro herní konzoli NES.

2. Procedurální generování herního světa, vektorové modely a další možnosti snížení nároků na paměť

V předchozí kapitole jsme si řekli, že hry s konceptem otevřeného světa většinou hráčům nabídnou k prozkoumávání obrovské prostory, ať již se jedná o část Galaxie (herní série Elite) či o rozsáhlé město s podzemím (herní série Mercenary). Programátoři těchto her se kvůli tomu museli nějak vyrovnat s problémem uložení dat reprezentujících tyto světy v operační paměti. Již mnohokrát jsme se v tomto seriálu zmínili o tom, že na osmibitových domácích mikropočítačích či na osmibitových herních konzolích byla nainstalována paměť s kapacitou, která může dnešním programátorům (a o to více běžným hráčům) připadat zcela zanedbatelná – většinou se jednalo o pouhých 32kB, 40kB, 48kB či 64kB RAM, přičemž část RAM (průměrně sedm kilobajtů) bylo rezervováno pro potřeby obrazové paměti, tj. byl zde uložen framebuffer (+ data spritů). Aby bylo možné i do takto malého rozsahu RAM uložit obrovské světy, bylo nutné použít mnohé triky a optimalizace.

Obrázek 4: Město ve hře Mercenary je skutečně rozsáhlé a kromě toho v této hře najdeme i podzemní prostory a dokonce lze navštívit i kosmickou stanici.

Obě dnes popsané herní série mají společnou jednu vlastnost – všechny objekty jsou v nich reprezentovány formou jednoduchých drátových modelů (wireframe model) či modelů složených z polygonů, které bylo možné v operační paměti reprezentovat pouhými několika bajty či několika desítkami bajtů. Všechny objekty jsou totiž oproti celému světu velmi malé, takže se jednotlivé vrcholy vektorů drátového modelu či vrcholy polygonů v polygonovém modelu ukládají relativně vůči nějakému lokálnímu bodu. Se způsobem reprezentace herního světa i objektů souvisí i způsob zobrazení, v němž se používá vektorová grafika – vykreslování úseček, vyplněných plošných polygonů a v případě Elite se používají i algoritmy pro vykreslování kružnic a kruhů.

Obrázek 5: Mapa Galaxie ve hře Elite.

Dále bylo možné využít procedurálního generování herního světa, což se týká především herní série Elite, v níž je celý vesmír vždy (a to přímo při běhu hry) znovu vygenerován – viz též screenshot číslo 5 se zobrazením mapy Galaxie (v mnoha verzích Elite najdeme osm galaxií s 256 solárními systémy, původní číslo mělo však být mnohem vyšší – 248).

Obrázek 6: Úvodní obrazovka hry Mercenary: Escape from Targ ve variantě pro osmibitové domácí mikropočítače Atari.

3. Herní série Mercenary

Jedna z prvních známějších herních sérií, v nichž se objevil koncept otevřeného světa, byla herní série nazvaná Mercenary, za jejímž vývojem stála společnost Novagen Software. Hry, které v této herní sérii najdeme, lze považovat za zástupce akčních adventur s postupně odkrývaným dějem, v nichž má ovšem hráč velkou svobodu rozhodování a většina her z této série dokonce má několik alternativních konců závislých na tom, jakým směrem se hráč při řešení problémů prezentovaných ve hře vydal. První díly série Mercenary vznikly pro mnoho typů osmibitových domácích mikropočítačů i pro některé osobní mikropočítače (Amiga, Atari ST), ovšem u později vydaných dílů se již počet podporovaných systémů zmenšil ve prospěch výkonnějších osobních mikropočítačů. S tím souvisí i postupné změny ve způsobu zobrazení herního světa – původní drátové modely objektů začaly být nahrazovány modely používajícími vyplněné polygony, začínají se objevovat složitější budovy a stroje apod.

Obrázek 7: Intro (opět verze hry Mercenary: Escape from Targ pro domácí osmibitové mikropočítače Atari).

V následující tabulce jsou zapsány všechny oficiální díly a datadisky vydané v rámci herní série Mercenary. Povšimněte si, jak se okolo roku 1990 začíná vytrácet podpora pro osmibitové domácí mikropočítače:

# Název hry/datadisku Typ Rok vzniku 8bit počítače 16bit počítače
1 Mercenary: Escape from Targ hra 1985 ZX Spectrum, Atari, Commodore C64, Amstrad CPC Amiga a Atari ST
2 Mercenary: The Second City datadisk 1986 ZX Spectrum, Atari, Commodore C64, Amstrad CPC Amiga a Atari ST
3 Mercenary Compendium díl 1+2 1986 ZX Spectrum, Atari, Commodore C64, Amstrad CPC Amiga a Atari ST
4 Damocles hra 1990   Amiga a Atari ST
5 Damocles: Mission Disk 1 datadisk 1991   Amiga a Atari ST
6 Damocles: Mission Disk 2 datadisk 1991   Amiga a Atari ST
7 Mercenary III: The Dion Crisis hra 1991   Amiga a Atari ST

Obrázek 8: Intro – havárie na planetě Targ už je – zdá se – neodvratná.

Obrázek 9: Intro – kosmická loď spadne přímo doprostřed města (bod vlevo nahoře představuje kosmickou stanici obíhající planetu).

4. Mercenary: Escape from Targ

První díl celé série Mercenary nese název Mercenary: Escape from Targ. Původní verze této hry vznikla v roce 1985 na osmibitových domácích mikropočítačích Atari (tato verze byla použita pro vytvoření screenshotů do dnešního článku), ovšem později došlo k portaci této hry i na slavný počítač ZX Spectrum, neméně slavný Commodore C64, Atari ST i Amigu. Hlavním vývojářem Mercenary byl Paul Woakes (který již předtím pro počítače Atari vytvořil střílečku s názvem Encounter!, reklama na tuto hru se ostatně v Mercenary taky objeví), designem hry se zabýval Bruce Jordan a grafiku měl na starosti Mo Warden.

Obrázek 10: Takto „šikovně“ se kosmická loď zabořila do povrchu planety Targ.

Na začátku hry je nejdříve přehráno intro s jednoduchým příběhem – kosmická loď, v níž cestuje hráčovo alter ego, vlivem poruchy navigace havaruje, a to shodou okolností přesně doprostřed jediného města nacházejícího se na planetě Targ. Další shodou okolností právě na planetě Targ zuří válka mezi dvěma frakcemi. Na jedné (hodnější) straně sporu jsou Palyarové, na straně druhé (té temnější :-) pak Mechanoidi.

Obrázek 11: Jedna z budov nacházejících se na planetě Targ.

Probíhající válka znamená pro přeživšího hráče poměrně velkou šanci na získání nové kosmické lodě; postačuje se „pouze“ přidat na některou ze stran konfliktu a plněním různých úkolů vydělat potřebné kredity. Úkoly jsou rozličného druhu, například se jedná o zničení určité budovy, získání nějakého předmětu atd. Veškerá komunikace mezi hráčem a NPC probíhá přes jednořádkový terminál s běžícím textem, který se stal určitým poznávacím znakem všech her této série. Terminál počítače obsahuje také základní prvky použité při letu – kompas, měřič náklonu, rychloměr, výškoměr a ukazatel sektoru, v němž se hráč právě nachází.

Obrázek 12: Další vektorová budova na planetě Targ.

Jak jsem se již zmínil v předchozích kapitolách, má hráč velkou svobodu pohybu, může cestovat několika prostředky (základem je jednoduché letadlo typu Delta a když se nedaří, tak i chůze po vlastních nohou :-), může navštívit podzemní prostory a dokonce i kosmickou stanici, která nad planetou Targ obíhá (zde je nutné dát pozor na to, aby hráč nevystoupil ze stanice do volného prostoru, protože pád na planetu je poměrně zdlouhavý a na konci asi i bolestivý). K samotné hře byla dodávána mapa, nákresy některých budov i charakteristiky jednotlivých typů dopravních prostředků.

  1. Mapa hry Mercenary
    http://mercenarysite.free­.fr/m1moozescape.gif
  2. Oficialni mapa hry Mercenary
    http://mercenarysite.free­.fr/msurvkit_central_city­.jpg

Obrázek 13: Budovu lze jednoduše sestřelit, efektivně se pak sesype na zem. Většinou ovšem následuje pomsta té strany, které budova patřila.

Obrázek 14: Další ukázka architektury budov ve hře Mercenary: Escape from Targ.

Obrázek 15: Další ukázka architektury budov ve hře Mercenary: Escape from Targ.

5. Mercenary: The Second City

V roce 1986, tj. přibližně rok po vzniku hry Mercenary: Escape from Targ, bylo vydáno rozšíření této hry, které se jmenovalo Mercenary: The Second City (někdy nesprávně označováno jako Mercenary II). Jak již název tohoto rozšíření napovídá, zjistilo se, že se na planetě Targ nenachází pouze město z prvního dílu, ale i jiné město umístěné na druhé straně Targu. A právě zde se odehrává nový příběh.

Obrázek 16: Další ukázka architektury budov ve hře Mercenary: Escape from Targ.

Herní engine zůstal zachován, což znamená, že se všechny objekty ve hře vykreslovaly formou drátového modelu, u nějž nebyla počítána viditelnost (což je rozdíl oproti hře Elite). Ovšem aby se oba díly od sebe nějak více odlišovaly, byla zvolena jiná barvová paleta, takže se namísto zeleného povrchu a modrého nebe používá ve hře Mercenary: The Second City červený povrch Targu a nafialovělá barva atmosféry. Herní příběh byl taktéž změněn a hra je tak mnohem těžší na dohrání. Ve stejném roce byly oba dva díly Mercenary: Escape from TargMercenary: The Second City vydány společně pod názvem Mercenary Compendium.

Obrázek 17: Dvojice stodol.

Obrázek 18: Další stodola.

Obrázek 19: Reklama na hru Encounter! o níž jsem se zmínil.

Obrázek 20: Toto prapodivné :-) logo se objevuje v Atari verzi hry Mercenary!

Obrázek 21: Ovšem je ho možné snadno rozstřílet.

6. Herní série Elite

Druhou známou herní sérií, s níž se dnes seznámíme, je herní série začínající hrou Elite, o níž se před několika lety pěkně rozepsal Petr. První verze této hry vznikla již v roce 1984 a jejími autory jsou Ian Bell a David Braben (což jsou v oblasti vývoje her velmi známé osobnosti). Zajímavé je, že v době vzniku této hry měl David Braben 19 let a Ian Bell byl o pouhý jeden rok starší. Elite znamenala v oblasti vývoje her dosti velký průlom, protože se jednalo o jednu z prvních her s trojrozměrnou grafikou a otevřeným světem (Mercenary vznikl až o rok později). Navíc šlo o hru určenou i pro běžné osmibitové domácí mikropočítače, včetně ZX Spectra a je nutné říci, že vidět plynule rotující modely kosmických lodí na ZX Spectru byl v polovině osmdesátých let skutečný zážitek.

Obrázek 22: Jedna z variant hry Elite pro DOS má velikost pouhých 74 kilobajtů.

Obrázek 23: Úvodní obrazovka s předváděním kosmických lodí.

Navíc byl ve hře Elite koncept otevřených světů rozvinut do všech detailů, s čímž souvisí nejenom prakticky naprostá svoboda hráče, ale i fakt, že si hráč sám zvolí cíl, kterého chce ve hře dosáhnout. Je například možné se zabývat legálním obchodem a převážet zboží mezi několika hvězdnými soustavami; lze se však také přidat na stranu pirátů, pašovat zboží atd. atd. K dispozici má hráč obrovské vesmírné prostory a pokud má dostatek kreditů, tak si může například vylepšit svoji kosmickou loď atd. atd. Je to právě tato volnost pohybu a svoboda rozhodování, která udělal z Elite kultovní hru.

Obrázek 24: Informace o autorech.

Hra byla naprogramována v assembleru a vzhledem k absenci rastrových obrázků a textur měla velikost jen několika desítek kilobajtů. Portace hry na další platformy opět probíhala přes assembler, což je z dnešního pohledu téměř neuvěřitelné množství práce, která však byla dána nutností vykreslovat 3D scény i na počítačích vybavených osmibitovými mikroprocesory s taktovací frekvencí mnohdy nepřesahující jeden MHz.

Obrázek 25: Začátek hry.

Obrázek 26: Nákup paliva a vybavení pro kosmickou loď.

Obrázek 27: Burza.

Obrázek 28: Burza.

Obrázek 29: Mapa blízkých hvězdných systémů.

Obrázek 30: Informace o hvězdném systému.

Obrázek 31: Na čem se tak dá nejlépe vydělat?

7. ELITEL vs. ELITES

Pro osobní počítače IBM PC vzniklo hned několik variant hry Elite. Jednu z oficiálních variant, která byla distribuována společností Firebird, si popíšeme v této kapitole. Tato verze hry Elite podporovala grafické karty CGA, konkrétně jejich grafický režim s rozlišením 320×200 pixelů, přičemž zobrazit bylo možné celé čtyři barvy. Grafické možnosti počítačů PC s CGA se tak příliš nelišily od mnoha domácích osmibitových mikropočítačů, spíše byly horší :-)

Obrázek 32: Výběr způsobu vykreslování objektů ve hře Elite.

Zajímavé je, že existovaly dvě verze spustitelných souborů, přičemž v první variantě nazvané ELITEL.EXE byly všechny objekty ve hře vykreslovány pomocí vektorů, zatímco varianta druhá, jenž se jmenovala ELITES.EXE, již dokázala vykreslovat objekty pomocí polygonů vyplněných barvovým vzorkem. V obou případech se však správně počítala viditelnost, což je ostatně patrné i ze screenshotů. Volba jedné či druhé varianty Elite se prováděla buď přímým výběrem příslušného spustitelného souboru, nebo alternativně s využitím utilitky ELITE.COM, která uživatelům nabídla obě varianty (viz též screenshot číslo 32).

Obrázek 33: Tato verze Elite již poněkud nabobtnala, protože na osmibitových mikropočítačích nepřesahovala velikost spustitelného souboru zhruba třicet kilobajtů.

Obrázek 34: Režim vykreslování úseček (vektorů).

Obrázek 35: Režim vykreslování úseček (vektorů).

Obrázek 36: Režim vykreslování úseček (vektorů).

Obrázek 37: Mapa Galaxie.

Obrázek 38: Výpočet vzdálenosti k další hvězdné soustavě.

Obrázek 39: Přesun do jiné hvězdné soustavy pomocí hyperprostorových motorů.

Obrázek 40: Přesun do jiné hvězdné soustavy pomocí hyperprostorových motorů.

Obrázek 41: Režim vykreslování polygonů.

Obrázek 42: Režim vykreslování polygonů.

Obrázek 43: Režim vykreslování polygonů.

Obrázek 44: Režim vykreslování polygonů.

8. Pokračování obou herních sérií: Frontier Elite II, Frontier First Encounters a Damocles

Jak herní série Mercenary, tak i hra Elite se dočkaly několika pokračování. V případě Mercenary tvůrci po opuštění osmibitových platforem a kompletnímu přechodu na platformy osobních počítačů vydali v letech 1990 až 1991 sérii Damocles, která má s původním Mercenary mnoho společného, především svobodný pohyb hráčova alter ega v herním světě (původně byla hra Damocles dokonce prezentována jako Mercenary II). Oproti původní hře se především rozšířil operační prostor hráče z jediného města na celou planetární soustavu. Taktéž se změnilo prostředí hry, protože namísto původní války mezi Mechanoidy a Palyary je zde zcela jiné nebezpečí – kometa Damocles hrozí zničením celé planety. Hráč může celou situaci řešit celkem pěti možnými způsoby, přičemž evidentní řešení (zničení komety před dopadem) je jen jednou z variant.

Obrázek 45: Damocles pro Atari ST.

Herní série Elite pokračovala tituly Frontier Elite IIFrontier First Encounters. Ve hře Frontier Elite II se hráč opět setkává s otevřeným světem, který je však ještě dokonalejší a přesnější, než v případě původní hry Elite. Vzhledem k mnohem výkonnějším počítačům, na nichž hra Elite II byla provozována již bylo možné všechny objekty pokrýt texturami (vykreslování se samozřejmě provádělo programově). Zajímavé je, že původně byla Elite II naprogramována v assembleru mikroprocesorů Motorola 68000 (Atari ST, Amiga) a teprve později byla celá hra (přibližně čtvrt milionu řádků kódu!) přepsána do assembleru mikroprocesorů Intel 80286. O portaci se nepostaral nikdo jiný než assemblerový mág Chris Sawyer. Osobně považuji Elite II za jednu z vůbec nejlepších her portovaných na počítače se systémem DOS. Více si řekneme příště…

Cloud 24 - tip 1

Obrázek 46: Frontier First Encounters.

Obrázek 47: Frontier First Encounters.

9. Odkazy na Internetu

  1. Root.cz: Elite – The New Kind
    http://www.root.cz/clanky/elite-the-new-kind/
  2. Mercenary
    http://en.wikipedia.org/wi­ki/Mercenary_(video_game)
  3. Mercenary
    http://mercenarysite.free­.fr/merce.htm
  4. Mapa hry Mercenary
    http://mercenarysite.free­.fr/m1moozescape.gif
  5. Oficialni mapa hry Mercenary
    http://mercenarysite.free­.fr/msurvkit_central_city­.jpg
  6. Atari A8 Games vs 5200 Games
    http://www.atariage.com/fo­rums/topic/169528-atari-a8-games-vs-5200-games/
  7. Procedurální modelování
    http://en.wikipedia.org/wi­ki/Procedural_generation
  8. Acorn Elite Pages
    http://elite.acornarcade.com/in­dex.htm

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