TIC-80, eine Fantasiekonsole

TIC80

TIC-80 ist eine Fantasiekonsole, um darauf kleine Spiele zu programmieren, zu teilen und natürlich auch zu zocken. Es gibt eingebaute Werkzeuge zum Programmieren, zum Erstellen von Figuren (den Sprites) und Karten und von Tönen und Melodien.

Besonders interessant ist, dass das Programm auch kostenlos für Android über den Google Play Store erhältlich ist und so das Zocken, Komponieren und Programmieren auch auf einem Android-Handy oder Android-Tablet erlaubt. Mit einer angeschlossenen Bluetooth-Tastatur machst du aus deinem Telefon einen vollwertigen, programmierbaren Homecomputer. Hier ist die URL zum Playstore:

QR-Code

Du kannst TIC-80 entweder auf deinem Rechner installieren oder direkt im Browser ausprobieren. Der Autor Vadim Grigoruk verkauft für US$5 eine Pro-Version auf itch.io. Diese wird aber zum Spielen oder Erstellen eigener Spiele nicht benötigt. Vielleicht willst du seine Arbeit aber unterstützen und kaufst dir deshalb die Pro-Version.

Hast du TIC-80 heruntergeladen und auf deinem Rechner installiert, ladest du beim Start des Programms in einer Befehlszeile.

Befehlszeile

Tippst du dort surf und die Eingabetaste, bekommst du in einer Liste von Programmen angezeigt. Du kannst diese Liste mit den Pfeiltasten oder auch mit einem Game Controller durchstreifen und dir interessante Spiele, Demos, Musikstücke oder Werkszeuge auf deinen Computer laden, den Quellcode inspizieren und das Programm ausführen.

Für TIC-80 (und andere Fantasiekonsolen wie PICO-8) habe ich mir diese einfachen Controller gekauft:

TIC-80 unterstützt zwei solcher Controller. Das hängt aber natürlich vom Spiel ab.

Unter tic.computer/play kannst du auch alle Spiel erst einmal kostenlos ausprobieren, dir Nutzerkommentare durchlesen, sie selber bewerten und die Spiele dann herunterladen. Sie sind alle kostenlos.

Auch in der Version im Browser kannst du dir den Quellcode eines Spieles ansehen, indem du Esc drückst, das Spiel verlässt und dann in der Befehlszeile edit tippst. Hier ist der Quellecode von 8-Bit-Panda:

8-Bit-Panda

Diese Programmiersprache ist Lua. Lua ist in der Spielewelt sehr verbreitet und eine gut Anfängersprache. Leider ist sie nicht so verbreitet wie z.B. Python, so dass ich hier kein deutsches Lua-Buch zum Lernen der Sprache empfehlen kann. Es gibt aber ein paar Online-Anleitungen zu dieser Programmiersprache:

Neben der Programmiersprache brauchst du zum Schreiben von Programmen für TIC-80 auch noch ein paar Informationen zu der Umgebung selbst. Die findest du unter tic.computer/learn.

Hier erfährst du folgendes über TIC-80:

ANZEIGE 240x136 Bildpunkte ("Pixel"), 16 Farben in einer Palette
STEUERUNG 2 Game-Pads mit 8 Knöpfen oder Bedienung mit der Maus
FIGUREN 256 8x8 Figuren ("Sprites") und 256 8x8 Hintergrundkacheln
KARTE 240x136 Zellen, 1920x1088 Pixel
KLÄNGE 4 Kanäle mit einstellbarer Wellenform
CODE 64KB in Lua, Moonscript, JavaScript, Wren oder Fennel

Die letzte Zeile ist interessant. TIC-80 unterstützt nicht nur Lua, sondern auch anderen Programmiersprachen, u.a. Wren und Javascript. Javascript ist sicher die bekannteste Programmiersprache in dieser Liste. Jeder Web-Browser spricht sie. Javascript hat aber auch ein paar sehr unschöne Eigenschaften, die sie als Anfängersprache eher ungeeignet macht.

Aber hey, ich will dich nicht davon abhalten, TIC-80-Programme in Javascript zu schreiben. Javascript hat definitiv viele Vorteile. Es ist - wie gesagt, zwar eine etwas merkwürdige Sprache, aber sie ist sehr verbreitet (in Web-Browsern, aber z.B. auch zum Steuern von Hardware). Gordon Williams hat Javascript als Espruino herausgebracht, verkauft einige günstige Hardware damit und hat ein schönes Buch mit vielen Experimenten geschrieben, das es sogar in Deutsch in der Bonner Stadtbücherei gibt.

Auf der /learn-Seite erklärt Vadim auch noch die Befehle, die du in der Befehlszeile von TIC-80 ausprobieren kannst:

help Zeige erlaubte Befehle
ram Zeige Aufteilung des Speichers (80kByte)
exit Verlasse TIC-80
new Lege ein neues Programm ("Cartrige") an
load Lade eine .tic Cartridge aus einem Ordner
save Speichere eine .tic Cartridge in einen Ordner
run Starte das aktuelle Projekte (die Cartridge)
dir Liste die lokalen Dateien
folder Öffne das Arbeitsverzeichnis in Windows, Linux, oder macOS
add Zeige ein Formular zum Hinzufügen einer Datei
del Lösche eine Datei (VORSICHT!)
get Zeige ein Formular zum Herunterladen einer Datei
export Exporte [html, native, sprites, cover, map] Dinge aus TIC-80
import Importiere [sprites, cover, map] Dinge aus einer .gif-Datei
cls Leere den Bildschirm
demo Installiere Demo Cartridges (= Spiele usw.)
config [reset] Lade die Einstellungen des Systems

Weitere Details findest du im englischen Handbuch von TIC-80. In diesem Handbuch gibt es eine Seite mit Anleitungen. Ein Autor namens Bear Thorne hat dort eine sehr schöne Beschreibung der allgemeinen Struktur eines Spiels geschrieben. Die solltest du dir auf jeden Fall anschauen.

Um mit dem Programmieren eigener Spiele zu beginnen, lohnt es sich, bestehende Spiele anzusehen. Unter tic.computer/play findest du viele Beispiele. Das Tolle an TIC-80 ist, dass du in all diese Spiele hineinschauen kannst. Wenn du ein wenig schummeln und z.B. deinen Punktestand hochsetzen möchtest, geht das natürlich auch!

Bist du sehr ambitioniert und möchtest direkt einen eigenen Platformer schreiben, möchte ich dir den Artikel von Bruno Oliveira zu seinem Spiel 8-Bit Panda empfehlen. Der Artikel ist zwar auf Englisch. Wenn du aber den Chrome-Browser benutzt (ausnahmsweise - ich vermeide diesen Browser normalerweise), so kannst du mit dessen automatischer Übersetzungsfunktion den Artikel in Deutsch lesen.

Das Übersetzen geht normalerweise automatisch:

Übersetzen

Es kann allerdings sein, dass du Übersetzungen für Englisch erst aktivieren musst. klicke dazu auf die drei Punkte oben rechts in deinem Chrome oder Chromium-Browser, dann auf Einstellungen und dort, weit unten unter Erweitert auf Sprachen und aktiviere dort über die drei Punkte hinter "Englisch (vereinigte Staaten)" das Übersetzen dieser Sprache.

Doch kommen wir nun zu Wren, was ich dir ja eigentlich zeigen wollte.

TIC-80 programmieren mit Wren

Wir starten mal wie Borb in seinem Tutorial mit der Start-Cartridge, die TIC-80 mit jedem neuen Programm einrichtet, und übersetzen diese in Wren. Die Dokumentation von Wren findest du online im Handbuch der Sprache.

Hier ist das Default-Spiel in Wren:

(wird fortgesetzt)