Pro pohodlnější navigaci i přístup k pokročilým funkcím Databáze-her.cz doporučujeme povolit si ve svém prohlížeči JavaScript.

TIS-100

20.07.2015
08.01.2016
85
1 hodnocení Platformy
Žánr

Forma
placená hra
Rozsah
samostatná hra
Multiplayer
ne

TIS-100 je logická hra, založená na programování v assembleru. Cílem je přepsat poškozený kód počítače TIS-100, podobnému reálným počítačům ze začátku 80. let, a zjistit, kdo ho vytvořil a za jakým účelem.

Počítač je hráči prezentován v podobě dvanácti procesorových uzlů, z nichž každý disponuje vlastním střadačem a záložním registrem. Na každém z uzlů pak běží program napsaný v zjednodušené verzi reálných assembly jazyků. Jednotlivé uzly si mezi sebou mohou předávat hodnoty, bez čehož se hráč při řešení úkolů jako vytvoření programu pro základní matematické operace či vykreslování jednoduchých obrázků neobejde. Hra nabízí přes čtyřicet úrovní a tři sandboxy (včetně vizuální konzole), které vám ve hře umožňují vytvářet vlastní hry. Obsahuje i tisknutelný manuál k jazyku a žebříček, ve kterém můžete předhánět ostatní v rychlosti kódu či počtu instrukcí a uzlů potřebných ke splnění levelu.


Poslední diskuzní příspěvek

@Ringo (31.12.2024 13:15): Záleží na tom, co si od toho slibuješ. Je to fakt o té jedné jediné černobílé obrazovce, kde strávíš veškerý čas. Jestli tě bude bavit řešit logický problém pomocí psaní instrukcí. Fakt v tom nelze hledat nic jiného. Programování není nutné znát předem, ale pomůže to. Já to hraju nárazově :) Ale opravdu se s tím asi nic nenaučíš (co by šlo v reálu využít). Na Gogu to teď je za 3,49 EUR, což mi přijde celkem adekvátní.

Nejlépe hodnocené komentáře

  • PC 85
Her pro programátory je celá řada. Osobně jsem jich vyzkoušel jen pramálo. TIS-100 mě však zaujal natolik, že jsem mu byl ochoten věnovat svůj čas. Proč zrovna TIS-100? Líbí se mi nejvíc to, že  na jediné černobílé obrazovce řešíte zdánlivě jednoduchá zadání, jejichž řešení vás dokáží (díky velmi malé sadě instrukcí "assembleru" a díky dost archaické a omezené architektuře počítače TIS-100) potrápit klidně na 2 až 3 hodiny. Výsledek si můžete kdykoliv spustit, abyste se dozvěděli, zda vše funguje, jak má. Pokud nejsou očekávané výsledky, je možné spustit jednoduchý debugger, který prochází program krok za krokem a vy vidíte, kde se ve vašem programu nacházíte, a jaké jsou hodnoty v registrech. 

Celá architektura je postavena na 11 propojených uzlech (nodes), do nichž zapisujete instrukce. Platí zde omezení max. 12 řádků kódu na jeden uzel. Každý uzel má 2 registry, do nichž můžete  hodnoty ukládat, přičítat, odečítat a měnit znaménko. Ovšem k tomu druhému nemáte přímý přístup, což trochu komplikuje návrh hřešení. 

Instrukcí je pouze 13 a zahrnují čtení hodnot ze vstupů/posílání hodnot na výstupy z uzlu, práci s registry, skoky na návěštidla a velice jednoduché rozhodovací příkazy, kdy se pouze zjistí, zda hodnota v registru je nula, není nula, větší nebo menší než nula. A to je přátelé vše! Není to tedy klasický assembler, byť některé instrukce tak vypadají. A je to právě ta "dřevnost" assembleru, která mění řešení jednoduchého zadání v obtížný puzzle. Autoři si připravili 15 úkolů, jejichž obtížnost pomaličku narůstá. Hned prvním úkolem je jednoduše načíst hodnotu ze dvou uzlů a poslat ji přes další uzly do nejspodnějších uzlů a odtud ven. Jednotlivé úkoly jsou pojmenovány tak, že vám dávají smysl. Takže je tu zesilovač signálu, sekvenční generátor nebo třeba čítač sekvencí. V tom posledním zmíněném máte za úkol přijímat na jednom vstupu sérii čísel oddělených nulou. Je potřeba sčítat jednotlivá čísla a zároveň i počítat, kolik čísel přišlo. Jakmile dorazí nula, musíte poslat do dvou výstupů sumu i počet. To byl zrovna úkol, který mi dal zabrat, a při kterém jsem zjistil, že se dá využít jiný uzel jako další "registr". Jinými slovy je potřeba vymýšlet i ad hoc řešení, která vás na první dobrou nenapadnou. U každého úkolu vidíte, jaké hodnoty přijdou na vstupu a také očekávané výstupní hodnoty. Pokud se vám podaří spustit test a dopadne OK, spustí se další skvělá věc - vyhodnocení! Ve třech primitivních grafech uvidíte, jak jste si vedli v porovnání s ostatním světem. Kolika cykly musel váš program projít, kolik jste museli použít instrukcí a také kolik uzlů. Samozřejmě zde všude platí, že čím méně, tím lépe.

Celé to vaše snažení má ještě další smysl než jen udělat vám radost při řešení logických problémů. Počítač TIS-100 totiž má hned několik vadných částí paměti. Každý váš vyřešený úkol vlastně opravuje daný segment RAM. Postupně se dovídáte ústřižky pozadí toho, proč byl takový počítač vlastně vytvořen a kdo za ním stál. Ke hře existuje stylový manuál, který jako by vypadl z oka těm z 80. let. Absolutně doporučuji jej vytisknout a důkladně pročíst, jsou tam i jednotlivé příklady k některým instrukcím.

Zatím mám hotové funkční verze 8 z 15 základních. Devátý mi aktuálně dává hodně zabrat (interrupt handler). Už teď vím, že se poté vrhnu i na další produkty Zachtronics, asi nejvíce Last Call BBS a Shenzen I/O . A dovolím si TIS-100 doporučit opravdu každému (včetně ne-programátorů), protože jde spíše o logické problémy. Hra vás určitě nenaučí programovat. Už jen to spuštění hry, který emuluje spuštění prastarého počítače za to stojí! Je třeba si jen zvyknout na to, jak fungují uzly a kam se píší instrukce.

(kdo by se do toho chtěl pustit, nebojte se v diskusi na cokoliv zeptat) :)

Pro: atmosféra psaní instrukcí v jednoduchém assembleru na obstarožním počítači, skvělé programátorské "sudoku"

Proti: celý čas koukáte na jednu černobílou obrazovku (kde se může vyskytnout červená barva při chybě)

+10