Historie vývoje počítačových her (63. část - Dwarf Fortress)

31. 1. 2013
Doba čtení: 14 minut

Sdílet

V dnešní části seriálu o historii výpočetní techniky se seznámíme s hrou Dwarf Fortress, která v sobě kombinuje prvky známé z klasických roguelike her s prvky, s nimiž se setkáváme spíše v budovatelských hrách typu SimCity či Transport Tycoon. DF je navíc doplněna konceptem otevřeného světa ve stylu Elite.

Obsah

1. Historie vývoje počítačových her (63. část – Dwarf Fortress)

2. Seven Day Roguelike Challenge (7DRL)

3. Dwarf Fortress aneb hra pocházející z alternativního světa

4. Generování herního světa

5. Herní režimy v Dwarf Fortress

6. Adventurer mode

7. Legends mode

8. Fortress mode

9. Odkazy na Internetu

1. Historie vývoje počítačových her (63. část – Dwarf Fortress)

V předchozích třech částech seriálu o historii vývoje výpočetní techniky jsme se zabývali převážně popisem historických a posléze i moderních roguelike her orientovaných zejména na objevování herního světa a samozřejmě i na boj či naopak spolupráci s protivníky, kteří v tomto světě žijí (popř. existují zde jako nemrtví). Mezi dnes již klasické herní tituly patří především Moria a Hack, z nichž se postupně vyvinuly další dodnes rozvíjené hry Angband (předchůdce: Moria), ToME (předchůdce: Angband), NetHack (předchůdce: Hack), ADOM (předchůdce: NetHack) či Dungeon Crawl a SLASH'EM (předchůdce v obou případech: taktéž NetHack). Ovšem nesmíme zapomenout ani na hry, jejichž autoři se sice roguelike žánrem nechali ve větší či menší míře inspirovat, ovšem ve výsledku vytvořili hry zcela originální; hry, které není možné jen tak jednoduše zaškatulkovat do všeobecně uznávaných kategorií.

Obrázek 1: Zjednodušený rodokmen roguelike her.

2. Seven Day Roguelike Challenge (7DRL)

The goal of the challenge isn't to spend seven days writing new FOV algorithms…

Některé z těchto taky-roguelike her vznikly v rámci soutěže nazvané příznačně „Seven Day Roguelike Challenge“ (7DRL), jejíž první ročník proběhl již v roce 2005. Striktně řečeno se nejedná o soutěž, kde by byl volen jeden vítěz, spíš se ze strany soutěžících jedná o ukázku jejich schopnosti a ochoty naprogramovat v pouhých 168 hodinách použitelnou roguelike hru (díky takto pojaté soutěži si vlastně kontrolu pravidel provádí sami na sobě přímo soutěžící). Na této soutěži vzniklo mnoho zajímavých a mnohdy i nekonvenčních roguelike her, například již v prvním ročníku to byla hra CastlevaniaRL:Prelude dostupná na adrese http://slashie.net/e107_plu­gins/forum/forum.php (inspiraci si autoři vzali ze známé komerční hry Castlevania, kterou jsme se již v tomto seriálu zabývali. Ve stejném roce vznikla ale i hra DiabloRL (http://diablo.chaosforge.org/), za jejímž vývojem stál programátor Kornel Kisielewicz, s nímž jsme se již seznámili v souvislosti se hrou DoomRL.

Obrázek 2: DoomRL – úvodní obrazovka využívající ASCII art.

Kromě sedmidenní soutěže proběhl minimálně i jeden ročník soutěže jednodenní, neboli „One Day Roguelike Challenge“ (1DRL). Zajímavé je, že ze sedmi soutěžících tři z nich skutečně dokázali v pouhém jednom dnu skutečně hru vytvořit a odladit (na rozdíl od jednoho méně úspěšného soutěžícího, který svoje dílu zhodnotil slovy „Failure; slept 15 hours and the „game“ got to be only @ moving on fancily colored dots.“).

Odkazy na další informační zdroje o 7DRL a hrách, které v rámci soutěže vznikly:

  1. Seven Day Roguelike Challenge (Roguebasin)
    http://roguebasin.rogueli­kedevelopment.org/index.php?ti­tle=Seven_Day_Roguelike_Cha­llenge
  2. 7DRL (Roguebasin)
    http://roguebasin.rogueli­kedevelopment.org/index.php?ti­tle=7DRL
  3. 7DRL Challenge 2012
    http://roguebasin.rogueli­kedevelopment.org/index.php?ti­tle=7DRL_Contest_2012
  4. How to Make a 7DRL
    http://www.gruesomegames.com/blog/?p=157
  5. CastlevaniaRL:Prelude
    http://slashie.net/e107_plu­gins/forum/forum.php
  6. DiabloRL
    http://diablo.chaosforge.org/

Obrázek 3: Mapa vygenerovaného herního světa Dwarf Fortress:

3. Dwarf Fortress aneb hra pocházející z alternativního světa

Konečně se dostáváme ke hře Dwarf Fortress, což je herní titul, který jeden recenzent charakterizoval jako hru pocházející z alternativního světa; konkrétně ze světa, v němž sice nevznikly moderní grafické karty ani grafické akcelerátory, programátoři se však o to více snažili o vytvoření dokonalé hry. Hra Dwarf Fortress je totiž založena hned na několika herních žánrech. Bezpečně zde poznáme inspiraci roguelike hrami, a to především v takzvaném „adventurer“ režimu, kdy může hráč (jehož alter ego je samozřejmě představováno znakem @) prozkoumávat vygenerovaný herní svět, studovat jeho historii, bojovat s monstry, obchodovat atd. atd. Hra Dwarf Fortress je však současně i budovatelskou strategií, tedy hrou patřící do kategorie, do níž náleží například světoznámá Civilizace, SimCity, Settlers, Simutrans či Transport Tycoon.

Obrázek 4: Úvodní animace hry Dwarf Fortress – vstup do herního světa.

Hra Dwarf Fortress sice ve výchozím nastavení používá pro zobrazování svého uživatelského rozhraní i herního světa grafickou knihovnu SDL – Simple DirectMedia Layer (http://www.libsdl.org/), ve skutečnosti je však tato knihovna použita v podstatě pro pouhé otevření okna, do něhož se vykreslují bitmapové znaky prakticky stejným způsobem, jako je tomu v případě emulátorů terminálů. Z pohledu uživatelů–hráčů se tedy hra Dwarf Fortress podobá dalším klasickým roguelike hrám. Tomu ostatně odpovídá i použitá barvová paleta, využívající standardních šestnáct barev používaných terminály. Nutno říci, že Dwarf Fortress v režimu napodobení textového terminálu vypadá velmi dobře, především ve chvíli, kdy je použito maximalizované okno, ovšem ani hráči, kteří dávají přednost „skutečné grafice“ nemusí být ochuzeni, protože již existuje velké množství takzvaných tileset, tedy sad obrázků využitelných pro vykreslení herního světa. Informace o některých sadách dlaždic lze nalézt na stránce http://dwarffortresswiki.or­g/index.php/v0.31:Graphic­s_set_repository.

Obrázek 5: Úvodní animace hry Dwarf Fortress – pokud jste to nepoznali, tak je zde zobrazen trpaslík-kovář.

Obrázek 6: Úvodní animace hry Dwarf Fortress – zde boj dvou trpaslíků.

Obrázek 7: Úvodní animace hry Dwarf Fortress – práce v dolu.

Obrázek 8: Hlavní menu hry Dwarf Fortress.

4. Generování herního světa

Hra Dwarf Fortress začala být vyvíjena již v roce 2002 a první (v podstatě již plně hratelná) verze se objevila o čtyři roky později, tj. v roce 2006. Autoři této hry, jimiž jsou Tarn a Zach Adams, prohlásili, že se bude jednat o jednu z nejpropracovanějších počítačových her vůbec a je nutno říci, že se jim tento slib podařilo splnit (na druhou stranu má však hra dosti komplikované ovládání). Propracovanost Dwarf Fortress a důraz na detaily je vidět již při vstupu do hry, neboť ještě před začátkem dobrodružství je nutné vygenerovat herní svět, v němž se budou všechna následující dobrodružství odvíjet. Generování herního světa pro nás není nic nového, neboť se jedná o vlastnost implementovanou v mnoha roguelike hrách. Ovšem zatímco se mnoho roguelike her spokojí s vytvořením několika (desítek) pater dungeonu, kde každé patro je tvořeno desítkou místností propojených chodbami, má herní svět Dwarf Fortress zcela jiné kvality, ať již se to týká jeho rozsáhlosti, tak úrovně detailů.

Obrázek 9: Testovací aréna.

Herní svět je vygenerován na základě několika jednoduchých parametrů zadaných uživatelem. Při generování jsou použity různé sofistikované algoritmy, včetně algoritmů pro generování terénu s využitím fraktálů (kvůli použití sofistikovaných algoritmů může vytvoření herního světa trvat i mnoho minut, v závislosti na jeho velikosti a rychlosti počítače). Celková velikost světa je volitelná, ovšem při volbě maximální velikosti se vytvoří v podstatě celý rozsáhlý kontinent, který může obývat větší množství civilizací, různá monstra i takzvané megabestie (megabeasts), mezi něž patří draci, pohyblivé bronzové kolosy atd. Herní svět je trojrozměrný, protože kromě jeho povrchu se v něm může nacházet množství jeskyní, dolů atd. V průběhu vytváření herního světa dojde i k vygenerování jeho historie, která může být buď ihned dostupná hráčům, nebo je možné historii „skrýt“ a následně postupně odkrývat při komunikaci s počítačem řízenými postavami, zkoumáním historických předmětů (mincí…) i prozkoumáváním opuštěných dolů či pevností.

Obrázek 10: Poměrně rozsáhlý manuál, který je nezbytnou součástí hry.

Obrázek 11: Tvorba míst s vodou a magmatem v testovací aréně.

Obrázek 12: Další část manuálu.

Obrázek 13: Různé ikony představující trpaslíky (použito v režimu fortress).

5. Herní režimy v Dwarf Fortress

Hra Dwarf Fortress se ve skutečnosti skládá minimálně ze dvou značně odlišných her, jejichž společným znakem je, že se odehrávají ve stejném herním světě (v němž se jakákoli větší operace provedená hráčem stává jeho historií a hráč samotný pak legendou, ať již živou či mrtvou). Ihned po prvotním zdlouhavém, ale nezbytném vytvoření herního světa i s jeho historií je možné zvolit režim hry. K dispozici jsou tři, resp. od určitého okamžiku celé čtyři režimy:

  1. Dwarf Fortress Mode
  2. Reclaim Fortress (tento režim se objeví ve chvíli, kdy uživatel v předchozí hře ztratil pevnost)
  3. Adventure Mode
  4. Legends Mode

Obrázek 14: Log obsahující jednotlivé události související s životem hráče.

Kromě toho je možné ještě před vytvořením herního světa vstoupit do testovací arény, v níž si lze bez většího nebezpečí vyzkoušet některé funkce hry. V aréně je možné upravovat terén, modifikovat či vytvářet nové stavby, přidávat do arény monstra atd. Navíc je možné kdykoli začít ovládat jakékoli monstrum v roguelike režimu a projít se tak po aréně například v kůži gremlina.

Obrázek 15: Hmm, sice se mě snaží dohonit gremlin, ale mám štěstí, že nevidí za roh.

Obrázek 16: Dialog zobrazený před generováním herního světa.

Obrázek 17: Průběh generování herního světa.

Obrázek 18: Vytváření historie herního světa.

6. Adventurer mode

V režimu „dobrodruha“ se Dwarf Fortress promění v propracovanou roguelike hru. Hráč si totiž nejdříve musí vytvořit své alter ego, které je posléze v herním světě představováno obligátním znakem zavináče (@). Vlastní způsob vytvoření hráčova alter ega se podobá mnoha dalším RPG hrám – k dispozici je určitý počet bodů, které lze přiřadit jednotlivým vlastnostem hrdiny (síla, vytrvalost…). Posléze je hrdina přesunut do herního světa, a to do takové doby, aby nedošlo ke kolizi s již proběhlými hrami. To znamená, že pokud například skončila hra na stavění pevnosti, je při startu nové hry v režimu „dobrodruha“ hráč sice přesunut do stejného herního světa, ovšem o několik týdnů či měsíců později, než skončila předchozí hra (zde si ovšem lze zalaborovat s uloženými hrami a trošku si pomoci k jiným startovním parametrům :-).

Obrázek 19: Po prvotním vygenerování herního světa se změní hlavní menu hry.

V případě, že ve vygenerovaném světě existuje minimálně jedna civilizace, může hrdina při svém putování po kontinentu přijímat questy, není to však samozřejmě nutné, protože jedním ze znaků hry Dwarf Fortress je nejenom naprostá svoboda pohybu, ale i naprostá svoboda jednání. Zde můžeme vidět inspiraci například ve slavné hře Elite (kde byl ostatně herní svět taktéž generován, i když mnohem jednodušším způsobem) a naopak – Dwarf Fortress se stal inspirací pro kostičkový Minecraft. Vraťme se však k režimu „dobrodruha“. Hráč může cestovat po celém světě, prozkoumávat jeho zákonitosti atd. Po chvíli hraní například zjistí, že může použít takzvané „rychlé cestování“ a jakmile ho využije, tak bude překvapený tím, že na vzdáleném okraji kontinentu například neplatí mince nasyslené na jiném místě herního světa. Lepší je používat buď pouze zlaté mince, ale spíše drahokamy, které bývají snáze směnitelné. A takových překvapení na hráče čeká celá řada, včetně proměnlivého počasí.

Obrázek 20: Tvorba postavy pro adventurer mode.

Obrázek 21: Výběr charakteristik postavy.

Obrázek 22: Můžeme se pustit do průzkumu zatím neznámého světa.

Obrázek 23: Ale že se tolik věcí pronese…

7. Legends mode

Další režim se jmenuje Legends. Tento režim má smysl vyvolat ve chvíli, kdy je volba Reveal all history před generováním herního světa nastavena na volbu NO. Při použití této volby je totiž velká část historie vytvořeného herního světa skryta, ovšem dobrodruh ji může začít postupně odhalovat. Rozhovorem s lidskými (a mnohem častěji ne-lidskými) postavami lze zjistit historii jejich rodiny nebo celého rodu. Zkoumat je však možné i staré mince, navštívit opuštěné pevnosti atd. atd. K dispozici je i interaktivní historická mapa s možností zobrazení buď politické mapy (vybarvení políček na základě civilizace, která danou část mapy obsadila) nebo mapy geografické. Mapa se samozřejmě mění v čase, stejně jako samotný herní svět. Nejzajímavější je využít režim Legends ve chvíli, kdy je již v herním světě několik vybudovaných a opuštěných pevností, protože hráč při studiu historie herního světa narazí na svou vlastní minulost, samozřejmě popsanou z hlediska třetí osoby a tedy jiným stylem, než ji samotný hráč prožíval.

Obrázek 24: Herní prostředí v adventurer režimu.

Obrázek 25: Herní prostředí v adventurer režimu.

Obrázek 26: Herní prostředí ve fortress režimu.

Obrázek 27: Různé způsoby zobrazení mapy světa.

Obrázek 28: Stavět pevnost začíná sedm trpaslíků (bez Sněhurky…).

8. Fortress mode

Režim stavění pevnosti (fortress mode) je ve hře Dwarf Fortress nejzajímavější, ovšem taktéž nejsložitěji ovladatelný. Úkolem hráče (pokud se ovšem dá vůbec hovořit o úkolu, když vezmeme do úvahy absolutní volnost v konání) je vybudovat prosperující trpasličí pevnost. To samozřejmě není tak jednoduché, protože při budování pevnosti je nutné zajistit jak přísun potravin a alkoholu (každý trpaslík má navíc své preference), tak i dobývání nerostů, vyrábění předmětů denní spotřeby atd. atd. V poněkud zjednodušené podobě byly podobné úkoly součástí jedné známé historické hry – Settlers, ovšem s budováním (pevnosti, města, …) se můžeme setkat v mnoha takzvaných budovatelských strategických hrách. Tyto hry se od sebe liší především propracovaností celého modelu, který může být dosti jednoduchý (pokud se neomezíme pouze na budovatelské hry, tak jde o jedinou surovinu v Duně II, tři suroviny ve Warcraftu apod.), ovšem v případě Dwarf Fortress se komplikovanost surovinového modelu do značné míry podobá reálnému světu, což ocení zejména fajnšmekři.

Obrázek 29: Začátek dobrodružství.

Jak jsem se již zmínil v předchozím odstavci, je největším problémem tohoto režimu poněkud komplikované ovládání. To je jen částečně způsobeno ASCII grafikou, spíše se autoři snažili o vytvoření světa s komplexními pravidly a volností v jednání. Na druhou stranu by však bylo škoda se hrou Dwarf Fortress nezabývat jen kvůli jejímu ovládání, protože na Youtube existuje několik dobrých tutoriálů, které mohou začátečníkovi pomoci (osobně sice většinou dávám přednost textovému popisu před videem, ovšem v tomto případě je video mnohem názornější).

Obrázek 30: Na začátku je nutné vybrat dobré místo pro pevnost či důl.

Obrázek 31: Mezi starosti plánovače patří i obstarání dostatečného množství alkoholu.

bitcoin školení listopad 24

Obrázek 32: Podrobný pohled na okolí.

Obrázek 33: Práce je vždycky dost…

9. Odkazy na Internetu

  1. Dwarf Fortress main page
    http://www.bay12games.com/dwar­ves/index.html
  2. Dwarf Fortress feature page
    http://www.bay12games.com/dwar­ves/features.html
  3. The Dwarf Fortress Wiki
    http://dwarffortresswiki.or­g/index.php/Main_Page
  4. A Game from a Parallel (and Better?) Universe
    http://playthisthing.com/dwarf-fortress
  5. DwarfFortress.cz
    http://www.dwarffortress.cz/
  6. Phoebus' Graphic Set
    http://www.bay12forums.com/smf/in­dex.php?topic=57557.0
  7. ADOM II Homepage
    http://www.ancientdomainsof­mystery.com/
  8. ADOM Downloads
    http://www.adom.de/adom-ii/downloads/javawebstart/index.php
  9. Roguebasin: ADOM II
    http://roguebasin.rogueli­kedevelopment.org/index.php?ti­tle=ADOM_II
  10. libtcod
    http://doryen.eptalys.net/libtcod/
  11. libtcod features
    http://doryen.eptalys.net/lib­tcod/features/
  12. libtcod games
    http://doryen.eptalys.net/games/
  13. Develop a roguelike from scratch
    http://www.adom.de/forums/show­thread.php/1214-Develop-a-roguelike-from-scratch
  14. Robots (BSD game)
    http://en.wikipedia.org/wi­ki/Robots_(BSD_game)
  15. Robotron: 2084
    http://en.wikipedia.org/wi­ki/Robotron:_2084
  16. Angrenost – brána do světa J.R.R.Tolkiena (nejedná se o popis hry)
    http://www.angrenost.cz/
  17. Angband na rephial.org
    http://rephial.org/
  18. Angband.oook.cz
    http://angband.oook.cz/
  19. Angband – stránka s možností downloadu hry
    http://angband.oook.cz/download.php
  20. Angband a její klony (varianty)
    http://angband.oook.cz/variants.php
  21. Další seznam klonů hry Angband (podrobnější)
    http://roguebasin.rogueli­kedevelopment.org/index.php?ti­tle=List_of_Angband_varian­ts
  22. Angband (pevnost ve Středozemi)
    http://en.wikipedia.org/wiki/Angband
  23. Angband (hra)
    http://en.wikipedia.org/wi­ki/Angband_(video_game)
  24. Doom, the Roguelike
    http://doomwiki.org/wiki/DoomRL
  25. Roguelike evolution
    http://roguebasin.rogueli­kedevelopment.org/index.php?ti­tle=Tree_of_roguelike_evo­lution
  26. Roguelike (Wikipedia)
    http://en.wikipedia.org/wi­ki/Roguelike
  27. Brogue Home Page
    https://sites.google.com/si­te/broguegame/
  28. Brogue (Roguelike wiki)
    http://roguebasin.rogueli­kedevelopment.org/index.php?ti­tle=Brogue
  29. Zangband.org
    http://www.zangband.org/
  30. Dungeon crawl (Wikipedia)
    http://en.wikipedia.org/wi­ki/Dungeon_crawl
  31. Don D. Worth Home Page
    http://worth.bol.ucla.edu/
  32. Beneath Apple Manor (PC verze)
    http://worth.bol.ucla.edu/ap­plemanor.ZIP
  33. Beneath Apple Manor (Moby Games)
    http://www.mobygames.com/game/beneath-apple-manor
  34. Chronology of roguelike video games (Wikipedia)
    http://en.wikipedia.org/wi­ki/Chronology_of_roguelike_vi­deo_games
  35. Roguelike wiki
    http://roguebasin.rogueli­kedevelopment.org/index.php?ti­tle=Main_Page
  36. Rogue Temple (fórum)
    http://www.roguetemple.com/fo­rums/index.php
  37. Top MUD Sites
    http://www.topmudsites.com/
  38. MUD Connector
    http://www.mudconnect.com/
  39. MUD (Wikipedia)
    http://en.wikipedia.org/wiki/MUD
  40. Multi-User Dungeon – British Legends
    http://www.british-legends.com/CMS/
  41. Support/peripheral/other chips – 6800 family
    http://www.cpu-world.com/Support/6800.html
  42. Motorola 6845
    http://en.wikipedia.org/wi­ki/Motorola_6845
  43. The 6845 Cathode Ray Tube Controller (CRTC)
    http://www.tinyvga.com/6845
  44. IBM Monochrome Display Adapter
    http://en.wikipedia.org/wi­ki/Monochrome_Display_Adap­ter
  45. Color Graphics Adapter
    http://en.wikipedia.org/wi­ki/Color_Graphics_Adapter
  46. ASCII-GAMES – Play and Review
    http://ascii-games.org/
  47. Tribute to text-mode games
    http://www.textmodegames.com/
  48. RGB Classic Games
    http://www.classicdosgames­.com/video/ascii.html
  49. ZZT (Moby Games)
    http://www.mobygames.com/game/zzt
  50. Levely pro ZZT
    http://autofish.net/video_ga­mes/creation/zzt/zgames.html
  51. ZZT (Wikipedia)
    http://en.wikipedia.org/wiki/ZZT
  52. Text-based game (Wikipedia)
    http://en.wikipedia.org/wiki/Text-based_game
  53. THE OFFICIAL LIERO FAQ
    http://www.gamesover.com/wal­kthroughs/liero.txt
  54. Historie vývoje počítačových her (3.část – hry v textovém režimu)
    http://www.root.cz/clanky/historie-vyvoje-pocitacovych-her-3-cast-hry-v-textovem-rezimu/
  55. Historie vývoje počítačových her (4.část – zlatá éra textovek)
    http://www.root.cz/clanky/historie-vyvoje-pocitacovych-her-4-cast-zlata-era-textovek/
  56. Historie vývoje počítačových her (5.část – textovky společnosti Level 9)
    http://www.root.cz/clanky/historie-vyvoje-pocitacovych-her-5-cast-textovky-spolecnosti-level-9/
  57. The History of Computer Role-Playing Games Part 1: The Early Years (1980–1983)
    http://www.gamasutra.com/fe­atures/20070223a/barton01­.shtml
  58. The History of Computer Role-Playing Games Part 2: The Golden Age(1985–1993)
    http://www.gamasutra.com/fe­atures/20070223b/barton_pfv­.htm
  59. Dungeon (video game)
    http://en.wikipedia.org/wi­ki/Dungeon_(computer_game)

Autor článku

Vystudoval VUT FIT a v současné době pracuje na projektech vytvářených v jazycích Python a Go.