TIS-100

Gra programistyczna w assemblerze, o którą nikt nie prosił.

Założę się, że zaraz po oberzeniu pierwszego screenshota z gry TIS-100 Twoja reakcja będzie w stylu:

  • WTF !?
  • co to k**** jest !?
  • czy kogoś tu p******* !?

Example image

Spokojnie. Twoja reakcja jest prawidłowa, ponieważ niewątpliwie jest to gra dla bardzo wąskiej grupy odbiorców tj. dla programistów lub tzw. „hardcorowych” graczy. Choć sam nie jestem programistą to zawsze intrygowały mnie takie egzotyczne tytuły. Postanowiłem więc spróbować.

TIS-100 to gra logiczna, w której wcielasz się w programistę, a twoim zadaniem jest naprawianie poszczególnych segmentów fikcyjnego układu o nazwie TIS-100, poprzez uzupełnienie brakującego kodu programu. Dla przykładu jednym z zadań jest uzupełnienie kodu dla wzmacniacza sygnału, które polega na tym, iż na wejściu dostajemy ciąg liczb i musimy w taki sposób zaprogramować układ, żeby na wyjściu otrzymać ten sam ciąg liczbowy pomnożony razy dwa. Zadanie wydaje się proste, jednak rozwiązanie trzeba napisać w niskopoziomowym języku assemblera. Każdy, kto chociaż otarł się o ten język programowania wie, jak karkołomne jest zaprogramowanie nawet najprostszych operacji. Jak sam autor żartobliwie napisał – jest to gra programistyczna w assemblerze, o którą nikt nie prosił.

Example image

Rozpoczynając grę zauważysz, że nie ma żadnego samouczka, więc żeby cokolwiek zdziałać musisz się dowiedzieć jaka jest składnia instrukcji assemblera. W świecie IT istnieje taki slogan, który podpowie ci co robić – RTFM (read the fucking manual). Naciskasz więc ESC i otwierasz podręcznik do TIS-100, w którym wszystko jest opisane – architektura, składnia, instrukcje i protokół komunikacji. Po zapoznaniu się z podręcznikiem możesz śmiało brać się do roboty. Zadań do rozwiązania jest na prawdę sporo i trzeba się nie lada natrudzić, żeby rozwiązać pierwsze pięć, nie mówiąc już o kolejnych.

Zachęcam do wypróbowania TIS-100, chociażby po to, by udowodnić samemu sobie, że potrafisz sprostać wyzwaniu lub zwyczajnie dla przygody.

Powodzenia! I pamiętaj – RTFM!

Plusy:

  • jedyny w swoim rodzaju symulator programowania w języku assembler
  • ascetyczny wygląd świetnie wpasowujący się w realia lat 70
  • możliwość tworzenia i importowania nowych zadań

Minusy:

  • bardzo wąska grupa odbiorców
  • znajomość assemblera jest mało przydatna na rynku pracy