Leitmedium

Es gibt kein analoges Leben im digitalen.

Caspar C. Mierau arbeitet als technischer Berater und denkt als Medienwissenschaftler, der zur Computergeschichte promoviert, über die Geschichte und Gegenwart von Technologie nach. Er schreibt und podcastet an der Schnittstelle von Praxis und Theorie, Technik und Kultur. Notiert kurze Gedanken auf Mastodon. Hat "Leitmedium" ganz offiziell als Künstlername im Ausweis stehen.

Über | Links | Impressum

Powered by Genesis

Spiele-Empfehlung: »TIS-100« – Zur Entspannung mal ein bisschen Assembler programmieren

11. Juni 2015 by leitmedium

Mir wurde diese Woche von meinem heimlichen Spiele-Flüsterer empfohlen, doch mal einen Blick auf TIS-100 zu werfen (gibt es auf Steam). In dem Spiel der verbringt man seine knappe Freizeit ganz modern protestantisch damit, Assember-Code zu programmieren. Klingt nach Spaß, oder?

Hintergrund-Geschichte: Der TIS-100 ist teilweise beschädigt und als SpielerIn muss durch geschicktes Programmieren die Prüfroutine Level für Level davon überzeugt werden, dass doch alles in Ordnung ist. Dafür müssen Aufgaben gelöst werden wie “transportiere die Zahlen aus Eingang A zum Ausgang B” oder “transportiere gerade Zahlen nach A und ungerade nach B”:

Zur Verfügung steht ein knappes Set typischer Assembler-Befehlen wie “MOV” und “ADD”. Um diese zur Hand zu haben, sollte man praktisch zunächst die kurze Spieleanleitung ausdrucken (ja, wirklich), denn hier werden die Assembler-Befehle erklärt. Und irgendwie gehört Ausdrucken zum Feeling dazu:

Erfreulicherweise hat mein Drucker beim Ausdrucken der 14 Seiten einen Schluckauf bekommen, sich stilecht daneben benommen und mir halbe Seiten ausgedruckt. Ich habe eigentlich nur noch das alte Geräusche eines Nadeldruckers vermisst.

Das Gameplay selbst ist recht anstrengend. Die Rätsel werden schnell kompliziert, man muss zu Beginn oft die möglichen Befehle nachschlagen. Ein Programmbeispiel aus der Anleitung zeigt ganz gut, was man für Code schreiben muss:

START:
MOV UP, ACC
JGZ POSITIVE
JLZ NEGATIVE
JMP START
POSITIVE:
MOV ACC, RIGHT
JMP START
NEGATIVE:
MOV ACC, LEFT
JMP START

Und wem das einfache Lösen der Aufgaben nicht reicht, der kann probieren, Programme zu optimieren, um mit möglichst wenig Instruktionen und Rechenzyklen zum Ziel zu kommen.

Zum Programmieren-Lernen wird sich TIS-100 wohl nicht eignen. Ob man nun schon mal Assembler geschrieben haben sollte, kann ich schlecht beurteilen. Ich habe es vor 20 Jahren mal einen Tag probiert und das war genug Halbwissen, um gut mit dem Spiel zurechtzukommen. Ich mag die optische Retro-Aufmachung und die Ruhe, mit der man die Probleme lösen kann. Warum ich nun Spaß dabei empfinde, abends Assembler-Pseudo-Programme zu schreiben, ist ein anderes Thema.

Dabei fällt mir ein, dass ich früher gern ein Spiel gespielt habe, in denen man kleine Programme schreiben musste, die dann auf einem virtuellen Spielfeld gegen andere antreten mussten. Vielleicht fällt mir der Name des Spiels wieder ein. Bis dahin verzweifle ich ein wenig am TIS-100.

p.s.: Die anderen Spiele von Zachtronics sind auch einen Blick Wert.

Filed Under: Allgemein

Comments

  1. Svenja says

    12. Juni 2015 at 1:24

    Meinst Du vielleicht RoboCom? Da musste man Assemblercode für kleine Roboter schreiben, die sich vervielfältigen und andere Roboter umprogrammieren können …

  2. -thh says

    12. Juni 2015 at 8:02

    “Corewar(s)” ist der Klassiker der gegeneinander antretenden Programme.