Von der Turnbased-Input-Informatik (Stop&Go) zur/und Optionalen-Input-Informatik (und die Auswirkungen auf Games) [Diskussion]

Zusammenfassendes Schaudbild/Diagramm. Es stellt eine behauptete „Entwicklung/Erweiterung“ der Informatik dar (ab den 60er Jahren). Diese Entwicklung ist zumindest nachweisbar für die Entwicklung der Games und hatte damit dort Folgen.

Turnbasierte Informatik

Parameter-Interaktion (Exo-Turnbased-Programm-Interaktion)

In den Anfängen der Computertechnologie war die Standardisierung klar: Programme bekamen ihren Input am Anfang als Parameter. Das funktionierte ähnlich wie ein heute standardisiertes Rezept (frühe Rezepte waren nicht so – sie enthielten alles ‚durcheinander‘ und waren eher Hilfen zum Erstellen von Mahlzeit, als Programme) am Anfang kommen die Ingredenzien und danach läuft das Programm ab. Diese Art von Programmen finden sich früh. Sie sind eine Art direkte Übersetzung aus der Mathematik. Variablen in Formen. Diese definiert man, der Rest wird berechnet.

https://de.wikipedia.org/wiki/Satz_des_Pythagoras

Ein Manual für diese „vordefinierten“ Interaktionsmöglichkeiten finden sich hier in den Manuals zu den Befehlen etwa von UNIX. In der Shell kann etwa mit „man banner“. man ist das Programm „banner“ das Argument (Valenzgrammatik). Banner erzeugt banners, die direkt auf Endlospapier gedruckt werden konnten (ToDo: Check bei Demonstrationsfotos jener Zeit, wie oft Banner benutzt wurde!)

$ man banner

BANNER(6)                  Games Manual                  BANNER(6)

NAME
     banner – print large banner on printer

SYNOPSIS
     banner [-d] [-t] [-w width] message ...

DESCRIPTION
     Banner prints a large, high quality banner on the standard
     output.  If the message is omitted, it prompts for and reads
     one line of its standard input.

     The output should be printed on paper of the appropriate
     width, with no breaks between the pages.

     The following options are available:

     -d      Enable debug.

     -t      Enable trace.

     -w width
:

// ToDo: Interessant hier, dass Banner in der Kategorie „GAmes“ war. Was war noch in dieser Kategorie.

Das Betriebssystem dazu könnte man auch die Shells nennen. Hier können Befehle mit Parametern ausgeführt werden.

Diese vordefinierten Inputs und deren Verarbeitung sind feste Bestandteile der meisten Computersprachen. Hier am Beispiel von C.

Aus https://www.tutorialspoint.com/cprogramming/c_command_line_arguments.htm

Dabei enthält argv als Array alle möglichen Parameters (durch Space getrennt).

ToDo: Basic ohne Parameter-Unterstützung?

Turnbasierte InExecution-Interaktionen (Inputs von der Tastatur, Files etc) (Endo-Turnbased-Programm-Interaktion)

Später (ToDo: klären) kamen zumindest im Mainstream turnbasierte interaktive Möglichkeiten hinzu. Wichtig dabei ist auch die Entwicklung von Terminals oder deren Vorläufer TeleTypes. Hier konnte mittels einer Tastatur mit einem Printer-Display – ein Computer bedient werden. Dadurch wurden nicht nur Multiusersysteme für Mainframes möglich sondern auch Remoteworking über Telefonleitungen (Terminal Teletype).

// https://de.wikipedia.org/wiki/Teletype_Corporation

Späteres Interaktionsdevices: Das Terminal hier ein VT52

// DEC VT52 1974+ https://en.wikipedia.org/wiki/VT52


Das Programm wurde angehalten und Eingaben konnten vorgenommen werden – mit Return ging es weiter. In der konkreten Programmierung (Maschinensprache) ist dieses StopAndGo natürlich ein auschliessliches Warten in einem Loop auf Keyboard-Input so lange kein Return benutzt wird. Es gibt also keine Nebenläufikeit (im Programmthread). In Nicht-Mainframecomputern der 70/80er Jahr war der gesamte Computer in diesem Task gefangen. Das machte die Programme zum einen Interaktiver. Das Programm muss nicht von ausserhalb erklärt werden, es wird verstehbarer – anders gesagt: Es erklärt sich selbst.

Als Metapher ist es damit eine Art menschlichem Gespräch. Diese sind bekannterweise auch in einer Art Turnbasiert aufgebaut. Und was liegt näher, als die Realität in den Computer zu bringen. Mehr dazu in  „Vom Sprachparadigma ..“.

Eine weiterer Vorteil: Der Ablauf des Programms kann sehr viel komplexer sein und Verzweigungen, die sich aus dem Ablauf / dem Ausführen ergeben können wiederum eingebaut werden. Das Programm kann also auf seine eigene Ausführung reagieren.

Die meisten Programmiersprachen haben aus diesen historischen Gründen meist eine ganz klare Regelung für diese Fälle. Es gibt Funktionen für die Parameter und LineInput – das betrifft C mit dem Std-Library wie auch die anfänglich Lehrsprache BASIC. Dieser Bereich der Programmiersprachen sind sehr konservativ (keine Veränderungen in diesem Bereich). Alle Dialekte halten sich an den Standard.

Dazu das Standard-IO-Library von C: stdio.h
https://www.w3schools.com/c/c_ref_stdio.php

Meist ist die turnbasierte Eingabe einfach: Das Programm hält auf einen Befehl wie INPUT an und wartet auf die Eingabe, die dann per RETURN abgeschlossen wird. Das Programm erhält dann eine Variable, die das Resultat enthält und dieses dann auswerten kann.

In C:

https://www.w3schools.com/c/c_user_input.php

In BASIC:

https://en.wikibooks.org/wiki/BASIC_Programming/Beginning_BASIC/User_Input

Selbstverständlich gibt es auch hier clevere Erweiterungen dieser Standardeingaben. So erweiterte etwa PLATO seine Standardinput-Methoden der Programmiersprache Tutor um Varianten und auch das automatische Löschen von Füllwörtern (wie Artikel). Dies ist auch kein Wunder, dass PLATO SYSTEMS hier weiter ging, denn es war als Elearning System entwickelt worden. Mehr dazu hier >

Digitale Welten: Games

Parameter-Spiele (Exo)

Es gibt – soweit bekannt – nicht viele dieser Spiele. Als eine später Vertreter dieser Spiele kann sicher das Spiel Oregon-Trail gesehen werden. Hier müssen am Anfang auch alle Dinge eingeladen werden und es geht los nach Westen. Ähnliche Idee dazu: AUF ZUR ARBEIT https://editor.p5js.org/t00cg/full/87uRdidyi

// ToDo: Recherche – Parameterspiele

Turn basierte InputGames (Endo)

Hiervon gibt es natürlich viele. Hangsmans aber auch letztlich die MultiuserDungeons. Mehr dazu findet sich auch hier:

Computerbedienung: Vom Sprachparadigma (Shell&Programmiersprachen) zum visuellen Paradigma des Iconic Turns (GUI&Mouse) und zurück mit LLMs based AIs (ChatGPT&Co) [Essay]

Wie weit sich die Gamescene entwickeln liess sieht man sicherlich auch im ListingBuch „101 BASIC COMPUTERGAMES“ 1973. Mehr dazu hier > und spielbar hier

https://joestrout.itch.io/basic-computer-games

Ein Kommentar dazu findet sich hier: Das meistprogrammierte Computergame aller Zeiten?

Gesellschaftliche Thesen zur Input-Turnbasierten Informatik und Games in der Anfangszeit

Gesellschaftlich gedeutet, sind das Informatikwelten und Spiele, die auf den Spielenden* warten. Der ist der Input / Reaktion turnbasiert – erinnert also stark an ein Gespräch (Turntaking). Er handelt (meist in Sprache / Buchstaben) und etwas passiert. Der Nutzer ist der Master. Am Anfang bewegen sich die Welt in der „Gutenberggalaxis“. Sprachinput und gedruckte Sprache als Output (Gedruckte Buchstaben als Output)

Es ist eine Art Experiment, das die Folgen der Eingaben im System ausführt und aufzeigt, was passiert. Diese Informatik-Welten sind eigentlich sehr kontrollierbar, die Regeln meist klar. Der Spieler ist der Handelnde, der aber auch danach zusehen muss (Dominiertes Gameplay), was aus seinen Handlungen erwächst. Er muss es im klassischen Sinn bürgerlicher Bildung „erdulden“ – er muss es aushalten. Es sind auch sehr statische Welten im Sinne ihrer Regeln – schaut man sich zumindest die Programme an. Die Herangensweise der Nutzer ist eher strategisch.

Man könnte auch sagen: Es ist eine Intellektuelle oder politische Art, das System zu verändern. Darin spiegelt sich natürlich auch die aufkommende und nun angewandte Idee der Kybernetik – also eine Welt aus Regelkreisläufen und Regeln und daraus ‚emergierende‘ Systeme. Und die Informatik ist in diesen Jahren immer beides: Kybernetik in der Anwendung als System darunter und als Inhalt.

Die Auswirkungen der Nutzeraktionen müssen dabei nicht statisch sein, sondern können durchaus sich entwickeln. Siehe dazu etwa the Game of Life 1970 von Conway. Es ist oft eine Art Interaktion mit einer anderen Welt – auch wenn diese Welt simuliert.

Man könnte auch sagen: Eine Intellektuelle oder politische Art, das System zu verändern. Darin spiegelt sich natürlich auch die aufkommende und nun angewandte Idee der Kybernetik – also eine Welt aus Regelkreisläufen und Regeln und daraus ‚emergierende‘ Systeme.

Sieht man sich die Zeit ihrer Entstehung aus, gibt es schon parallelen – wenn man sie sehen möchte. Die Gesellschaft ist recht statisch. Menschen werden als eher mechanische Systeme gesehen (vs kybernetische Modelle) – als Punkte in einer Hierarchie mit etwas darunter und darüber. Die Einflussnahme und vorallem die Medien sind sehr dominierend ohne eigenen Einfluss darauf (selbst Brecht träumt noch Jahrzehnte davor vom eigenen Massenmedialen Radiosender). Die Nachrichten kommen in Tageszeitungen einmal pro Tag. Das langsam einziehende Fernsehen bringt Echtzeit aber ohne konkretes Backfeedback.

Die Informatik dieser Tage ermächtigt die Nutzer / Spielenden, Dinge auszuprobieren. Allerdings immer im Rahmen des durch die Programme / Gesellschaft Vorgegebenen. Zudem sind diese digitalen Welten aber – und das weiss jeder – Menschen gemacht. Das heisst theoretisch kann jeder selbst in BASIC so eine einfache Welt schreiben und nicht nur als User ‚rumprobieren‘.

Anderseits ist, wer 1973 etwa Zugang zu Computertechnologie hat: A) ein Angehöriger der Upperclass / Universtitätsklasse und ihren Mainframes B) einer Grossfirma oder C) ein Elektrobastler – in späteren Jahren ein Computerbesitzer* und damit Interessierte. Ohne Kapital irgendeiner Art geht es auf jeden Fall nicht in den Anfangszeiten.

Der Zugang zu Informatik und die Möglichkeit zur Gestaltung eigener digitaler Welten ist selbstverständlich klein und damit auf eine bestimmte Gruppe reduziert. Diese ist auch eher eine Gruppe, die bestimmt (zukünftige „Elite“ an Universitäten). Nichts desto trotz zeigt ein Blick gerade in das Plato Systems 1960+Projekt auf, was der Staff und Studierende einer Hochschule so entwickeln, wenn man sie lässt. Mehr wiederum dazu hier >

Optionale-Interaktions/Input-Informatik

Schon in den 50 Jahren gibt es allerdings auch das Rechnen und erstellen von Code ohne die Sprache als menschliche Schnittstelle. Bekannt sind etwa analog-elektrische Programme in Flipperkästen oder Arcades. Hier wir teilweise gar nicht bis wenig gerechnet. Zumindest Score wird allerdings oft gerechnet. Der Input ist gerade in diesen eher Action bedienenden Maschinen meist sehr einfach, oft auch analog. In diesem Sinn bedient man diese Maschinen/Arcades nicht per Keyboard und Sprache sondern eher per Button und wenigen Zuständen.

Diese Möglichkeiten werden auch bald in Computern mehr und mehr benutzt, gerade um Programme zu gestalten bei denen man in einer Auswahl nicht mehr „4 Return“ drückt sondern bei der Auswahl von 0-9 einfach 4 drücken kann und schon geht es weiter. Oder aber es gibt einen Prozess der läuft und dann wird ab und zu eingegriffen.

Dadurch geht das Stop&Go verloren und die Programme werden sehr viel dynamischer und verzweigter im Flow. Selbstverstädndlich geht es nicht total verloren, es ist nun einfach ein Sonderfall. Die Art der Programmierung verändert sich dabei aber auch. Nun kann in einem Loop immer auch abgefragt werden, was ist aktuell gedrückt etc.

Dadurch entstehen ganze andere Coding-Loops. Diese laufen weiter und das Programm macht scheinbar nebenläufig Dinge, kann aber jederzeit beeinflusst werden. Dies ist nur möglich weil nun Input und damit Interaktion optional wird.

Es entsteht damit eine ganz andere Art von digitalen Welten. In Spielen entstehen nun nebenläufige Spiele, die nicht mehr fest an die alten Gesellschaftsspiele mit „im Uhrzeigersinn“ turnbasiert erinnern. In diesen ’neuen‘ optional interaktiven Spielen – spielt man nun gegen die Zeit, gegen den Computer. Spieler können sich „gleichzeitig“ (nacheinander) bewegen. Die Serialität dieser Prozesse bleibt unbemerkt, dass diese Computer inzwischen extrem schnell sind etwa in Maschinensprache.

Diese neue Art der optionalen Abfrage sind nun aber sehr selten normiert in Programmiersprachen. Sie werden sehr oft für jede Sprache und jedes System anders implementiert. So ist es fast unmöglich ein Spiel mit optionalen Inhalt von einem System zumnäcshten zu transportieren und fast noch unmöglicher von einer Programmiersprache in die Nächste. Dabei gibt es weder in BASIC noch in C eine einheitliche Handhabe. Die Möglichkeit über Systeme hinweg ein einheitliches Spiel zu programmieren, ist dabei nicht gegeben, es ist eher ein Babylonprojekt. Erschwerend gibt es sogar Basic-Dialekte, die den Befehl zum aktuellen Holen der aktuell gedrückten Tast verschieden Handeln, obwohl der Befehl derselbe ist.

Wie komplex die Aufgabe eines 8Bit Games auf möglichst vielen 8Bit Homecomputern zum Laufen zu bringen, zeigt das Projekt Linejewls. Hier wurde versucht einen Basic-Source-Code für möglichst viele Basics zu entwickeln als ein Source-Code. .

Das Ergebnis findet sich hier. Es wurde versucht ein Jewels zu bauen, dass mit wenig zurechtkommt. Im folgenden Fall sind das nur spezifische BASIC-Commands für „Lesen der aktuell gedrückten Taste“ und die „Random-Funktion“..
https://research.swissdigitization.ch/?p=1260

BBC VERSION

Atari 400/800 Version in Action

Amstrad Version in Action

PET-Version

C64 Version in Action



Der entscheidende Vorteil, Spielen kann man nun gegen die Zeit, die Entscheidung verändert in der laufenden Welt die Welt. In diesen digitalen Welten kann sich nun der Avatar als Cursor bewegen. Die Welt läuft in diesem Sinn weiter.

Eine Grundvoraussetzung für moderne Spiele wie die aus Jaüan zu jener Zeit. Und so entstehen Consolen und Computergames, die praktisch aus einem Gameloop bestehen und in diesem Gameloop Objekte zeichnen, die Objekt managen, optionaler Input verarbeite. Dadurch werden Multiplayerspiele möglich (so schnell nacheinander).

// Shark!Shark! (Intellivision, 1982 )

Aber es kann nun auch einfach alleine gespielt werden – eine Erfindung jener Zeit. Und damit verdoppelt sich im Minimum die Spiel*möglichkeiten.

Mehr noch es werden nun viele Dinge wie das Spiel gegen die Zeit möglich. Damit ist auch die Zeit zu einer Ingame-Ressource geworden. Eine Undenkbarkeit in StopGo-Interaktionen. Hier kontrolliert das unoptionale Return alles.Das moderne Spiel ist also maximal abhängig von der optionalen Interaktion, anders würden sich die digitalen IngameWelten nicht bewegen oder vorwärtsbewegen. Damit simulieren sie ja geradezu „Welt“ oder „Digitale (Game-)Welten“. Der Avatar ist nun getrieben vom Spiel und nicht mehr umgekehrt. Niemand wartet mehr – selbstverständlich ist die Responsezeit minimal – es sieht so aus als warte alles auf ihn. Aber eben ironischerweise nur noch nebenher.

Die Welt wird nebenläufig, während in der Wahrheit der technischen Realisierung es genau umgekehrt ist: der Spieler* und seine Inputs werden nebenher gemanaged. Interessanterweise denken die User* aber weiterhin, die Programme und Games warten auf den UserInput. Gemeint ist hier eher: die Programme reagieren meist sofort auf das Verhalten des Users. Aber sie machen halt nicht mehr nur das..

GUIs – nur noch optionaler Input

Die graphischen User Interfaces stellen dann auch einen radikalen Bruch mit den CommandLineInterpretern dar im Handling. Sie sind letztlich zwar immer noch ein Warten auf den Input des Users, aber der Input ist halt nur noch optional. Die Oberfläche existiert weiter – Uhren laufen etc.

Anwender-Programme

Die Idee vom Programm das wartet, ist natürlich weiterhin aktiv in den Anwenderprogrammen. Hier gibt es mehrheitlich keine Nebeläufigkeit, hier passierte tatsächlich nur, was der Nutzer* wollte. Es ist im klassischten Sinne ein Tool. Es wartet darauf benutzt zu werden. Aber auch hier sind in den letzten Jahren immer mehr nebenläufige Tools hinzugekommen.

Gesellschaftliche Dimension

Nachdem die Welten nur an einigen Punkten verändert werden konnten, sind nun die neuen digitalen Welten zu Welten geworden, in die sich die User begeben. Welten die weiter laufen, sich selber aufrechterhalten. Der User wird in diesem Sinn zwar mächtiger aber auch gleichzeitig ohmächtiger, ist er nicht mehr der alleinige Inhalt. Diese Machtlosigkeit wird kompensiert mit einer immer schnelleren Reaktionszeit (Geschwindigkeit) der Computer. Sie tun sofort alles. Es muss nicht gewartet werden. Diese Idee kommt spätestens mit den Computern LISA/Macintosh im Massenmarkt an – während die Spiele zu diesem Zeitpunkt diese nebenläufigen Welten schon einüben als zukünftige Praxen.

Die Gesellschaft der 80er Jahre bringt die Consolen, PCs und Heimcomputer in die Haushalte. Die Welt ist vielfältiger und gleichzeitig einheitlicher geworden. Geschwindigkeit dominiert nun die Welt, die Welt erscheint zunehmend globaler, es ist ein Kampf alle gegen alle – die Ökonomisierung der globalen Welt. In diesem Sinn ist die Art der Oberflächen, optionalen Einflusses auch das Gefühl jener Jahre.

Mehr Macht und noch mehr Machtlosigkeit. Die bekannten Zellen und System der Welt zerbrechen im Globalen. Die Welt wird nebenläufig erlebbar. Es ende nie irgendwo, eine Maschine arbeitet immer weiter.

Die Gamebranche spiegelt das, die Spiele sind vorallem Einzelspieler (Es gibt keine Gesellschaft – Margrette Thatcher) und die spielen gegen Aliens, Welten etc. Oder anders gesagt gege Systeme.

Die digitalen Welten sind nun selbst die Treiber geworden, in den sich die User/Spielenden begeben. Im Game ist der User gezwungen zu handeln. Er spielt oft – wie im Analogen – gegen die Welt, gegen die Gesellschaft und zwar konstant und immer. vgl. Pac Man.

In Sachen Betriebssystemen beginnt der langsame Abstieg der nur „Scheinmultitasking Systemen“ wie das klassische MacOS, die Homecomputer und Windows 95. Mehr Auf- und Abstieg der MainframesOS über die Workstations zu den PCs hier. Angekündigt durch die NExT 89+. Nun steht die Nebenläufigkeit der Mainframebetriebssysteme bald im Haus mit Linux (Unix), MacOSX und Windows NT. Alles sind letztlich Unix-Abkömmlinge. Immer mehr Server laufen auf einfachen Computern. Immer mehr Menschen sind zu Servicepunkten gekommen möchte man sagen. Leider. Die Menschen haben damit auch einen vernetzen Sklaven erhalten. Vernetzung über Server-Clients laufen nur über Optionale Client-Server-Kommunikation. Logischerweise werden nun aber auch Menschen wie immer laufende Computer behandelt und so verwundert es nicht (ToDo: Zitat suchen), dass ein Microsoft-Chef einmal gesagt hat: Wir behandeln Menschen wie Computerclient.

Der digital neue Mensch

In diesem Sinn hat der Mensch seinen Status verloren im Sinne von „Auf Menschen laufenden Medien“ formell und das findet sich auch in Computergames und ihren Agents wieder. Meist wird nur das Game-AI Modul von Agenten durch eine direkte Steueriung ersetzt, der Rest ist dieselbe Programmierung.

Aktuell verliert der Mensch auch noch seinen formalen Status als Kreationmaschine im Mainstream durch die Ausbeutung seiner eignen Arbeit im Training in LLMs. Der Autor Mensch ist in diesem Sinn nun defintiv tot – nicht weil er nicht mehr existiert sondern, weil er Normalisiert wurde. Er spricht nicht mehr. Die „Logik“ des Diskurses spricht. Insofern schliesst sich der Kreis der „Menschenkopie“ als Sklaven oder das Andere, die mit den Automaten im 16. Jhd angefangen hat und über den einfachen Mathematiker in der Turing Machine emuliert wurde (der war logisch!) nun hin zu Diskurs-AIs. In diesem Sinn: die Extension (McLuhan) Computer wird total.

Kein Wunder klammert sich die Menschheit gerade ans Analgoe.

ToDos

// ToDo: Einbau schweizerischer Beispiele – etwa Alexander Hahns „Leiterlispiel“ 1972 auf einem ETH-Rechner-Terminal (Cobol/Fortran?)

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert