Zuerst war der berüchtigte Poolnudelschlagapparat: Auf dem Fusion Festival 2023 hatten wir ein paar Poolnudeln, ein paar Scheibenwischermotoren, und eine Holzkonstruktion mit Bildschirm und Raspberry Pi - also haben wir das einzig Sinnvolle getan, um diese Sachen zu kombinieren: Du spielst Flappy Bird, und wenn du zu schlecht bist, wirst du mit einer Poolnudel gehauen.

poolnoodle_hitting.gif

Danach meinte jemand, so etwas wäre als Item in Mario Kart ziemlich perfekt. Und weil ich wusste, dass es davon einen Open-Source-Clone gibt - SuperTuxKart - war die Idee geboren.

Was es ist

Zwei Spielende, jeweils in ihrem eigenen Kart, spielen lokal ein Rennen in SuperTuxKart. Wenn du ein In-Game-Item aufsammelst, wird nicht einfach nur der Gegner on-screen getroffen, sondern es gibt einen echten physischen Effekt direkt am Sitz: Ein Nebel-Burst, der dir kurz die Sicht nimmt, ein Wasser-Spritzer, der dich zucken lässt, oder ein harmloser Poolnudelschlagapparat-Whack. Fixe Installation, festivaltauglich, geeignet als schneller Lacher. Low latency, high chaos.

Diese Installation basiert auf ein paar Customizations am Open-Source-Code von SuperTuxKart, z.B. eigenen Items, die melden, wenn sie benutzt werden, sowie auf eigens gebauter Hardware wie dem Water-Spritzer, einer ethernet-connected Waage für Trink-Tuxkart, und den ethernet-connected Relay-Boxen, die im Kern dafür sorgen, dass die Items in der echten Welt wirklich auslösen.

Weil ich die Installation inzwischen sowohl aufs Zugvögel Festival als auch aufs Fusion Festival gebracht habe, wurden zwei unterschiedliche Sets an echten Karts gebaut, die jeweils vor Ort bleiben, sodass ich pro Festival nur noch die Eingeweide mitbringen muss.

Wie es funktioniert

Bisher sind diese Custom-Items dazugekommen:

  • Der Poolnudelschlagapperat, bestehend aus einer Poolnudel an einem Scheibenwischermotor an einem 12V-Netzteil
  • Ein Water-Spritzer an einem 5L-Kanister, der aufs Gesicht der Gegner zielt
  • Eine Nebelmaschine, die an ein Rohr unter dem Screen angeschlossen ist, sodass sie tatsächlich den Screen des Gegners verdeckt
  • Ein physischer Button ein paar Schritte entfernt, der vom der Gegner gedrückt werden muss, bevor weitergefahren werden kann
  • Zwei Autohupen, die hupen, wenn du deinen Gegner überholst oder In-Game-Nitro benutzt
  • Zwei digitale ethernet-connected Waagen, auf die man eine Flasche für Trink-Tuxkart stellen kann: Sie blocken dein Gaspedal wenn keine Flasche drauf steht und erlauben das Beenden der letzten Runde nur, wenn sie eine leere Flasche registrieren

Das Game läuft auf zwei Raspberry Pi 5, die in einem lokalen Netzwerk hängen. Zusätzlich hängen die Relay-Boxen sowie die Waagen in diesem Netzwerk. Die Custom-Items sind Additions im C++-Code des Spiels. Wenn eins davon benutzt wird oder eine Spielerin in eine Banane fährt, wird eine OSC-Message an eine der Boxen geschickt, um das jeweilige Item in der echten Welt beim Gegner (oder bei dir selbst, im Fall einer Banane) auszulösen. Es gibt außerdem mehrere andere Game-Events, die Actions triggern können, z.B. wenn die Karts sich nähern oder wenn die Spielenden Nitro benutzen und sich gegenseitig anhupen, oder dass der Verlierer am Ende die volle Dosis Items abbekommt. Um das Spiel spannender zu machen, kommt das Button-Press-Item nur dann, wenn eine Spielerin weit hinter dem anderen liegt, sodass sie wieder aufschließen kann, während der Gegner hektisch aus dem Kart springen muss, um den Button zu drücken.

Aktuell wird das Game mit gekauften USB-Lenkrädern gespielt. Da die aber aus billigem Plastik sind und generell nicht so happy damit sind, ständig eine gesunde Dosis Wasser abzubekommen, arbeite ich gerade an eigenen Lenkrädern, die das besser aushalten.

Wenn du eine gute Idee für ein weiteres Real-Life-Item hast, das man fürs Game benutzen könnte: hit me up oder schreib es unten in die Kommentare!