Incom ist die Kommunikations-Plattform der Hochschule Augsburg Gestaltung

In seiner Funktionalität auf die Lehre in gestalterischen Studiengängen zugeschnitten... Schnittstelle für die moderne Lehre

Incom ist die Kommunikations-Plattform der Hochschule Augsburg Gestaltung mehr erfahren

paraplay hacks - play like a plumber

I. Ersten Ideen

I.I IBongo

Eine der ersten Ideen bestand darin, das Spiel Ubingo so zu modifizieren, dass eine Kamera erkennt, wenn eine Person das Puzzle erfolgreich gelöst hat. In diesem Moment würde die Zeit gestoppt, und die nächste Person hätte die Gelegenheit, diese Zeit zu unterbieten.

Web 1920 – 7.pngWeb 1920 – 7.png
Web 1920 – 8.pngWeb 1920 – 8.png

I.II Räuber und Gendam

Eine weitere Idee bestand darin, das Spiel „Räuber und Gendarm“ so zu erweitern, dass die Teilnehmer es zusätzlich mit ihren Smartphones spielen können. Eine Handy-App würde die Entfernung des suchenden Spielers zu den Flüchtigen erkennen. Wenn der Gendarm in Sichtweite ist und sich nahe genug befindet, hätte er den Räuber gefangen. Die Grundidee dabei war, das körperliche Bewegungsspiel für ein breiteres Publikum interessanter zu gestalten, indem es durch ein neues Interface bereichert wird.

Web 1920 – 1.pngWeb 1920 – 1.png
Web 1920 – 2.pngWeb 1920 – 2.png
Web 1920 – 5.pngWeb 1920 – 5.png
Web 1920 – 6.pngWeb 1920 – 6.png
Web 1920 – 4.pngWeb 1920 – 4.png
Web 1920 – 3.pngWeb 1920 – 3.png

I.III Mario mal anders

„Mario mal anders“ ist eine Idee, den klassischen Mario Jump-and-Run-Klassiker so zu verändern, dass er ausschließlich mit Autokomponenten gesteuert wird. In diesem Konzept würde das Laufen beispielsweise über das Lenkrad gesteuert und das Springen über einen Schalthebel.

Web 1920 – 9.pngWeb 1920 – 9.png
Web 1920 – 10.pngWeb 1920 – 10.png
Web 1920 – 11.pngWeb 1920 – 11.png

I.IV Barcode Battle

Die herkömmliche Art, einen FPS-Shooter ausschließlich mit Tastatur und Maus zu spielen, wirkt heutzutage etwas überholt. Daher haben wir uns entschieden, einen FPS-Shooter durch die Integration physischer Schnittstellen greifbarer und haptischer zu gestalten. 

Folgende Elemente wurden hinzugefügt:

Barcode-Scanner

Euer Barcode-Scanner wird zur Hauptwaffe des Spiels. Ihr feuert, indem ihr den Barcode scannt. Jeder gescannte Barcode lässt einen Schuss los.

Eye-Tracking

Die Augen sind eure primäre Methode zur Zielerfassung. Ihr richtet euren Blick auf einen Gegner, um ihn anzuvisieren und anzupeilen. Die Schüsse werden jedoch nicht automatisch abgefeuert, sondern ihr müsst den Abzug eures Barcode-Scanners betätigen, um zu schießen.

Pedale

Die Bewegung in der virtuellen Welt erfolgt über die Pedale. Ihr könnt euch vorwärts und rückwärts bewegen, indem ihr die Pedale betätigt. Dies ermöglicht taktische Bewegungen, um euch vor Feinden zu schützen und die Spielarena zu erkunden.

Ersten Skizzen

WEBBBBB.pngWEBBBBB.png
IMG_4697.jpgIMG_4697.jpg
WhatsApp Bild 2023-10-29 um 14.46.07_f928b1b2.jpgWhatsApp Bild 2023-10-29 um 14.46.07_f928b1b2.jpg

Weitere Ausführung

FULL.pngFULL.png
Pedals.pngPedals.png

II. Ausarbeitung der Idee

Play like a plumber

Willkommen in der Welt der Spiele mit Physical Interfaces

Tauchen Sie ein in eine einzigartige Verschmelzung von Super Mario und der faszinierenden Welt des Klempners! Bei unserem Projekt geht es darum, das allseits beliebte Super Mario-Spiel in eine noch nie dagewesene Erfahrung zu verwandeln. Unser Ansatz? Die Verbindung von Marios Abenteuern mit den Werkzeugen eines echten Klempners, um ein völlig neues Spielerlebnis zu schaffen.

Die Kunst der Transformation

Unsere Idee ist so innovativ wie aufregend: Stellen Sie sich vor, Sie steuern Mario nicht mehr mit den herkömmlichen Tasten, sondern mit Werkzeugen, die ein echter Klempner in seinem Alltag verwendet. Ein Ventil wird zum Schlüssel, um Mario durch das Level zu bewegen. Mit einer Saugglocke springen Sie mühelos über Hindernisse hinweg, und eine Wasserpumpenzange ermöglicht es Ihnen, sich gekonnt zu ducken und gleichzeitig mühelos mit einem Drehsprung über Gegner zu springen.

Verbinden von Spiel und Beruf

Unsere Vision besteht darin, nicht nur ein Spiel zu spielen, sondern in die Rolle eines Klempners zu schlüpfen und seine Werkzeuge geschickt zu nutzen, um Super Mario auf seiner Reise zu unterstützen. Diese kreative Verschmelzung eröffnet eine ganz neue Ebene des Spielens und ermutigt Spieler jeden Alters, ihre Fähigkeiten und Kreativität einzusetzen.

Treten Sie ein in unsere Welt der kreativen Spiele mit Physical Interfaces und entdecken Sie Super Mario in einem ganz neuen Licht!

ursprungsidee – 7.pngursprungsidee – 7.png
ursprungsidee – 2.pngursprungsidee – 2.png
ursprungsidee – 3.pngursprungsidee – 3.png

II.I Austellungskonzept

ursprungsidee – 6.pngursprungsidee – 6.png

II.II Next Steps

ursprungsidee – 5.pngursprungsidee – 5.png

III.I Work in progress

R.jpegR.jpeg

In unserem Projekt haben wir uns dazu entschieden, einen Emulator zu verwenden, um die gewünschten Funktionen zu realisieren. Der Weg dorthin war jedoch nicht ohne Herausforderungen, insbesondere beim Verbinden der Arduinos mit dem Emulator. Nach intensiver Arbeit konnten wir schließlich die passende Version des Emulators identifizieren und erfolgreich integrieren. Um die gewünschten Ergebnisse zu erzielen, war es außerdem erforderlich, einen Arduino Leonardo zu bestellen, da dieser als Joystick erkannt werden kann.

III.II Arduino als Joystick implementiert (Portotyp)

WhatsApp Bild 2023-12-18 um 17.35.27_0b767e6d.jpgWhatsApp Bild 2023-12-18 um 17.35.27_0b767e6d.jpg
WhatsApp Bild 2023-12-18 um 16.02.07_5f8114b1.jpgWhatsApp Bild 2023-12-18 um 16.02.07_5f8114b1.jpg

Das Highlight unserer jüngsten Bemühungen besteht darin, den Arduino erfolgreich in einen Controller umzubauen. Derzeit konzentrieren wir uns darauf, die Steuerung auf die Anforderungen einer Klempner-Tätigkeit anzupassen. Dabei stellt sich insbesondere die Frage nach der optimalen Verteilung der Kontrollelemente. Es ist entscheidend zu bestimmen, welche Aktionen an welchem Ort im Raum platziert werden und wie die Steuerung am effektivsten genutzt werden kann. Diese Aspekte werden durch einfaches Spielen, Umstellen und erneutes Spielen getestet, um die bestmögliche Konfiguration zu finden.

https://learn.sparkfun.com/tutorials/thumb-joystick-hookup-guide/processing-library-

Für die individuelle Steuerung haben wir spezifische Gegenstände ausgewählt, die den Spieler mit verschiedenen Aktionen im virtuellen Raum interagieren lassen. Hier sind die ausgewählten Objekte und ihre zugeordneten Funktionen:

Normales Ventil: Bewegung des Charakters.

Klospülung: Ducken oder Säuleninteraktionen (Button an der „Wand“)

Wasserzange: Springmechanismus

Knopf: Durch drücken Drehsprung

90-Grad-Ventil: Sprint

Diese Steuerungselemente wurden größtenteils an die entsprechenden virtuellen Objekte angebaut, um die Funktionalität im Spiel zu testen. Es handelt sich hierbei um Prototypen, die ausschließlich für Testzwecke konzipiert sind.

III.I Vorbereitung der Interfaceoberfläche

Screenshot 2024-01-22 004015.pngScreenshot 2024-01-22 004015.png
WhatsApp Bild 2024-01-06 um 23.24.32_8a6ec78e.jpgWhatsApp Bild 2024-01-06 um 23.24.32_8a6ec78e.jpg

Wir haben uns für unser Projekt eine Spanholzplatte ausgewählt und sorgfältig die Maße für den Zuschnitt markiert. Mit einer präzisen Stichsäge haben wir dann die Platte entlang der Markierungen zugeschnitten, um sicherzustellen, dass sie perfekt in unser Vorhaben passt.

Nachdem die Platten passgenau zugeschnitten waren, haben wir die Heißklebepistole aufgeheizt und den heißen Kleber gleichmäßig auf die zu verbindenden Flächen aufgetragen. Beim Zusammenpressen der Teile haben wir darauf geachtet, dass der Kleber sich gut verteilt und die Verbindung stabil wird.

Mit der getrockneten und stabilen Platte sind wir dann zum Bohren der Löcher übergegangen. Verschiedene Bohraufsätze kamen hierbei zum Einsatz, um die präzisen Löcher zu erstellen, die später für die Installation unserer Technik benötigt werden. Sorgfältiges Messen und gegebenenfalls die Verwendung von Schablonen haben dafür gesorgt, dass die Bohrungen exakt platziert sind.

Nachdem die Löcher gebohrt waren, begannen wir mit der Installation unserer Technik. Das umfasste das Einsetzen von Elektronik, Kabeln und anderen Komponenten in die vorbereiteten Löcher. Besonderes Augenmerk legten wir darauf, alles sicher zu befestigen und Kabelsalat zu vermeiden.

Zum Abschluss haben wir unser Werk überprüft, um sicherzustellen, dass alles stabil ist und wie geplant funktioniert.

III.II Technik

WhatsApp Bild 2024-01-06 um 23.24.28_2c511196.jpgWhatsApp Bild 2024-01-06 um 23.24.28_2c511196.jpg
Screenshot 2024-01-22 003955.pngScreenshot 2024-01-22 003955.png

Nachdem wir die Spanholzplatte mit der Heißklebepistole verklebt und die erforderlichen Löcher gebohrt hatten, haben wir uns auf die Integration der elektronischen Komponenten konzentriert. Als Schalter haben wir einen Keyswitch von einer Tastatur ausgewählt und die entsprechenden Kabel daran gelötet. Diese Kabel haben wir dann an den Arduino angeschlossen, um die Schalterbetätigung mit der elektronischen Steuerung zu verbinden.

Um den Arduino und andere Komponenten sicher zu befestigen, haben wir eine zusätzliche kleine Platte entworfen und an der Hauptplatte angebracht. Die Positionierung erfolgte sorgfältig, um eine einfache Bedienung und gute Erreichbarkeit zu gewährleisten.

Die Drehregler des Arduinos sowie eine Zange haben wir an den vorgesehenen Platz befestigt. Hierbei kam die Heißklebepistole erneut zum Einsatz, um eine sichere und stabile Fixierung zu gewährleisten. Der Einsatz von Karton als elastischem Untergrund für die Arduino-Regler ist eine kreative Lösung, um zusätzliche Stabilität und eine gewisse Flexibilität zu schaffen.

Nachdem alle Teile sicher befestigt waren, haben wir abschließend überprüft, ob die Schalter, Drehregler und andere Komponenten ordnungsgemäß funktionieren.

III.III Finaler Zusammenbau

WhatsApp Bild 2024-01-22 um 23.03.09_03bc6404.jpgWhatsApp Bild 2024-01-22 um 23.03.09_03bc6404.jpg
WhatsApp Bild 2024-01-21 um 15.04.31_a140c4af.jpgWhatsApp Bild 2024-01-21 um 15.04.31_a140c4af.jpg
WhatsApp Bild 2024-01-05 um 16.25.24_83cdaa97.jpgWhatsApp Bild 2024-01-05 um 16.25.24_83cdaa97.jpg
WhatsApp Bild 2024-01-21 um 14.20.26_a7e6c3eb.jpgWhatsApp Bild 2024-01-21 um 14.20.26_a7e6c3eb.jpg

Nachdem alle elektronischen Komponenten sicher auf der Holzplatte platziert waren, haben wir uns dem finalen Schritt gewidmet: dem Befestigen und Gestalten des Interfaces. Dieses Interface umfasst die Regler, das Rohr mit dem neuartigen Element, das Seil, welches über eine Art Seilwinde gesteuert wird und mit einem Arduino Joystick verbunden ist.

Zunächst haben wir das Interface fest mit der Holzplatte verbunden. Dies erfolgte durch  Kleben, um eine stabile und dauerhafte Verbindung zu gewährleisten. Die Positionierung wurde dabei sorgfältig gewählt, um eine optimale Erreichbarkeit und Nutzung der Regler und des Seils zu ermöglichen.

Das Rohr wurde ebenso sicher befestigt und daraufhin bemalt, um es dem Mario-Thema anzupassen. Die Auswahl der Farben und die Gestaltung des Rohrs tragen dazu bei, dem gesamten Projekt einen einheitlichen und ästhetisch ansprechenden Look zu verleihen.

Abschließend haben wir das gesamte Interface bemalt, um es an das Mario-Thema anzupassen. Die Farbgebung und die Details tragen dazu bei, dem Projekt eine persönliche Note zu verleihen und es visuell ansprechend zu gestalten.

Nach all diesen Schritten haben wir das vollständige Projekt überprüft, um sicherzustellen, dass alle Komponenten richtig funktionieren und dass das Gesamtbild den Erwartungen entspricht.

IV. Final Video

Source Code

include

const int buttonPin = 4;

const int potPinA0 = A0;

const int potPinA1 = A1;

const int thumbstickXPin = A2;

const int signalPin = 3;

const int a3Pin = A3;

Joystick_ joystick;

void setup() {

pinMode(buttonPin, INPUT_PULLUP);

pinMode(potPinA0, INPUT);

pinMode(potPinA1, INPUT);

pinMode(thumbstickXPin, INPUT);

pinMode(signalPin, INPUT_PULLUP);

pinMode(a3Pin, INPUT_PULLUP);

Serial.begin(9600);

}

void loop() {

int buttonState = digitalRead(buttonPin);

int potValueA0 = analogRead(potPinA0);

// Scale the potentiometer value from A1 to a 90-degree range

int potValueA1 = map(analogRead(potPinA1), 0, 1023, 0, 90);

int thumbstickX = analogRead(thumbstickXPin);

int signalState = digitalRead(signalPin);

joystick.setButton(0, buttonState);

joystick.setButton(1, potValueA0 < 150);

joystick.setButton(2, potValueA0 > 450);

joystick.setButton(3, potValueA1 < 45); // Adjust this threshold based on your needs

joystick.setButton(4, potValueA1 > 45); // Adjust this threshold based on your needs

joystick.setXAxis(thumbstickX);

int potValueA3 = analogRead(a3Pin);

joystick.setThrottle(potValueA3);

int a3ButtonState = digitalRead(a3Pin);

joystick.setButton(5, a3ButtonState);

if (signalState == LOW) {

joystick.setButton(6, HIGH);

} else {

joystick.setButton(6, LOW);

}

joystick.sendState();

delay(10);

}

-Daniel Schulz
-Johannes Schobel
-Kay Zettelmann

Fachgruppe

Interaktive Medien

Art des Projekts

Projekt-Tagebuch

Betreuung

foto: Daniel Schulz

Zugehöriger Workspace

Physical Interfaces / Mensch und Maschine / IA3

Entstehungszeitraum

Wintersemester 2023 / 2024