StartTutorialsProgrammierungErste Schritte in Pico-8

Erste Schritte in Pico-8

  • 5 Monaten her
  • 4Minuten

Es müssen nicht immer die großen Game-Engines sein. Die Unreal Engine, Unity 3D, CryEngine oder Godot und GameMaker sind tolle Werkzeuge, um Spiele zu erstellen, doch für Einsteiger ein Labyrinth voller Optionen und Möglichkeiten. Pico-8 beschreitet einen ganz anderen Weg und zeigt, wie Retro-Feeling richtig geht.

Was ist Pico-8?

Dabei handelt es sich um eine Fantasy-Konsole. Es hat dieses Gerät nie gegeben, sie wird lediglich per Software in einer sog. virtuellen Maschine emuliert. Es wurde von dem japanischen Ein-Mann-Unternehmen Lexaloffle Games entwickelt und im April 2015 veröffentlicht. Seitdem wurden zahlreiche Spiele und Demos für die virtuelle Konsole kreiert.

Da es sich um eine virtuelle 8-Bit-Hardware handelt, gibt es einige Einschränkungen. Die Auflösung beträgt lediglich 128×128 Pixel, es können, zumindest offiziell, nur 16 Farben verwendet werden und die Musik wird als Vierkanalton ausgegeben. Somit sind die Möglichkeiten stark beschränkt und alles wirkt wie ein Gerät aus den frühen 1980er Jahre; sogar die Entwicklungswerkzeuge. Die fertigen Spiele laufen jedoch als HTML5-Games im Browser und sind somit für jeden zugänglich.

Warum Pico-8?

Einen modernen Shooter oder MMORPG wird man damit nicht entwickeln. Doch auch abseits des Retro-Charmes hat Pico-8 Vorzüge. Es ist klein, übersichtlich und ein sehr guter Einstieg in die Welt der Programmierung und Spieleentwicklung.

Das Tool kostet zwar 14,99 $, dafür bekommt der Hobbyentwickler alles, was man zur Entwicklung von Spielen braucht. Man kann darin Code schreiben, Grafiken erstellen, Level bauen, Soundeffekte generieren und Musik komponieren. Ja, es ist an allen Ecken und Enden limitiert, aber auch das hat seinen Reiz.

Pico-8
Programmieren in Pico-8

Die verwendete Programmiersprache ist Lua, welche als sehr einsteigerfreundlich gilt. Zwar kann der Code im minimalistischen Editor mit der Zeit etwas unübersichtlich werden, dies kann aber auf jede Sprache zutreffen, wenn man nicht richtig kommentiert, einrückt und gliedert.

Pico-8 läuft unter Windows, Linux, Mac und sogar für den Raspberry Pi gibt es eine Version. Wer eine extrem günstige Kombination aus Soft- und Hardware sucht, um Spiele zu entwickeln, ist hier genau richtig.

Eigenwillige Konsole

Wie alle alten Konsolen hat auch Pico-8 einige Eigenarten. Bspw. können nur 256 Sprites in der Größe 8×8 Pixel verwendet werden. Die Cartridge Size beträgt nur 32 Kilobyte und es gibt lediglich eine Schriftart. Diese besteht ausschließlich aus Großbuchstaben, programmiert wird aber in Kleinbuchstaben, die als Großbuchstaben angezeigt werden. Da jedes Zeichen nur 4×6 Pixel hat, sind einige Buchstaben schwer zu lesen. Das Programmieren ist somit etwas gewöhnungsbedürftig.

Benutzt man die Hochstelltaste, erscheinen keine Schriftzeichen, sondern Grafikzeichen, sog. Glyphen. Damit lassen sich nette Sachen zeichnen.

Pico-8
Unser Beispielprojekt, ein scrollender Text mit Schatten

Wie bei alten Konsolen üblich, können nur sechs Tasten genutzt werden. Auf der Tastatur sind das die vier Richtungstasten sowie C und V. Allerdings werden auch zwei Gamepads unterstützt.

Durch den Einsatz von Lua erbt es auch eines der Krankheiten: Arrays beginnen bei 1 und nicht, wie üblich, bei 0. Oft werden diese auch nicht Array sondern Tables genannt. Das sorgt bei erfahreneren Entwicklern ebenso zu Fehlern wie der Umstand, dass man das Spiel nicht mit F5, sondern mit Strg+R startet. Andere Tastenkürzel, wie Strg+S für Speichern, Alt+F4, um das Fenster zu schließen, wurden aus gängigen Anwendungen übernommen.

Um sich ein bisschen mit der Lua-Syntax zu befassen, sollte man sich mal die entsprechende Wikipedia-Seite anschauen.

Noch eine Anmerkung zu Arrays. Diese werden mit geschweiften Klammern angelegt, aber mit eckigen Klammern abgefragt. Beispiel:

Das Beispiel ist dieser Seite entnommen, auf der man viele weitere Informationen findet.

Alles nicht unbekannt

Wer sich bereits ein wenig mit Programmierung, alten Heimcomputern und/oder Spieleentwicklung auskennt, wird laufend über Dinge stolpern, die einem bekannt vorkommen.

Die Skriptsprache Lua gibt es schon ewig (1993) und wird in vielen Projekten verwendet. Sie wurde u. a. von Pascal inspiriert, ihre Syntax lehnt sich stark daran an.

Wer sich im GameMaker auskennt, wird sich bei der grundlegenden Logik wohlfühlen, da einen die Basisfunktionen an Events wie Create, Step und Draw erinnern. Dazu im späteren Beispiel mehr.

Das Komponieren in Pico-8 ist Trackern nachempfunden. Eine Technik, die ihre Ursprünge in den 1980ern hat und für so ein Projekt perfekt ist.

Die Entwicklung ist generell sehr retro. Man startet mit einem Betriebssystem, muss dann entweder mit Esc in die Umgebung oder mit load filename.p8 das Projekt laden. Es gibt zwar einen Syntax-Highlighter, eine Autovervollständigung sucht man hingegen vergeblich. Dafür können immerhin Passagen kopiert, dupliziert, gelöscht oder eingefügt werden.

Erste Schritte

Zunächst muss man sich Pico-8 auf der entsprechenden Seite kaufen und herunterladen.

Für Windows gibt es eine ZIP-Datei oder einen Installer. Sobald man die Entwicklungsumgebung startet, „bootet“ das System und am Ende blinkt ein Cursor. Tipps man help ein, erscheinen Informationen zu den wichtigsten Funktionen. Mit Esc landet man in der Umgebung und kann sofort loslegen. Um den Code zu testen, drückt man Strg+R, mit Esc geht es wieder zurück.

Anbei ein kleiner Code, um ein paar Funktionen zu zeigen. Das Ergebnis soll so aussehen

Da der Code kommentiert ist (Codekommentare beginnen mit –) wird hier nicht weiter darauf eingegangen. Für die wichtigsten Befehle gibt es einen sehr guten Spickzettel

Eine Referenz mit Befehlen und Tastenkürzeln findet man hier.

Was alles möglich ist, sieht man an vielen Spielen und Demos. Ganz besonders kann UFO empfohlen werden.

Es gibt auch ein Pico-8 Magazin!

Außerdem gibt es ein paar gute Einführungsvideos. Dieses, auf Deutsch, verlangt allerdings etwas Vorwissen im Bereich Programmierung:

Fazit

Auch wenn es ein bisschen was kostet, ist Pico-8 ein Traum für Jung und Alt. Ja, es ist etwas eigenwillig und sperrig, aber das gehört zum Reiz der 8-Bit-Zeit. Man kann damit wunderbar kleine Spiele entwickeln und so lernen, wie Programmierung und Spieleentwicklung funktionieren. Und wer keine Lust hat, sich viele Stunden mit der Entwicklung eines Games zu befassen, kann sich stattdessen mit Grafikprogrammierung beschäftigen.

Lua ist dabei ein guter Einstieg, auch wenn man beim Umstieg zu einer Sprache mit C-Syntax etwas Probleme bekommen dürfte. Dennoch: Programmierung bleibt Programmierung und Pico-8 gehört hierbei zum besten und originellsten, was man als Neueinsteiger erhalten kann. Alte Retrohasen werden hingegen sowieso begeistert sein.

Weitere Links

Pico-8 Wiki
Nerdy Coding Tutorials

 

Hat Dir dieser Artikel gefallen? Dann würden wir uns sehr über Unterstützung freuen.

Sven Gramatke
Sven Gramatke//www.gravitationart.com/
Schreibt gelegentlich Artikel. Schwerpunkte sind Gamedesign, Programmierung (GML, PHP und JS), Retro und Berichte.
Abonnieren
Benachrichtige mich bei
guest

0 Comments
Inline Feedbacks
View all comments

NEWS

PDF

Artikel als PDF

0
Alle ByteGame-Artikel können nun bequem als PDF-Datei heruntergeladen werden. Diese Funktion wurde eingebaut, um vor allem längere Texte ausdrucken oder zumindest offline lesen zu...
Revision 2022

Revision 2022 – Eine Satellitenveranstaltung

0
Wer zu Ostern noch nichts vor hat, sollte über einen Besuch der Revision nachdenken. Diese Demoszene-Party startet am Karfreitag, den 15. April und endet...
news logo 696x400

Revorix Update 1.9

1
Revorix hat ein neues Update bekommen: Patch 1.9 Hauptfeature sind Ressourcen-Events mit der Möglichkeit wechselnde Ressourcen spenden zu können gegen noch zu enthüllende Überraschungen. Außerdem...
news logo 696x400

Godot 3.4.2 veröffentlicht

0
Kurz nach Version 3.4.1 wurde schon 3.4.2 der Spieleengine veröffentlicht. Grund für das schnelle Update war ein Fehler. Bein Rendering unter macOS konnte es...
news logo 696x400

CRYENGINE 5.7 Roadmap enthüllt

0
Nach langer Wartezeit wurde nun die Roadmap für die CRYENGINE 5.7 enthüllt. Crytek räumt dabei interne Schwierigkeiten ein. Intern sind wir bei der Entwicklung auf...
0
Would love your thoughts, please comment.x