Obsah
1. Historie vývoje počítačových her (152. část – vlastnosti systému Inform7)
2. Vytvoření úvodních lokací slavné hry Collosal Cave Adventure
3. Přidání překážky do herního světa
4. Nastavení vlastností překážky
5. Specifikace vlastností dveří
6. Neobvyklé topologie herního světa – jednosměrky apod.
8. Klíče umístěné v kontejnerech
1. Historie vývoje počítačových her (152. část – vlastnosti systému Inform7)
V dnešní části seriálu o historii vývoje počítačových her si popíšeme některé další vlastnosti systému Inform 7. Již v části předchozí jsme si řekli, že systém nazvaný Inform 7 tvoří společně s „konkurenčními“ systémy Hugo Interactive Fiction Development System a TADS – Text Adventure Development System trojici nástrojů, které se v současnosti používají pro tvorbu nových textovek, ať již klasických textovek, kde hráč sbírá předměty a pohybuje se příkazy N/S/W/E, tak i textovek, které tvoří různé alternativní směry vývoje (s některými moderními textovkami se seznámíme později). Inform 7 se od ostatních nástrojů odlišuje zejména v použitém (programovacím) jazyce, jehož syntaxe a sémantika se snaží přiblížit běžně angličtině. To s sebou přináší jak klady, tak i zápory, protože v některých případech dochází k tomu, že Inform 7 přesně nepochopí záměry uživatele; některá slova mají speciální význam (room, door), který přesně neodpovídá popisovanému hernímu světu atd. atd.
Obrázek 1: První verze popisu herního světa, který se snaží napodobit slavnou hru Adventure, konkrétně její 350bodovou verzi. Prozatím se zde vyskytuje pouze šest herních lokací a pět propojení mezi lokacemi.
Některé z možností, které svým uživatelům (možná by bylo v tomto kontextu lepší používat označení „spisovatel“ či „programátor“) systém Inform 7 nabízí, si ukážeme na několika demonstračních minitextovkách. V první textovce se budeme snažit napodobit první část herního světa slavné hry a první textovky vůbec, jejíž název je Collosal Cave Adventure. Následně si ukážeme vytvoření jednosměrné cesty (ta má více možností použití), dále pak vytvoříme bludiště tvořené třemi barevnými místnostmi, třemi barevnými dveřmi a uschovanými klíči a nakonec se budeme zabývat použitím takzvaných kontejnerů, tj. předmětů (buď přenosných či naopak nepřenosných), v nichž mohou být uloženy další předměty a dokonce i další kontejnery. Tuto zdánlivě jednoduchou techniku můžeme použít pro různé triky (a navíc tato technika není ve skutečnosti tak jednoduchá, protože se s ní například v klasických tuzemských textovkách prakticky nesetkáme :-).
Obrázek 2: Zobrazení mapy herního světa přímo v systému Inform 7. Pro znalce původní verze Adventure nebo některé z mnoha variací na tuto hru je nutné dodat, že kvůli snazšímu zobrazení jsou poslední dvě lokace propojeny s lokací nazvanou zkráceně „Valley“ východním směrem a ne směrem jižním.
2. Vytvoření úvodních lokací slavné hry Collosal Cave Adventure
Rozhodování o tom, jakou hru (přesněji řečeno její úvodní část) si vyzkoušíme v systému Inform 7 implementovat nejdříve, vlastně nebylo nijak těžké, protože v seriálu o historii počítačových her jsme se již na několika místech zmínili o slavné klasické textovce nazvané Colossal Cave Adventure, jenž je známá též pod zkráceným názvem Adventure popř. na operačních systémech s omezenou délkou názvů souborů pouze pod označením ADVENT. Této hře je připisováno hned několik prvenství – jedná se o první skutečnou textovku, jednu z prvních her šířených (samozřejmě zadarmo a bez licenčních omezení) pomocí tehdy vznikajícího Internetu, hru dostupnou prakticky na jakémkoli zařízení, které se podobá počítači :-) a v neposlední řadě též o hru, jejíž zdrojové kódy byly volně k dispozici a programátoři je mohli studovat popř. je měnit, což v mnoha ohledech odpovídá dnešnímu pojetí open source. Zajímavé také je, že tato hra je neustále – již téměř 40 let – vyvíjena a v současnosti existuje nepřeberné množství variant, od klasických textovek, které se mnohdy snaží co nejvěrněji emulovat původní hru, až po varianty s obrázky, možnosti hry více uživatelů současně (MUD), ovládáním pomocí myši a ikon, rozšířeným herním prostorem (novými lokacemi), apod.
Obrázek 3: Spuštění první verze naší hry v zabudovaném interpretru systému Inform 7. Povšimněte si způsobu zobrazení – nejprve je uveden název lokace, konkrétně zvýrazněným fontem, a následně je popis lokace zobrazen již běžným fontem.
My si zkusíme naprogramovat jen několik prvních lokací takzvané 350bodové varianty této hry, která se podobá originální hře a kterou lze dnes získat jak na stránkách http://www.ifarchive.org/ ve formátech zpracovávaných například interpretrem Gargoyle, tak i například v binární podobě spustitelné pod DOSem, skalní unixáři pak zajisté sáhnou po balíčku bsdgames. První lokace této hry lze nalézt například na adrese http://www.spitenet.com/cave/images/AdventureMap-noClues.jpg – jsou zobrazeny v pravém horním rohu.
Obrázek 4: Nástroj nazvaný „Skein“slouží k záznamu obecně většího množství variant ve hře. Tyto varianty jsou zaznamenávány v průběhu testování hry a autor zde může zvolit („bless“) ideální variantu či varianty.
První verze hry bude obsahovat šest herních lokací a pět propojení mezi těmito lokacemi (jména lokací jsou zvýrazněna):
"Advent-1" by "Pavel Tisnovsky" End of road place is a room. "You are standing at the end of a road before a small brick building. Around you is a forest. A small stream flows out of the building and down a gully." Open forest is a room. "You are in open forest, with a deep valley to one side." Valley is a room. "You are in a valley in the forest beside a stream tumbling along a rocky bed." Small brick building is a room. "You are inside a building, a well house for a large spring." Slit place is a room. "At your feet all the water of the stream splashes into a 2-inch slit in the rock. Downstream the streambed is bare rock." Depression is a room. "You are in a 20-foot depression floored with bare dirt. Set into the dirt is a strong steel grate mounted in concrete. A dry streambed leads into the depression." Small brick building is east of end of road place. Open forest is north of end of road place. Valley is south of end of road place. Slit place is east of the valley. Depression is east of the slit place.
Povšimněte si, že Inform 7 ignoruje velikosti písmen a taktéž není nutné se zdržovat se psaním členů.
Obrázek 5: V nástroji „Transcript“ je taktéž zaznamenána historie tvorby hry.
3. Přidání překážky do herního světa
Pokud jste se pokusili po právě vytvořeném herním světě projít, zajisté uznáte, že je to po určitém čase již trošku nudné, a to i přes pěkný popis krasového území. Pojďme si tedy přidat další lokaci, konkrétně vstup do jeskyně. Ten je ovšem uzavřen mřížkou (grate). Tato mřížka má z hlediska topologie herního světa stejný význam jako dveře, musíme ji tedy jako dveře (door) i označit a novou lokaci nepropojit přímo s ostatním herním světem, ale použít tyto nové dveře pro propojení jeskyně z předchozí lokací. Minule jsme se již tvorbou dveří zabývali, nyní však bude situace o to zajímavější, že jeskyně je umístěna POD předchozí lokací a ne vedle ní.
Obrázek 6: Prvním náročnějším úkolem, který na hráče v původní hře Adventure čekal, bylo otevření vstupu do jeskynního systému, takže přidejme mřížku, která zabraňuje vstupu do jeskyně.
Upravený program naší textovky bude vypadat následovně:
"Advent-1" by "Pavel Tisnovsky" End of road place is a room. "You are standing at the end of a road before a small brick building. Around you is a forest. A small stream flows out of the building and down a gully." Open forest is a room. "You are in open forest, with a deep valley to one side." Valley is a room. "You are in a valley in the forest beside a stream tumbling along a rocky bed." Small brick building is a room. "You are inside a building, a well house for a large spring." Slit place is a room. "At your feet all the water of the stream splashes into a 2-inch slit in the rock. Downstream the streambed is bare rock." Depression is a room. "You are in a 20-foot depression floored with bare dirt. Set into the dirt is a strong steel grate mounted in concrete. A dry streambed leads into the depression." Chamber is a room. "You are in a small chamber beneath a 3x3 steel grate to the surface. A low crawl over cobbles leads inward to the West." Grate is a door. Small brick building is east of end of road place. Open forest is north of end of road place. Valley is south of end of road place. Slit place is east of the valley. Depression is east of the slit place. Grate is down of the depression. Chamber is down of the grate.
Inform7 již po zadání tohoto popisu dokáže vytvořit mapu herního světa, což je ostatně patrné i při pohledu na screenshot číslo 7.
Obrázek 7: Na mapě zobrazené v systému Inform 7 je patrné, že jeskynní systém skutečně začíná pod zemí.
Obrázek 8: Počet možností, jak se pohybovat po herním světě, se nám již množí, což je poměrně překvapivé, zvláště když si uvědomíme, že se jedná jen o minimum lokací. Jinými slovy to znamená, že i zdánlivě jednoduchou textovku je nutné dobře otestovat.
4. Nastavení vlastností překážky
Pokud si však hru zkusíte zahrát (viz též screenshot číslo 8 s naznačenými možnostmi), tak zjistíte, že mřížka ve skutečnosti žádnou vážnou překážku nepředstavuje, protože ji lze snadno vysunout a projít jí. Musíme tedy nastavit vlastnosti mřížky, konkrétně říci, že je „zamykatelná“ a současně i „zamčená“. Kromě toho explicitně určíme, kterým předmětem se mřížka dá odemčít a následně otevřít (resp. vysunout). Tento předmět musíme umístit do herního světa a to – podobně jako v originálu – přímo do malé zděné budovy, která se nachází blízko startovní lokace:
"Advent-1" by "Pavel Tisnovsky" End of road place is a room. "You are standing at the end of a road before a small brick building. Around you is a forest. A small stream flows out of the building and down a gully." Open forest is a room. "You are in open forest, with a deep valley to one side." Valley is a room. "You are in a valley in the forest beside a stream tumbling along a rocky bed." Small brick building is a room. "You are inside a building, a well house for a large spring." Slit place is a room. "At your feet all the water of the stream splashes into a 2-inch slit in the rock. Downstream the streambed is bare rock." Depression is a room. "You are in a 20-foot depression floored with bare dirt. Set into the dirt is a strong steel grate mounted in concrete. A dry streambed leads into the depression." Chamber is a room. "You are in a small chamber beneath a 3x3 steel grate to the surface. A low crawl over cobbles leads inward to the West." Grate is a door. Grate is lockable and locked. The matching key of the grate is the rusty key. Rusty key is in the small brick building. Small brick building is east of end of road place. Open forest is north of end of road place. Valley is south of end of road place. Slit place is east of the valley. Depression is east of the slit place. Grate is down of the depression. Chamber is down of the grate.
Výsledek se již podobá pravému hornímu rohu mapy http://www.spitenet.com/cave/images/AdventureMap.jpg.
Obrázek 9: Tyto čtyři důležité věty slouží k tomu, aby se do herního světa přidala uzamčená (a uzamykatelná) mřížka a navíc klíč, kterým je ji možno odemčít.
Ve zdrojovém kódu textovky si povšimněte způsobu popisu scény, který se odvíjí podle stále stejné šablony. Popis lze sice měnit, ale ne zcela libovolně, protože Inform samozřejmě nerozumí angličtině, ale právě jen předem naprogramovaným šablonám:
Vlastnost herního světa | Šablona |
---|---|
Místnost | Chamber is a room. |
Propojení místností | Chamber is down of the grate. |
Dveře | Grate is a door. |
Předmět | Rusty key is in the small brick building. |
Obrázek 10: V popisu herního světa jsou u každé lokace popsány i všechny předměty popř. osoby. U předmětů navíc můžeme vidět jejich základní vlastnosti.
5. Specifikace vlastností dveří
Objekty označené jako dveře (door) mohou mít nastaveno větší množství vlastností. V naprosté většině textovek si však vystačíme s pěti vlastnostmi (z nichž vlastnosti v prvních dvou dvojicích se navzájem vylučují):
# | Vlastnost dveří |
---|---|
1 | locked |
2 | unlocked |
3 | lockable |
4 | not lockable |
5 | matching key … |
Obrázek 11: A ono to skutečně funguje – první (a jediný) úkol byl zdárně vyřešen.
Výchozí nastavení vlastností dveří (pokud není jinak uvedeno) je:
unlocked not lockable without matching key
Příklady zápisu rozpoznatelné Informem 7:
The blue door is lockable and locked. The matching key of the blue door is the gold key. The gold key unlocks the blue door. The blue door has matching key the gold key.
Ve hře lze navíc při popisu lokací použít podmínky ve stylu:
[if open].....[otherwise].....
V Informu lze navíc změnit stav objektů (a tím pádem i dveří) pomocí now, většinou však tento zápis není zapotřebí provádět, protože základní modul obsahuje již množství výchozích frází a vlastností herního světa.
Obrázek 12: Opět se podívejme na způsob mapování historie průchodu hráče herním světem. Kromě příkazů pro směr pohybu zde můžeme vidět i další typické textovkářské příkazy: get, open atd.
6. Neobvyklé topologie herního světa – jednosměrky apod.
V některých textovkách se objevuje požadavek na vytvoření neobvyklých topologií herního světa, kdy se namísto místností (či lépe řečeno lokací) umístěných do pater a v patrech do pravidelné mřížky objevují například i jednosměrná propojení. Systém Inform 7 taková propojení dokáže vytvořit a to – což je velmi zajímavé – bez nutnosti zápisu podmínek. Podívejme se na ten nejjednodušší možný případ. Bude se jednat o herní svět tvořený jen dvojicí místností umístěných vedle sebe. Mezi těmito místnostmi existuje jednosměrný průchod, který není z druhé strany ani viditelný ani použitelný:
"Jednosmerky" by "Pavel Tisnovsky" The Central cave is a room. The Magic alcove is a room. The Magic alcove is north of the Central cave. South of the Magic alcove is nowhere.
Samozřejmě je možné tento způsob deklarace použít i ve složitějších mapách. Ve skutečnosti je nowhere výchozím stavem pro všechna explicitně neuvedená propojení lokací.
Obrázek 13: Neobvyklá topologie herního světa – jednosměrná cesta.
Obrázek 14: Systém Inform7 dokáže zobrazit a hlavně plně pochopit i neúplnou topologii z předchozího obrázku.
7. Barevné bludiště
Cesty či propojení mezi místnostmi má i další důležitou vlastnost – Inform 7 tyto cesty dokáže v případě potřeby natáhnout přes více čtverců pomyslné mřížky herního světa. Opět se podívejme na příklad: bludiště tvořené třemi barevnými místnostmi propojenými trojicí barevných dveří. Pro vysvětlení použitých barev se stačí podívat například na diagram barvového modelu RGB http://dba.med.sc.edu/price/irf/Adobe_tg/models/images/rgb_model.gif). Opět se podívejme na zdrojový kód:
"Bludiste" by "Pavel Tisnovsky" Red room is a room. Green room is a room. Blue room is a room Yellow door is a door. Magenta door is a door. Cyan door is a door. Yellow door is west of green room and east of red room. Magenta door is southeast of red room and northwest of blue room. Cyan door is northeast of blue room and southwest of green room.
Bludištěm lze jednoduše projít a zjistit, že nezávisle na vzdálenosti místností na mapě jsou všechny průchody jednokrokové.
Obrázek 15: Bludiště, které vytváříme, je velmi malé. Obsahuje totiž pouze tři místnosti, mezi nimiž se nachází trojice dveří. Volba barev místností a dveří vychází z barvového prostoru RGB, místnosti jsou pojmenovány podle primárních barev a dveře podle kombinací těchto barev.
Obrázek 16: Systém Inform7 dokáže zpracovat i směry průchodů mířících na SZ. SV, JZ a samozřejmě i JV. V našem příkladu ovšem musí „natáhnout“ cestu mezi červenou a zelenou místností.
8. Klíče umístěné v kontejnerech
Zkusme nyní bludiště udělat poněkud složitější. Do každé místnosti bude umístěn takzvaný kontejner, což je objekt, který může obsahovat další předměty. Každý kontejner bude mít stejnou barvu jako místnost, ve které je (původně) umístěn. Povšimněte si, že, podobně jako tomu je v případě dalších typů předmětů, i kontejnery mohou mít víceslovné názvy:
"Bludiste" by "Pavel Tisnovsky" Red room is a room. Green room is a room. Blue room is a room Yellow door is a door. Magenta door is a door. Cyan door is a door. Yellow door is west of green room and east of red room. Magenta door is southeast of red room and northwest of blue room. Cyan door is northeast of blue room and southwest of green room. Yellow door is lockable and locked. The matching key is yellow key. Magenta door is lockable and locked. The matching key is magenta key. The cyan door is lockable and locked. The matching key is cyan key. Red box is a container. Red box is in red room. Red box contains magenta key. Green box is a container. Green box is in green room. Green box contains yellow key. Blue box is a container. Blue box is in blue room. Blue box contains cyan key.
Obrázek 17: Testování vlastností právě vytvořeného bludiště.
V následující tabulce jsou shrnuty možné vlastnosti kontejnerů:
# | Vlastnost kontejneru |
---|---|
1 | open |
2 | closed |
3 | openable |
4 | not openable |
5 | transparent |
6 | opaque |
7 | portable |
8 | fixed |
Je zřejmé, že každá vlastnost z dvojice vylučuje druhou vlastnost. Zajímavá je možnost nastavení vlastnosti průhlednosti či neprůhlednosti. Můžeme například do herního světa vložit uzavřenou láhev s klíčem uvnitř, takže hráč bude klíč vidět, ale bude muset nejdříve láhev otevřít.
Příklad zápisů:
The chest is a closed container. The glass bottle is a transparent open container. The cupboard is fixed in place and openable.
Obrázek 18: Testování vlastností právě vytvořeného bludiště.
9. Příkaz SHOWME
Hra s barevným bludištěm se po přidání kontejnerů a klíčů stala již poměrně komplikovanou, takže při jejím zkoušení je nutné používat příkaz INV/INVENTORY atd. Aby však bylo ladění hry rychlejší a taktéž přesnější, obsahuje systém Inform 7 podporu pro příkaz SHOWME, který dokáže zobrazit aktuální stav objektu či subjektu v průběhu hry. Tento příkaz lze uvést i bez další specifikace, který objekt se má popsat; v tomto případě se popíšou všechny objekty a subjekty viditelné z pozice hráče, včetně samotného hráče. Důležité je, že příkaz SHOWME, který mnohdy odhaluje více, než by mělo být odhaleno :-), není dostupný ve finální verzi hry, tj. od chvíle, kdy se použije příkaz Release. Podívejme se na příklad použití:
Obrázek 19: Ukázka použití příkazu SHOWME.
10. Kontejnery a „matrjošky“
V kapitole o kontejnerech jsme si mj. řekli, že kontejnery mohou obsahovat další předměty, a to včetně dalších kontejnerů. Díky tomu je možné v herním světě vytvořit i poměrně složité situace, kdy se například v zásuvce stolu nachází krabička s klíčem, popř. větší krabička obsahující menší krabičku obsahující … … … s klíčem :-), jinými slovy obdoba Matrjošek.
Obrázek 20: Matrjoška a příkaz SHOWME – ne zcela funkční verze.
Povšimněte si toho, že zásuvka stolu JE součástí stolu a tedy není pohyblivá (přenositelná), zatímco ostatní kontejnery přenositelné jsou. Jak zásuvka, tak i obě krabičky jsou otevíratelné, jinak by se hráč nemohl dostat ke kýženému klíči:
"Kontejnery2" by "Pavel Tisnovsky" Hall is a room. A desk is here. An openable container called the drawer is part of the desk. Drawer is closed. In the drawer is a big box. A big box is a openable closed container. A small box is in the big box. Small box is a openable closed container. A rusty key is in the small box.
(kéž by objektově orientované jazyky byly takto krásně čitelné a samodokumentující :-)
Obrázek 21: Matrjošky v Informu 7.
Obrázek 22: Mapa světa sice obsahuje jen jednu místnost, ale zato složitou hierarchii předmětů.
Obrázek 23: Matrjoška a příkaz SHOWME – funkční verze.
11. Odkazy na Internetu
- Inform7 home page
http://inform7.com/ - Inform7 manuals (velmi rozsáhlé – dlouhé a zajímavé čtení)
http://inform7.com/learn/manuals/ - Inform7 downloads (včetně balíčků pro Linux)
http://inform7.com/download/ - Cloak of Darkness
http://www.firthworks.com/roger/cloak/index.html - Adrift
http://www.adrift.co/ - Alan
http://www.alanif.se/ - „Easy“ Interactive Fiction Languages
http://www.brasslantern.org/editorials/easyif.html - Choosing a Text Adventure Language
http://www.brasslantern.org/writers/howto/chooselang.html - The words „Hello, Sailor“ linger briefly in the air…
http://www.firthworks.com/roger/cloak/sailor1.html - ADRIFT
http://www.firthworks.com/roger/cloak/adrift/index.html - SUDS
http://www.firthworks.com/roger/cloak/suds/index.html - ALAN
http://www.firthworks.com/roger/cloak/alan/index.html - Gargoyle – home page
http://ccxvii.net/gargoyle/ - Gargoyle – screenshots
http://ccxvii.net/gargoyle/screenshots.html - garglk (downloads)
http://code.google.com/p/garglk/downloads/list - Glk API Specification
http://www.eblong.com/zarf/glk/glk-spec-074.html - Text Fiction (for Android)
http://www.onyxbits.de/textfiction - Frotz – A Portable Z-Machine Interpreter
http://frotz.sourceforge.net/ - Index: if-archive/infocom/interpreters
http://www.ifarchive.org/indexes/if-archiveXinfocomXinterpreters.html - Z-Machine
http://inform-fiction.org/zmachine/standards/ - The Interactive Fiction Archive
http://www.ifarchive.org/ - Level 9 Games Interpreter
http://freespace.virgin.net/davidk.kinder/level9.html - Magnetic: An interpreter for Magnetic Scrolls adventures
http://msmemorial.if-legends.org/magnetic.htm - Zork online version
http://thcnet.net/zork/index.php - (Howto) Play Zork Online For Free
http://freebies.about.com/od/onlinegames/p/how-to-play-zork.htm - web-adventures.org
http://www.web-adventures.org/ - Adventure games
http://www.online-games.net/newadventuregames.html - Colossal Cave Adventure Map
http://www.spitenet.com/cave/ - Colossal Cave Adventure
http://www.rickadams.org/adventure/ - Here's where it all began…
http://www.rickadams.org/adventure/a_history.html - David Kinder's guide to Adventure downloads at the Interactive Fiction Archive
http://www.rickadams.org/adventure/e_downloads.html - Everything you ever wanted to know about …the magic word XYZZY
http://www.rickadams.org/adventure/c_xyzzy.html - Colossal Cave Adventure jako Java Applet
http://www.astrodragon.com/zplet/advent.html - Colossal Cave Adventure
http://en.wikipedia.org/wiki/Colossal_Cave_Adventure - iPod Adventure Game
http://hamimiami.com/ipod/adventure/index.html - Ohlédnutí za herní historií: Textovky
http://www.slunecnice.cz/tipy/ohlednuti-za-herni-historii-textovky/ - ASCII-GAMES – Play and Review
http://ascii-games.org/ - Tribute to text-mode games
http://www.textmodegames.com/ - Text-based game (Wikipedia)
http://en.wikipedia.org/wiki/Text-based_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/ - atari.fandal.cz
http://atari.fandal.cz/games.php - 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 - 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