středa 2. října 2024

Bonus 10: Hry z časopisů přelomu 70. a 80. let

Hra "Akú máte pamäť na čísla?" (1982); Při nevhodné volbě obtížnosti je odpověď: "Prepáč, ale si idiot!"

Zatímco nejstarší dochované tuzemské hry v podobě digitálního záznamu (na audiokazetě) pocházejí z roku 1983, pozorní archeologové mohou narazit na ještě starší kousky, jejichž kód byl na přelomu 70. a 80. let vytištěn v časopisech. Museli jsme si je tedy nejenom přepsat, ale i mít nějaký hardware, na němž bychom kód spustili, což v dané době byla značná komplikace. Jelikož se jedná o primitivní hříčky, jejichž původ je nejasný a často se dá předpokládat, že jde pouze o lehce upravené zahraniční tituly, tak jsem se rozhodl jim nevěnovat samostatné články, ale všechny si je shrneme v tomto textu, který je posledním z nepravidelného seriálu od Jiřího Bernáška. Další podobné články najdete pod štítkem "bonus". 

Programování bylo u nás dlouho vyhrazeno pouze profesionálům, pracujícím s velkými sálovými počítači. I tam se sice nějaká ta trocha zábavy provozovala, ovšem to bylo jen okrajově a spíše potají, a tedy i bez jakékoliv publicity.

Přelom nastal někdy v roce 1979, kdy se počítačová technika alespoň hypoteticky začala přibližovat i laikům, takže se naše časopisy začaly předhánět v různých kursech na pokračování, jak se k nové technice vlastně postavit. Redakce Amatérského Radia přiznává, že "problematice číslicových počítačů, která v současné době hýbe světem, zůstal časopis velmi mnoho dlužen", a proto se ve spolupráci s ČVUT časopis pustil formou celoročního seriálu do potřebné osvěty. Tento první seriál se prozatím držel spíše vlastností dosavadních sálových strojů, principů tehdejšího hardwaru, obecných teorií a metod programování, či jazyků jako Pascal či Assembler - vedle nich ovšem nechybí ani kapitola věnovaná jazyku BASIC, tehdy údajně "používanému především pro vědeckotechnické výpočty na minipočítačích". Pozadu nezůstal ani časopis VTM se spíše obecným úvodem do problematiky (od čísla 15/1979) a následovala řada dalších podobných seriálů. Pozornost byla věnována také programovatelným kapesním kalkulačkám, které se v té době mezi lidmi už opravdu začínaly reálně šířit.

Ve stejné době se začíná číslicové technice věnovat i první klub mládeže, vedený M. Hášou v pražské Městské Stanici Mladých Techniků, kde později začínal i známý F. Fuka a další. Již v roce 1979 se zde údajně provozovala jednoduchá hra, či spíše simulátor navádění geostacionární družice na správnou dráhu, jejímž autorem byl ing. Jiří Rada (konstruktér v n. p. Motorlet). Dokonce zde byla snaha vytvořit podobné simulační hry pro "Zuzanu", neboli vysloužilý tranzistorový počítač ZUSE Z23, vyřazený z výpočetního střediska v ČKD (ten stanice získala, ale výsledek bohužel neznáme). Podobně i v oblasti hardwaru zde pracovali např. s různými číslicově řízenými pojízdnými hračkami (Želv, Beruška).

Počítač ZUSE Z23 v Městské Stanici Mladých Techniků (zdroj: VTM 8/1979 str. 242)

Protože i zmíněné časopisecké seriály se snažily řídit metodami J. A. Komenského, staly se také v nich oblíbenými vzorovými úlohami různé drobné hry. Tady se však musíme oprostit od zavedeného formátu západního herního průmyslu, který naši pozdější osmibitoví autoři tak rádi napodobovali. Tyhle hry totiž jednak časově předcházely příchodu západních herních vzorů, spíše přišly ze sféry vědeckotechnické (některé zprostředkovaně až z éry Basicového kutilství v USA 70. let), a také svým charakterem představovaly jakási programátorská cvičení. Nenajdeme zde tedy většinou žádné názvy, titulní obrazovky, jména autorů či roky vydání, samotný původ programů je mnohdy nejasný. Tyhle hry měly zkrátka status bližší matematickému vzorci či příkladu, než "dílu" ve smyslu dnešní herní produkce. Poněkud vědecký kontext ostatně naznačuje i fakt, že tyto hry uživateli ve vypisovaných textech téměř důsledně vykají.

Pro jaké počítače byly tehdy publikované hry určeny? Jednoduše řečeno - co kdo sežene. Běžný smrtelník se tehdy dostal k nějakému počítači jen nahodile, takže společnou platformou publikovaných programů je spíše jakýsi základní, univerzální BASIC. Ten se na jedné straně dal s jen minimálními úpravami použít na většině tehdejších strojů, na straně druhé byl ovšem pro autora programu značně limitující. Dočítáme se o poněkud obskurních strojích, jako je tuzemský minipočítač ADT4316, italský stolní Olivetti P6066 (používaný redakcí AR), či kapesní "Basicová kalkulačka" SHARP PC-1211. Žádný z nich nedisponoval obrazovkou, což poněkud vysvětluje tehdejší bazírování na dialogové formě uživatelského rozhraní: Předpokládal se přímý tisk na papír, nebo jen jednořádkový displej. Souvisí s tím zřejmě i fakt, že ve všech nalezených hrách (níže) uživatel zadává výhradně jen čísla. Redakce našich časopisů ostatně na tento "čistý styl" publikovaných listingů tlačily ještě i v průběhu 80. let - ke značné nelibosti autorů her, pro které byly právě "zakázané" sféry barev, zvuků, grafiky a okamžitých reakcí na klávesnici nutností.

Počítač ADT4316 (zdroj: Almanach VÚMS část 1, online na http://prog-story.technicalmuseum.cz/data/golan/almanach-1B.pdf - zdroj obrázku fotoarchiv VÚMS, Hana Mahlerová)

Počítač Olivetti P6066 (zdroj: Wikimedia Commons, OnlySoft, CC-BY-SA-4.0)

Kapesní počítač Sharp PC-1211 (zdroj: Wikimedia Commons, Denisfo, CC-BY-SA-3.0)

Jedna hra byla otištěna hned v prvním seriálu Amatérského Radia v roce 1979. Jedná se o stručně provedenou "jednořádkovou" variantu hry NIM, která je možná převzata z nějakých již existujících tajných fondů výpočetních středisek (nápadně větší rozsah, nápadně chybějící vysvětlení funkce programu, hru zmiňuje R. Bébr v článku z roku 1981). Téměř identický program byl publikován v USA již v roce 1973.

Poněkud zvláštním případem je seriál Technického Magazínu (1981), který se s nekompatibilitou tehdejších počítačů vypořádal formou jen teoretického výkladu, pouze na úrovni vývojových diagramů. I tak stihl v šesti číslech časopisu čtenářům mezi jinými úlohami k řešení zadat i pět her, kde nechybí ani starý známý NIM.

V roce 1982 se pak staly herní programy již samostatným tématem, když Amatérské Radio otevřelo rubriku "Programy pro praxi i zábavu", kam měli přispívat sami čtenáři. Redakce již po několika měsících konstatovala, že "se sešla v redakci slušná hromádka programů", mezi nimiž "převládají programy zábavné, hry." Rubrika sice na stránkách časopisu nevydržela ani půl roku, přesto stihla vedle různých matematických algoritmů zachytit i pět příkladů drobných her, jak v jazyku BASIC, tak i pro programovatelné kalkulátory. Těm se ještě více věnovala ročenka 1981, zaměřená z velké části na různé hry a hříčky, kde jsou mezi čistě elektronické návody zařazeny i nejméně tři hry pro tyto kalkulátory.

I takto staré hry lze při troše snahy dnes zprovoznit v některém z dostupných emulátorů, nevyhneme se ovšem dobovému koloritu zdlouhavého ručního přepisování, případně i hledání a opravě tiskových chyb. Programy v BASICu se daří snadno zprovoznit v emulaci osmibitových Atari, jejichž Atari BASIC (1979) je velice blízký dobovému standardu (navíc v době vydání her historicky už i existoval, ač se u nás zřejmě téměř nevyskytoval), programovatelné kalkulátory zastupuje emulace typu TI-59 (autor emulátoru Pascal Obry).

Jaké konkrétní hry se tedy podařilo v dobovém tisku (do roku 1982) dohledat, přepsat, zprovoznit a vyzkoušet?

Nejstarší NIM (1979, název neuveden) nepřináší žádné překvapení. Z řady 23 zápalek odebíráme v každém tahu 1-3, na koho zbude poslední, ten prohrál. Máme proti počítači výhodu prvního tahu, k výhře však potřebujeme znát příslušnou teorii. Program dělá co se od něj čeká, provedení je ovšem přesně v dobovém duchu spartánsky jednoduché. Odladěn byl na minipočítači ADT4316, vyskytoval se pravděpodobně i v prostředí výpočetních středisek. Jedná se však o jen nepatrně modifikovanou hru z knihy 101 Basic Computer Games (str. 226, 1973-1975) - přibyl závěrečný dotaz na opakování hry, texty jsou česky, jinak jsou úpravy listingu jen zanedbatelné.

Zdroj: ing. Vojtěch Mužík, ing. Karel Müller, CSc.: Základy programování samočinných číslicových počítačů (Amatérské Radio A10/1979 str. 379)

Nim (1979) - pravidla a začátek hry

Nim (1979) - počítač vyhrál

Dělostřelecký souboj (1981, autor neuveden) patří do skupiny her založených na výpočtu balistické křivky. Dva hráči střídavě zadávají v číselné podobě pohyby svých děl, úhel a sílu jednotlivých výstřelů, a snaží se trefit protivníka. Program po každém výstřelu vypisuje vzdálenost dopadu střely od protivníka. Všechny parametry mají své limity a také zásoba střeliva je omezena. Hra sice vyšla v roce 1982 (s několika nepříjemnými překlepy v listingu), podle popisu jejího průběhu v článku R. Bébra (1981) však musela existovat již dříve ve výpočetních střediscích.

Zdroj: Amatérské Radio A5/1982 str. 180

Dělostřelecký souboj (1981) - instrukce a začátek hry

Dělostřelecký souboj (1981) - druhý střelec vyhrál

Další hrou založenou na principu balistické křivky je Hod granátem na cíl (1982, autor neuveden). Opět zadáváme číselně rychlost a úhel hodu (a v úvodu také svoji výšku, z níž tedy házíme), přičemž program hodnotí odchylku od cíle slovně v pěti stupních, výsledek celé hry pak šesti různými hláškami podle počtu provedených pokusů. Zásah cíle má jistou toleranci, hra je omezena na 11 pokusů (jinak "už nemáte sílu") a samozřejmě i ostatní parametry mají své limity. Struktura programu naznačuje, že by mohl mít stejného autora jako Dělostřelecký souboj.

Zdroj: Amatérské Radio A6/1982 str. 220

Hod granátem na cíl (1982) - instrukce

Hod granátem na cíl (1982) - máme na krajský přebor

V Amatérském Radiu byla otištěna také hra Přistání na Měsíci (1982), která je z celé sbírky nejrozsáhlejší a nejpropracovanější (a také velmi obtížná), bohužel však nejde o hru tuzemskou. I přes drobné modifikace najdeme téměř identický program v USA již k roku 1969 (v tehdejším jazyku FOCAL), podobná verze v BASICu je v knize 101 Basic Computer Games (str. 182, 1973-1975). Ani tomuto programu se nevyhnuly drobné překlepy v listingu.

Zdroj: Amatérské Radio A7/1982 str. 260

Přistání na Měsíci (1982) - instrukce

Přistání na Měsíci (1982) - úspěšné přistání

Program otištěný pod titulkem "Akú máte pamäť na čísla?" (1982, autorem bude zřejmě Ing. Ján Konečný) je určen pro kapesní počítač SHARP PC-1211, který je se svým jednořádkovým LCD displejem a kapesním formátem někde na hranici mezi kalkulačkou a počítačem. V úvodu této jednoduché hry si zvolíme obtížnost reprezentovanou počtem číslic. Následně se krátce zobrazuje celkem 10 pseudonáhodných čísel zvoleného formátu, z nichž každé musíme přesně zopakovat. Podivné je závěrečné vyhodnocení, kde jediným kritériem je samotné splnění úkolu (nesmíme udělat více než 2 chyby), vypisované hodnocení hráčovy paměti (které má 5 stupňů) se však odvíjí výhradně jen od předem zvolené obtížnosti hry. Ani tomuto listingu se nevyhnula tisková chyba.

Zdroj: Amatérské Radio A8/1982 str.300

Objevila se také trojice velmi podobných her, založených na u nás známé stolní hře Logik, resp. její dobové elektronické verzi COMP IV. (1977) firmy Milton Bradley. Všechny tři verze jsou určeny pro programovatelné kalkulátory TI-58 resp. TI-57 a byly otištěny víceméně společně.

Nejpropracovanější z celé trojice je verze pod titulkem "Hádání čísel" (Josef Veškrna, 1981), určená pro kalkulátor TI-58 vybavený základní knihovnou ML (zásuvný ROM modul "Master Library"). Zadáním libovolného čísla ("seed" pro pseudonáhodná čísla) a stisknutím tlačítka "A" hru inicializujeme, poté zadáváme čtyřciferné tipy (číslice se neopakují) a stiskem "B" na ně dostáváme dvouciferně údaje o počtu přesných zásahů a uhodnutých číslic na jiné pozici. Při uhodnutí se zobrazí celé tajné číslo, stiskem "C" pak lze vyvolat i počet spotřebovaných pokusů. Odezva kalkulátoru (na skutečném dobovém hardwaru) ovšem dle redakční poznámky trvala téměř minutu.

Zdroj: Amatérské Radio, ročenka 1981 str. 63

Poměrně zajímavá je i verze "Logická hra na TI-57" (ing. Jaroslav Včelař, 1981), určená pro menší verzi kalkulátoru TI-57, rozšířenější, avšak funkčně velmi omezenou. Z pouhých 50 programových kroků a 8 registrů (navíc bez jakékoliv knihovny) hra vytěžila opravdu maximum, takže za větším sourozencem nijak zvlášť nezaostává. Kromě lehce odlišné obsluhy tlačítek kalkulátoru spočívá rozdíl vlastně jen v nutnosti zadat předem ručně sortiment 7 používaných číslic, v tvorbě tajného čísla metodou jejich jednoduchého "míchání", a v absenci počítadla spotřebovaných pokusů. Dvojciferné vyhodnocení je zde ve tvaru přesné + všechny zásahy (místo obvyklého přesné + ostatní), jinak jsou pravidla hry stejná. Program je přitom zhruba 4x kratší a vešel se do paměti TI-57 úplně přesně.

Zdroj: Amatérské Radio, ročenka 1981 str. 60

Poslední verze pod označením "Hádání čísel opět jinak" (Miroslav Jílek, 1981) běží na kalkulátoru TI-58 s knihovnou ML, funguje opět podobným způsobem a se stejnými pravidly, má však z celé trojice bohužel nejvíce slabin. Krkolomná obsluha začíná vcelku zbytečným ručním zadáváním řady konstant, neustálé krokování programu tlačítkem R/S je nepřehledné, nevyužívá možnosti kalkulátoru (tlačítka uživatelských funkcí). Největším trápením je však samotný průběh hry, kdy musíme čtyřciferné tipy zadávat, a také i dvojciferné vyhodnocení odečítat po jednotlivých číslicích. Všechny ty cifry se neustále odklepávají stejným tlačítkem R/S, čímž vzniká nekončící cyklus vizuálně nijak neodlišených šesti kroků, v němž se člověk velmi snadno ztratí. Také vyhodnocení počtu spotřebovaných pokusů zcela chybí, bohužel ale v poněkud kostrbatém kódu naopak nechybí jedna vážná chyba, kvůli které hra většinou nejde ani spustit. Své mouchy má i návod otištěný v časopisu (chybí jeden stisk R/S, čárka místo tečky...)

Zdroj: Amatérské Radio, ročenka 1981 str. 64

Nejrozsáhlejší otištěnou hrou pro kalkulačky je Domino autora Jiřího Jiráčka (1982). Tato hra běží na kalkulátoru TI-59, který je ze zmíněných typů největší, i tak ale naráží na jeho limity. Po inicializaci hry (i zde s ručním zadáním nějakého "seedu" pro pseudonáhodná čísla a několika dalších konstant) vidíme na displeji řadu číslic, které představují poslední 3 dominové kostky (každá po dvou číslicích), přičemž nové kostky se přikládají pouze na pravý konec řady. Můžeme si tlačítkem "A" spustit automatické listování v kostkách, které máme v držení. Jeho zastavením pomocí "R/S" vybereme kostku, se kterou chceme dále pracovat, případně si pomocí "D" můžeme z hromádky přibrat kostku novou, nebo se i tahu zdržet (avšak pouze jednou). Dále můžeme pomocí "SBR 1/x" kostku dle potřeby otočit (zaměnit dvojici cifer), pomocí "B" ji přiložit na konec hada, a pomocí "C" vyzveme k tahu kalkulátor. Ten hraje poctivě (a také on se může tahu zdržet), totéž se ovšem očekává i od nás, protože kontrola přípustnosti provedených tahů se do kalkulačky patrně již nevešla. Stejně tak i závěrečné vyhodnocení je kapacitou paměti poněkud ořezané. Některé případy ukáže, ale v případě vyčerpání dobírací hromádky si musíme sami zhodnotit, kdo vlastně vyhrál, přičemž nám kalkulačka alespoň zobrazí kostky v držení obou hráčů. Hra má i některé další slabiny, jako nahrazování spotřebovaných kostek v držení hráče čísly "99" (chybí setřásání seznamu), chybějící ořezávání zobrazené části hry na 3 kostky v případě vynechaných tahů, potřeba ručního zadávání některých konstant před spuštěním hry, nebo i používání číslice "0", kterou kalkulačka na první pozici čísel vůbec nezobrazí. I tak jde na poměry kalkulačky o ambiciózní dílo, které ponechalo v paměti pouhé dvě volné pozice.

Zdroj: Amatérské Radio A6/1982 str. 220

Domino pro TI-59 (1982) - tři kostky po dvou číslicích

Zdroje:
 * Redakční úvodník k článku "Základy programování samočinných číslicových počítačů" (Amatérské Radio A2/1979 str. 59)
 * Eduard Škoda: Vlk, koza, zelí a kybernetika (VTM 8/1979 str. 227)
 * (okrajově) řada článků na téma Želv a Beruška (VTM 1981-1982)
 * ing. Vojtěch Mužík, ing. Karel Müller, CSc.: Základy programování samočinných číslicových počítačů (Amatérské Radio A2/1979 - A1/1980, zejm. A10/1979 str. 379)
 * M. Háša: Naučte se mluvit s počítači (VTM 15/1979 str. 456, 16/1979 str. 488, 17/1979 str. 520)
 * Richard Bébr: Hravé obvody (Technický Magazín 12/1981 str. 16)
 * David H. Ahl: 101 Basic Computer Games (DEC, 1975)
 * Soutěž v programování (Technický Magazín 7-12/1981)
 * Programy pro praxi i zábavu (Amatérské Radio A5-8/1982, úvod A1/1982 str. 20)
 * ing. Jaroslav Včelař: Logická hra na TI-57 (ročenka AR 1981 str. 60)
 * Josef Veškrna: Hádání čísel (ročenka AR 1981 str. 63)
 * Miroslav Jílek: Hádání čísel opět jinak (ročenka AR 1981 str. 64)
 * originální Lunar Lander: https://www.cs.brandeis.edu/~storer/LunarLander/LunarLander/LunarLanderListing.jpg

Žádné komentáře:

Okomentovat