DENNIS.DEV
Oasis
Alle Projekte

Oasis

UnrealVRBachelor ThesisHardware

Gameplay Programmer

Oasis habe ich über zwei Semester gebaut. Das erste war ein Studienprojekt, in dem das Spiel selbst entstanden ist: ein Escape-Room in Unreal mit drei Ebenen und jeweils einem Rätsel, noch klassisch mit Controller. Im zweiten Semester wurde daraus meine Bachelorarbeit, und das eigentliche Herzstück kam dazu — der haptische VR-Raum, also die physische Installation hinter dem Spiel.

Geplant hatten wir das Ganze ursprünglich mit einem Motion-Capturing-Anzug und Handschuhen. Dann kam der Chipmangel und das bestellte System wurde schlicht nicht rechtzeitig geliefert. Also habe ich auf Plan B umgeschwenkt und alles mit HTC Vive Trackern zusammen-gehackt — was am Ende überraschend gut funktioniert hat.

Der Grundgedanke: statt Controllern nimmt der Spieler echte Objekte in die Hand. Die Uni hat mir einen Raum gestellt und mir Zugang zu einem 3D-Drucker gegeben. An den Wänden hingen die Puzzle-Props an Magneten, jeweils mit einem Tracker verbunden, der ihre Position in die VR gesynct hat. Damit die virtuelle Welt exakt mit der echten Geometrie übereinstimmt, habe ich den Raum mit dem LIDAR-Scanner meines iPads in 3D erfasst. Anhand dieser Daten konnte ich alle Props in Unreal auf den Millimeter genau platzieren — am Anfang jeder Session musste der Spieler nur drei Kalibrierungspunkte antippen und der ganze Raum saß.

Pro Ebene gab es eine Waffe — Schwert, Stab, Buch — und ein passendes Rätsel. Beim Schwert musste man Laser umlenken, um schwebende Inseln in die richtige Reihenfolge zu bringen. Beim Buch steckte man Orbs in passgenaue Fassungen. Mit dem Stab sollte man Schmetterlinge lenken, aber dieses letzte Rätsel habe ich zeitlich nicht mehr fertig bekommen.

Das Cleverste am System waren die Magnete. In VR siehst du ein vollständiges Schwert, physisch hältst du nur einen Griff mit Sensor. Bringst du die Waffe zurück an ihren vorgesehenen Platz an der Wand, zieht der Magnet sie dorthin — es fühlt sich an, als würde die VR-Welt dir das Objekt aus der Hand nehmen. Die Orbs waren Plastikkugeln mit Sensoren innen, ihre Wand-Fassungen halbrunde Magnet-Schalen, sodass die Kugeln gefühlt in der Luft schwebend hängen bleiben.

Auch das Level-Design musste die physischen Grenzen des Raums kaschieren. Meine Lösung: alles spielt auf schwebenden Inseln im Himmel. Niemand tritt freiwillig in offene Luft, also konnte ich Inseln exakt dort platzieren, wo ich den Spieler haben wollte. Durch geschicktes Rotieren desselben Grundrisses verschleierte ich zudem, dass man die ganze Zeit in einem einzigen Raum steht und Schwert- und Stab-Griff physisch dasselbe Prop sind.

Und zum Schluss der kleine Tutorial-Geist. Ein Ballon mit Stoffüberzug, an der Decke befestigt, über einen Motor mit Raspberry Pi gesteuert. Das Spiel hat dem Pi per Server-Call gesagt, wann der Geist runter- und wann wieder hochfahren soll. Während des Tutorials konnte der Spieler ihn tatsächlich berühren, danach war er einfach weg — das Projekt, bei dem ich am meisten über Hardware-Software-Integration gelernt habe.

▸ Trailer

VorherigesPumpkin Harvest
NächstesAmapo