Hlavní navigace

Historie vývoje počítačových her (93. část – následovníci hry Elite)

5. 9. 2013
Doba čtení: 14 minut

Sdílet

V dnešní části seriálu o historii výpočetní techniky i o historii vývoje počítačových her se budeme zabývat popisem her, které byly přímo či nepřímo inspirovány slavnou hrou Elite popsanou minule. Kromě přímých pokračovatelů Elite (Elite Plus a Frontier) se zmíníme i o open-source hrách OOLite a Vega Strike.

Obsah

1. Historie vývoje počítačových her (93. část – následovníci hry Elite)

2. Rozšíření hry Elite na různé počítačové platformách

3. Elite Plus pro grafické karty EGA, VGA a MCGA

4. Frontier: Elite II

5. Technologické rozdíly mezi Elite a hrou Frontier: Elite II

6. Frontier: First Encounters

7. Přechod od programového renderingu k využití grafických akcelerátorů

8. OOLite aneb open source klon hry Elite

9. Vega Strike – další toulky „open source vesmírem“

10. Odkazy na Internetu

1. Historie vývoje počítačových her (93. část – následovníci hry Elite)

V předchozí části tohoto seriálu jsme se začali zabývat hrami, v nichž se poprvé objevil koncept takzvaných „otevřených světů“ (open worlds). Seznámili jsme se s dvojicí herních sérií: první série byla zahájena hrou nazvanou Mercenary: Escape from Targ, druhá série pak světoznámou hrou Elite. Zajímavé je, že i když obě hry byly vytvořeny jiným týmem programátorů, byly při jejich implementaci použity podobné techniky, především pak zobrazení trojrozměrného herního světa s využitím vektorů. Obě herní série taktéž hráčům nabídly volnost pohybu v herním světě, rozsáhlý prostor pro objevování i možnost velké svobody rozhodování (výběr strany v občanské válce na Targu; rozhodnutí, co bude hráč dělat v Elite). Dnes se zaměříme především na popis her, které byly odvozeny od původní hry Elite. Jedná se zejména o přímé následovníky, což jsou pochopitelně komerční hry (Elite Plus, Frontier), ovšem na Elite bylo postaveno hned několik open source her, například OOLite či Vega Strike.

Obrázek 1: Hra Elite Plus v režimu grafické karty VGA – opuštění kosmické stanice.

Obrázek 2: Hra Elite Plus v režimu grafické karty EGA – úvodní obrazovka.

Obrázek 3: Hra Elite Plus v režimu grafické karty EGA – informace o autorech.

Obrázek 4: Hra Elite Plus v režimu grafické karty EGA – klasická „předváděčka“ kosmických lodí.

Obrázek 5: Hra Elite Plus v režimu grafické karty EGA – část mapy Galaxie.

2. Rozšíření hry Elite na různé počítačové platformy

Ještě před popisem přímých i nepřímých následovníků Elite si řekněme, na jaké hlavní platformy vlastně byla původní hra Elite portována (a portace nebyla jednoduchá, neboť hra byla téměř kompletně naprogramována v assembleru). Jedinou rozšířenou osmibitovou platformou, na níž nebyla hra Elite oficiálně portována, jsou osmibitové mikropočítače Atari:

# Platforma Rok Poznámka
1 Acorn Electron 1984 nejjednodušší varianta, monochromatický režim
2 BBC+magnetofon 1984 4 barvy, bez misí
3 BBC+disk.mechanika 1984 klasické Elite, další verze jsou většinou odvozeny z této varianty
4 Commodore C64 1984 tři mise, podobné verzi pro BBC (ovšem zcela jiný grafický režim)
     
5 ZX Spectrum 1985 existence misí, u nás asi nejznámější varianta Elite
6 Apple II 1985 dnes mnohými taktéž považováno za klasiku (zejména v USA)
7 Amstrad CPC 1985 existence misí (odlišná od dalších verzí)
     
8 IBM PC 1987 popsáno minule, klasická Elite + použití vyplňovaných polygonů
9 Amiga 1988 používá vyplňované polygony a ne pouze vektory, existence misí
10 Atari ST 1988 dtto jako na Amize
11 NES 1991 podobné originálu, drátové modely, pravděpodobně bez misí

Obrázek 6: Elite Plus v režimu EGA – informace o hvězdné soustavě.

Obrázek 7: Elite Plus v režimu EGA – přesun hyperprostorem.

Obrázek 8: Elite Plus v režimu EGA – přesun hyperprostorem.

Obrázek 9: Elite Plus v režimu EGA – přesun hyperprostorem.

3. Elite Plus pro grafické karty EGA, VGA a MCGA

V roce 1991, tj. celých sedm let po vydání první verze Elite, vzniklo pro osobní mikropočítače IBM PC další pokračování hry Elite, které se jmenovalo Elite Plus. Zajímavé je, že programátorem této hry byl Chris Sawyer, s nímž jsme se již seznámili zejména v souvislosti se známými simulátory, konkrétně se sérií Transport Tycoon a především pak Transport Tycoon Deluxe. Základní koncept hry Elite Plus se sice příliš nelišil od původní hry Elite, došlo však k podstatnému vylepšení grafiky, což do značné míry souvisí s tím, že Elite Plus již podporovala grafické karty EGA, VGAMCGA. Nezávisle na vybrané grafické kartě byl podporován grafický režim s rozlišením 320×200 pixelů, lišil se však celkový počet barev – 16 barev při výběru karty EGA a 256barev při výběru VGAMCGA.

Obrázek 10: Hra Elite Plus se stále vejde na jednu disketu 720kB či 1440kB.

Poznámka: grafický adaptér MCGA, neboli celým názvem MultiColor Graphics Array, navrhla firma IBM pro svoji známou řadu počítačů PS/2, konkrétně pro modely PS/2 25 a PS/2 30 (jednalo se o nejnižší model z celé řady PS/2). V podstatě byla MCGA navržena jako značně zjednodušená a z tohoto důvodu i levná varianta grafické karty VGA; tato varianta měla být původně umístěna přímo na základní desku. Kapacita obrazové paměti byla v případě grafického adaptéru MCGA rovna 64 kB, přičemž z poměrně malé kapacity obrazové paměti pak vyplývají i omezené možnosti grafických režimů (320×200 s 256 barvami, 1 stránka), ale současně i již zmiňovaná nízká cena.

Obrázek 11: Elite Plus v režimu VGA – úvodní obrazovka.

Vraťme se však ke hře Elite Plus. Některé obrazovky, například obrazovka nákupu a prodeje (místní burza), obrazovka s informacemi o hvězdné soustavě a obrazovka s konfigurací kosmické lodě, byly po grafické stránce vylepšeny, pravděpodobně ve snaze přiblížit tuto hru i „běžným“ hráčům. Rozdíly mezi původní CGA verzí Elite (tu jsme si popsali v předchozí části tohoto seriálu) a EGA/VGA verzí Elite Plus můžete vidět na screenshotech. Oproti některým dalším variantám Elite zde najdeme i několik rozsáhlejších misí (které však hráč samozřejmě nemusí přijmout – osobní svoboda je v této hře stále na prvním místě). Nicméně je typické, že i přes všechna tato rozšíření se celá hra bez problémů stále vešla na jednu disketu (720kB či 1440kB).

Obrázek 12: Elite Plus v režimu VGA – informace o autorech.

Obrázek 13: Elite Plus v režimu VGA – klasická „předváděčka“ kosmických lodí.

Obrázek 14: Elite Plus v režimu VGA – začátek hry.

Obrázek 15: Elite Plus v režimu VGA – část mapy Galaxie.

Obrázek 15: Elite Plus v režimu VGA – informace o hvězdné soustavě.

Obrázek 16: Elite Plus v režimu VGA – nákup vybavení lodi.

Obrázek 17: Elite Plus v režimu VGA – burza.

4. Frontier: Elite II

Z předchozích kapitol je patrné, že hra Elite se poměrně rychle rozšířila na mnohé osmibitové domácí mikropočítače i osobní mikropočítače (dokonce i na herní konzoli NES) a že minimálně na IBM PC vznikla po grafické i herní stránce vylepšená hra Elite Plus. Ovšem vývoj výpočetní techniky se v roce 1984 (vznik první verze Elite) samozřejmě nezastavil a především osobní mikropočítače založené na mikroprocesorech Motorola 68000 (68010 a 68020) a taktéž Intel 80286 a 80386 (speciálně pak na svou dobu rychlý čip AMD 80386) již měly takový výpočetní výkon i takové grafické schopnosti, že bylo jen otázkou času, kdy pro tyto stroje vznikne nová hra, která nabízené možnosti náležitě využije. Připomeňme si, že původní Elite si vystačila s pouhými několika desítkami kilobajtů RAM (ZX Spectrum, BBC, C64, Apple II), za což ovšem hráči platili zjednodušeným herním světem, v němž se typicky v každé hvězdné soustavě nacházela jediná planeta s jedinou kosmickou stanicí. Navíc nebylo možné na planetách přistávat.

Obrázek 18: Intro ve hře Frontier: Elite II.

Herní série Elite po vzniku Elite Plus pokračovala tituly Frontier: Elite IIFrontier First Encounters. Ve hře Frontier: Elite II pocházející z roku 1993 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, přičemž vykreslování se samozřejmě provádělo programově, nikoli s využitím grafických akcelerátorů (jednalo se přitom o skutečnou 3D grafiku, která netrpěla omezeními známými z Wolfensteina či Dooma). 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 (PC). O portaci se nepostaral nikdo jiný než assemblerový mág Chris Sawyer.

Obrázek 19: Intro ve hře Frontier: Elite II.

Obrázek 20: Intro ve hře Frontier: Elite II.

Obrázek 21: Volba začátku nové hry.

Obrázek 22: Ve Frontierovi lze přistávat na planetách.

Obrázek 23: Část trojrozměrné mapy galaxie.

Obrázek 24: Parametry kosmické lodi vlastněné hráčem.

Obrázek 25: Požadavek na odlet se zadává z tohoto menu.

5. Technologické rozdíly mezi Elite a hrou Frontier: Elite II

Kromě na první pohled viditelných rozdílů v grafickém provedení hry se rozšířily i možnosti herního světa. Hvězdné soustavy nyní mohly obsahovat větší množství planet a okolo každé planety mohlo obíhat více kosmických stanic. Navíc, což je ještě důležitější, se na planetách nacházely porty, na nichž bylo možné přistát a začít obchodovat přímo na planetě. Již jen tato nová možnost si vyžádala velké změny v zobrazovacím engine, což je téma, kterému se budeme věnovat v následujících odstavcích.

Obrázek 26: Pohled na kosmickou loď (ta umí startovat kolmo, ovšem přesto se nachází na vzletové dráze).

Taktéž se změnil způsob ovládání kosmické lodi, který se nyní více podobá reálnému letu – namísto přímého řízení rychlosti a směru letu se totiž ovládá tah hlavních motorů a lodí je možné lokálně otáčet; ovšem samotné otočení ještě neznamená změnu směru pohybu (zjednodušeně řečeno – Frontier je z tohoto pohledu trojrozměrnou variantou hry Asteroids nebo Thrust). Kromě klasického obchodování či provozování pirátské živnosti :-) bylo možné i převážet pasažéry (popř. je vystřelit v záchranné kapsli, když si moc stěžovali :-), těžit suroviny atd. atd.

Obrázek 27: Další pohled na hráčovu kosmickou loď.

Již jsme se zmínili o tom, že se ve hře Frontier objevily trojrozměrné objekty potažené texturami. Veškeré vykreslování bylo prováděno programově, což samozřejmě znamenalo mnohem větší nároky na výpočetní výkon počítače (Intel 80286, Motorola řady M68k namísto původních osmibitových mikroprocesorů). Zajímavé je, že vykreslovací engine podporoval práci s vyplněnými kruhy i vyplněnými polygony s větším množstvím vrcholů (nešlo tedy jen o pouhé trojúhelníky), čehož bylo ve hře náležitě využito, což je ostatně patrné i ze screenshotů. Vylepšeny byly i modely kosmických stanic a kosmických lodí.

Obrázek 28: Start.

Obrázek 29: Takto pěkně je možné se rozmáznout o povrch planety.

Obrázek 30: Konec hry hned v prvním roce simulace.

Obrázek 31: Alternativní začátek hry na terraformovaném Marsu.

Obrázek 32: Základna na Marsu.

6. Frontier: First Encounters

Série Elite pokračovala titulem Frontier: First Encounters. Zajímavé je, že tato hra byla opět vytvořena Davidem Brabenem, spolutvůrcem původní hry a vydána společností Gametek. Jednalo se o vylepšenou hru Elite II: Frontier, ovšem pravděpodobně kvůli krátkému časovému harmonogramu se první vydání této hry stalo nechvalně známým velkým množstvím chyb, které byly postupně opravovány (poslední oficiální opravené vydání je verze 1.06). Pravděpodobně nejdůležitější novinkou v této hře bylo poměrně velké množství misí, které jsou popsány (i s řešením) například na stránce http://www.jades.org/missions.htm. Ve hře se nachází i několik misí, které nejsou zcela dopracovány a tudíž je většinou není možné splnit; jejich seznam naleznete na adrese http://www.jades.org/brokmiss.htm.

Obrázek 33: Burza.

Obrázek 34: Parametry hry Frontier.

Obrázek 35: Část trojrozměrné mapy Galaxie.

Obrázek 36: Základní parametry soustavy, kde se hráč právě nachází.

Obrázek 37: Základní parametry soustavy, kde se hráč právě nachází.

Obrázek 38: Další způsob zobrazení mapy Galaxie.

Obrázek 39: Opouštíme základnu.

7. Přechod od programového renderingu k využití grafických akcelerátorů

Vzhledem k tomu, že Elite byla jednou z prvních známějších her, v nichž se uplatnila skutečná trojrozměrná grafika, je zajímavé sledovat, jakým způsobem se projevil postupný vývoj grafických akcelerátorů na grafickém ztvárnění herního světa ve hrách, které po Elite následovaly. Původní Elite používala programové vykreslování objektů složených z vektorů (použit byl algoritmus skrývání skrytých hran) popř. z vyplněných polygonů. Ve dvojici her z řady Frontier jsme se již mohli setkat s použitím otexturovaných polygonů, což byl nepochybně krok vpřed. Po větším rozšíření grafických akcelerátorů se můžeme setkat hned s několika projekty, které se snažily upravit kód buď původní Elite nebo Frontier: Elite II/Frontier: First Encounters takovým způsobem, aby se v nich možnosti grafických akcelerátorů nějakým způsobem využily.

Obrázek 40: I k tomuto „Saturnu“ lze doletět.

Jedním z těchto projektů je GLFrontier, v jehož rámci autor přidal do hry Frontier: Elite II podporu pro knihovnu OpenGL a tedy i podporu pro hardwarově vykreslované otexturované polygony atd. Tento projekt naleznete na stránce http://tom.noflag.org.uk/glfron­tier.html, screenshoty pak na stránce http://www.frontierastro.co­.uk/Hires/hiresfe2.html.

Obrázek 41: Zaměření cíle letu.

Dalším podobným počinem byl převod hry Frontier: First Encounters do systému Windows s podporou Direct 3D. Screenshoty naleznete na stránce http://www.frontierastro.co­.uk/Hires/hiresffe.html, kde jsou i odkazy na stránky se stažením.

Obrázek 42: Zaměření cíle letu.

Obrázek 43: Hvězdná soustava Aster s dvojicí planet.

Obrázek 44: Další pohled na kolonii na Marsu.

Obrázek 45: Mapa Galaxie je skutečně trojrozměrná.

Obrázek 46: A toto je již naše Slunce…

8. OOLite aneb open source klon hry Elite

předchozí kapitole jsme se ve stručnosti zmínili o dvou projektech, v jejichž rámci byl původní vesmírný svět her Elite/Frontier zobrazován s využitím moderních grafických akcelerátorů. Nyní se musíme zmínit o dalším projektu, který se jmenuje OOLite; zde se tedy tvůrci přímo hlásí k myšlenkám původní hry Elite. O této hře již na Rootu vyšla podrobnější recenze, takže si jen ve stručnosti řekněme, že se jedná o další z několika klonů hry Elite, který byl ovšem navržen takovým způsobem, aby byla celá hra poměrně snadno rozšiřitelná pomocí doplňkových modulů. Ty mohly obsahovat například nové mise, příběhy, nové modely kosmických lodí atd. Pro zobrazování jsou využity možnosti grafických akcelerátorů a hru je možné si zahrát i na starším hardware: odzkoušeno na již skutečně obstarožním počítači s AMD Athlon 800, NVidia Vanta a 512 MB RAM.

Obrázek 47: Úvodní obrazovka hry OOLite se svým designem přímo hlásí k původní Elite.

OOLite najdete buď v repositářích své distribuce, popř. je možné si celou hru stáhnout z oficiálních stránek dostupných na adrese http://www.oolite.org/download. Zde lze najít binární verze hry jak pro Linux (bezchybná funkčnost odzkoušena na Fedoře, viz též screenshoty), tak i pro MS Windows a Mac OS. Osobně si myslím, že pokud někdo z mladších čtenářů již nezažil Elite, je OOLite dobrým vstupním bodem k tomuto oblíbenému hernímu žánru.

Obrázek 48: Začátek hry.

Obrázek 49: Start z kosmické stanice.

Obrázek 50: Mapa Galaxie.

Obrázek 51: Informace o systému, kde se hráč nachází.

Obrázek 52: Burza.

Obrázek 53: Otexturovaný povrch planety.

Obrázek 54: Koho tady máme…?

Obrázek 55: Pánové jsou nějak nervozní.

Obrázek 56: Pohled zpět (modré plameny šlehají z trysek naší kosmické kocábky)

Obrázek 57: Mapa Galaxie.

Obrázek 58: Ochrana planety.

Obrázek 59: Červí díra k další hvězdné soustavě.

Obrázek 60: Průlet červí dírou.

Obrázek 61: Průlet červí dírou.

Obrázek 62: Další nervózní pánové v kosmické lodi.

Obrázek 63: Další nervózní pánové v kosmické lodi.

Obrázek 64: Další nervózní pánové v kosmické lodi.

9. Vega Strike – další toulky „open source vesmírem“

I o další hře – Vega Strike – vyšel na Rootu samostatný článek, takže se jen stručně zmíním o tom, že jde o další hru (vydanou pod licencí GPL) inspirovanou sérií EliteFrontier. Zatímco se však OOLite poměrně věrně drží originálního designu, který je „pouze“ navlečen do líbivějšího grafického kabátku, můžeme najít ve hře Vega Strike i několik novinek a rozšíření, i když základ stále zůstává stejný – svobodná volba pohybu ve vesmíru, možnost převozu zboží, bojů, otevřený konec hry atd.

Obrázek 65: Konfigurace základní parametrů hry.

Zajímavé jsou i technologie, na kterých je tato hra postavena. Základ hry je naprogramován v C++ a pro trojrozměrnou grafiku se využívá knihovna OpenGL. Ovšem velká část hry je naprogramována i v Pythonu a v poměrně velké míře se zde používá i v XML (který lze považovat za deklarativní programovací jazyk :-), což dává vývojářům možnost relativně snadno do hry přidávat další funkcionalitu, například nové příběhy apod. Ostatně již v původní hře můžeme najít několik misí, ať již se jedná o mise postavené na pouhém převozu zboží, obranu nějakého objektu či o záchranu havarovaného pilota (většinou z planety, kde zuří nějaká místní válka).

Obrázek 66: Úvodní obrazovka.

Možností, jak si zahrát původní Elite či nějakou podobnou hru je tedy hodně. A nyní již nezbývá než čekat, jestli David Braben splní očekávání a vydá další díl Elite pro Nintendo 3DS :-)

Obrázek 67: Na vývoji této open source hry se podílelo opravdu velké množství lidí.

Obrázek 68: Začínáme – start z kosmické stanice.

Obrázek 69: Nabídka tréninku.

Obrázek 70: Zatrénujeme příště…

Obrázek 71: Ukázka schopnosti grafiků a designérů 3D modelů.

root_podpora

Obrázek 72: Ukázka schopnosti grafiků a designérů 3D modelů.

Obrázek 73: Popis ovládání.

10. Odkazy na Internetu

  1. Vega Strike (Root.cz)
    http://www.root.cz/clanky/vega-strike/
  2. OOLite (Root.cz)
    http://www.root.cz/clanky/oolite/
  3. Elite Manual
    http://www.eliteppc.com/ma­nual/manual.htm
  4. OOLite download page
    http://www.oolite.org/download
  5. The Evolution of 3D Gaming
    http://www.elitebastards.com/in­dex.php?option=com_conten­t&id=865:the-evolution-of-3d-gaming&Itemid=28
  6. The Evolution of 3D Gaming – The Evolution of 3D Gaming – Page 2
    http://www.elitebastards.com/in­dex.php?option=com_conten­t&id=865%3Athe-evolution-of-3d-gaming&Itemid=28&limitstart=1
  7. The Evolution of 3D Gaming – The Evolution of 3D Gaming – Page 3
    http://www.elitebastards.com/in­dex.php?option=com_conten­t&id=865%3Athe-evolution-of-3d-gaming&Itemid=28&limitstart=2
  8. Elite FAQ
    http://www.nvg.ntnu.no/bbc/doc/ga­mes/EliteFAQ.htm
  9. Root.cz: Elite – The New Kind
    http://www.root.cz/clanky/elite-the-new-kind/
  10. Mercenary
    http://en.wikipedia.org/wi­ki/Mercenary_(video_game)
  11. Mercenary
    http://mercenarysite.free­.fr/merce.htm
  12. Mapa hry Mercenary
    http://mercenarysite.free­.fr/m1moozescape.gif
  13. Oficialni mapa hry Mercenary
    http://mercenarysite.free­.fr/msurvkit_central_city­.jpg
  14. Atari A8 Games vs 5200 Games
    http://www.atariage.com/fo­rums/topic/169528-atari-a8-games-vs-5200-games/
  15. Procedurální modelování
    http://en.wikipedia.org/wi­ki/Procedural_generation
  16. Acorn Elite Pages
    http://elite.acornarcade.com/in­dex.htm
  17. Frontier Astro – Dedicated to Elite, Frontier and Astronomy
    http://www.frontierastro.co.uk/
  18. Frontier: Mise
    http://www.frontierastro.co­.uk/Missions/assassmenu.html
  19. Frontier: The Broken Missions
    http://www.jades.org/brokmiss.htm

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