Keycap Kevin: Ich lerne für mein Tastatur-Videospiel Coden
Hintergrund

Keycap Kevin: Ich lerne für mein Tastatur-Videospiel Coden

Kevin Hofer
14-7-2023

Zum Programmieren meines ersten Games verwende ich die Software Ren’Py. Die zu lernen sei leicht. Wie ich feststelle, ist dem tatsächlich so.

Ich verlose die Lego-kompatible Tastatur Pixel. Damit du es beim Gewinnspiel nicht so einfach und hoffentlich auch noch Spass dabei hast, sollst du zocken. Und zwar ein Spiel, das ich programmiere – zum ersten Mal in meinem Leben. Die Software dafür habe ich schon gefunden: Ren’Py. Nun muss ich meine Geschichte, die ich bereits im Kopf habe, nur noch in Code umwandeln. Falls du den letzten Teil der Serie verpasst hast, kannst du ihn unter folgendem Link nachlesen.

  • Hintergrund

    Keycap Kevin: Ich wollte nur eine Tastatur verlosen, jetzt programmiere ich ein Interactive-Fiction-Spiel

    von Kevin Hofer

Einfache Skriptsprache

Ren’Py lade ich mir auf der offiziellen Seite herunter. Das Programm läuft auf Windows, MacOS und Linux. Weitere Software oder Treiber sind auf diesen Plattformen nicht nötig. Zum Coden kann ich die installierte Editor-App benutzen. Programmieren tue ich mit einer textbasierten Skriptsprache. Zocken ist sogar unter iOS und Android möglich.

Über den Launcher kann ich mein Projekt starten oder bearbeiten. Auf dem Bild siehst du auch gleich den Titel meines Spiels «The Keyboard Theft». Du weisst jetzt bereits, dass es in meinem Spiel um den Diebstahl einer Tastatur geht.

Der Launcher von Ren'Py ist die zentrale Schnittstelle zum Coden und Zocken.
Der Launcher von Ren'Py ist die zentrale Schnittstelle zum Coden und Zocken.
Quelle: Kevin Hofer

Zum Text kann ich Bilder, Videos und Musik hinzufügen. Meine Charaktere, Bilder und Co. definiere ich zentral. So kann ich auch schnell Änderungen vornehmen. Beispiel: Meinen Hauptcharakter Stevie definiere ich mit «define stevie = Character("Stevie", color="C4A277")». Wenn ich jetzt «stevie» und Text dahinter in Anführungszeichen tippe, weiss Ren’Py, dass es sich um einen Charakter handelt. Der Charakter wird als Sprecher ausgewiesen – mit entsprechendem Hex-Farbcode. Will ich etwas anpassen, muss ich das nur bei meiner Definition.

Links siehst du die Definition meiner Charaktere in Code und rechts, wie diese Definition dann im Spiel aussieht.
Links siehst du die Definition meiner Charaktere in Code und rechts, wie diese Definition dann im Spiel aussieht.
Quelle: Kevin Hofer

Noch einfacher ist es bei Bildern. Will ich beispielsweise ein Hintergrundbild einfügen, muss ich lediglich «scene» gefolgt vom Dateinamen angeben. Also beispielsweise «scene bg_room_1». Die Bilder lege ich immer im selben Ordner ab. Muss ich etwas am Bild ändern, überschreibe ich die Datei in diesem Ordner. So zeigt Ren’Py gleich das aktuelle Bild.

Effekte leicht gemacht

Bilder, Videos und Musik kann ich mit Effekten versehen. Das ermöglicht es mir, durch einfache Befehle Bilder zu animieren, sie auf dem Bildschirm zu verschieben, zu drehen oder zu skalieren. Will ich beispielsweise, dass ein neuer Hintergrund den alten nach oben rausschiebt, mache ich das mit dem Befehl «scene bg_introduction_carol with wipeup». Ich könnte sogar die Dauer des Effekts festlegen. All diese Befehle sind in der Ren’Py Dokumentation erklärt. Ich muss sie nur nachschlagen und entsprechend einfügen. Im Video siehst du die ersten Sekunden meines Spiels mit ein paar Effekten. Nichts Weltbewegendes, aber sie helfen dabei, die gewünschte Stimmung zu erzeugen.

Ren’Py unterstützt viele Formate. JPEG und transparente PNG bei Bildern, WAV und MP3 bei Musik sowie WEBM oder MPEG 4 bei Video, um nur einige zu nennen. Aber Vorsicht: Format ist nicht gleich Format. Gewisse WAV-Dateien können von Ren’Py dennoch nicht ausgespielt werden. Falls das der Fall ist, wird schlicht keine Musik abgespielt. Für mein Projekt setze ich deshalb auf das Format, mit dem ich nie Probleme in Ren’Py habe: MP3. Die Qualität reicht locker für mein Spiel. Selbstverständlich lässt sich Musik auch ein- und ausblenden oder pausieren.

Nicht das Coden ist die Herausforderung, sondern die Bilder

Tatsächlich ist das Coden sehr einfach. Wenn ich eine neue Szene geschrieben habe, starte ich jeweils das Projekt, um mir die Änderungen anzuschauen. So sehe ich gleich, wenn etwas nicht stimmt. Etwa, wenn ein Soundeffekt nicht abgespielt wird. Das hat wie erwähnt damit zu tun, dass Ren’Py das Dateiformat nicht erkennt. In diesem Fall spielt mir das Programm keine Fehlermeldung aus, was die Fehlersuche beim ersten Mal erschwert. Sobald ich aber den Grund kenne, passiert mir das nicht mehr. Beim Code ist es einfacher. Hier spielt mir Ren’Py eine Fehlermeldung mit Angabe der Codezeile aus, wie du auf folgendem Bild siehst.

Die Fehlermeldungen in Ren'Py sind sehr spezifisch und helfen mir dabei, Fehler rasch zu finden.
Die Fehlermeldungen in Ren'Py sind sehr spezifisch und helfen mir dabei, Fehler rasch zu finden.
Quelle: Kevin Hofer

In diesem Fall habe ich die Aussage von Stevie nicht mit einem Anführungszeichen abgeschlossen. Diese Fehlermeldungen sind praktisch und ich finde den Bug schnell. So komme ich mit Coden rasch voran und es erweist sich als einfach. Wie mir Youtuber Visual Novel Design verraten hat, ist es bei Ren’Py mehr oder weniger kopieren und einfügen.

Weniger schnell komme ich hingegen mit den Bildern, also meiner Grafik, voran. Auf welche Herausforderungen ich hier stosse, erzähle ich dir beim nächsten Mal.

15 Personen gefällt dieser Artikel


User Avatar
User Avatar

Technologie und Gesellschaft faszinieren mich. Die beiden zu kombinieren und aus unterschiedlichen Blickwinkeln zu betrachten, ist meine Leidenschaft.


Diese Beiträge könnten dich auch interessieren

Kommentare

Avatar