Akzeptanz von Tangible User Interfaces im AR Gaming
Transcription
Akzeptanz von Tangible User Interfaces im AR Gaming
Fachbereich 4: Informatik Akzeptanz von Tangible User Interfaces im AR Gaming Bachelorarbeit zur Erlangung des Grades eines Bachelor of Science (B.Sc.) im Studiengang Computervisualistik vorgelegt von Anna Katharina Hebborn Erstgutachter: Prof. Dr.-Ing. Stefan Müller (Institut für Computervisualistik, AG Computergraphik) Zweitgutachter: Dipl.-Inform. Martin Schumann (Institut für Computervisualistik, AG Computergraphik) Koblenz, im Juni 2011 Erklärung Ich versichere, dass ich die vorliegende Arbeit selbständig verfasst und keine anderen als die angegebenen Quellen und Hilfsmittel benutzt habe. Ja Nein Mit der Einstellung der Arbeit in die Bibliothek bin ich einverstanden. Der Veröffentlichung dieser Arbeit im Internet stimme ich zu. ................................................................................. (Ort, Datum) (Unterschrift) i Zusammenfassung Diese Arbeit beschreibt die Konzeption, Implementierung und Evaluierung eines Tangible Augmented Reality Spiels. Die Kombination von Augmented Reality und Tangible User Interfaces erweitert nicht nur die reale Umgebung, sondern macht virtuelle Komponenten greifbar. Der Spieler kann virtuelle Spielfiguren direkt und intuitiv steuern. Auf dieser Basis wird die Fragestellung, inwiefern der Einsatz von Tangible User Interfaces im AR Gaming weitere Möglichkeiten schafft, näher erläutert. Abstract This thesis describes the design, implementation and evaluation of a Tangible Augmented Reality Game. The combination of Augmented Reality and Tangible User Interfaces is expanding not only the real environment but also makes virtual components within reach available as a real tangible object. The player can control virtual characters directly and intuitively. On this basis, the question of how far the use of tangible user interfaces in AR gaming creates further opportunities will be addressed. ii Inhaltsverzeichnis 1 Einleitung 1.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2 Zielsetzung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3 Inhalt dieser Arbeit . . . . . . . . . . . . . . . . . . . . . . . . 2 Grundlagen 2.1 Begrifflichkeiten und Stand der Technik . . . . . . . 2.1.1 Augmented Reality . . . . . . . . . . . . . . . 2.1.2 Tracking, Markertracking und Registrierung 2.1.3 Augmented Reality und Interaktion . . . . . 2.1.4 Tangible User Interface . . . . . . . . . . . . . 2.2 Bibliotheken . . . . . . . . . . . . . . . . . . . . . . . 2.2.1 OpenCV . . . . . . . . . . . . . . . . . . . . . 2.2.2 videoInput Library . . . . . . . . . . . . . . . 2.2.3 ARToolKitPlus . . . . . . . . . . . . . . . . . 2.2.4 Blender . . . . . . . . . . . . . . . . . . . . . . 2.2.5 OGRE und OgreAL . . . . . . . . . . . . . . . 1 1 1 1 . . . . . . . . . . . 3 3 3 3 6 7 7 8 8 8 12 12 3 Tangible Augmented Reality im Bereich Gaming 3.1 Piplex – Pingus Plasticine Expierence . . . . . . . . . . . . . 3.2 Muntermacher – Denken und Bewegen . . . . . . . . . . . . 3.3 ARTierchen – Augmented Reality in touch . . . . . . . . . . 14 14 15 16 4 Konzeption des Spiels 4.1 Ziele und Anforderungen . . . . . . . . . . . . . . . 4.2 Die Grundidee des Spiels . . . . . . . . . . . . . . . 4.3 Das Spiel – FredsWorld . . . . . . . . . . . . . . . . . 4.3.1 Das Spielprinzip . . . . . . . . . . . . . . . . 4.3.2 Das Holzlabyrinth – Tangible User Interface 4.3.3 Die Spielfigur und weitere Spielelemente . . 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 17 18 18 18 19 20 Implementierung 5.1 3D Modellierung . . . . . . . . . . . . . . . . . . . . . . . . 5.2 Tracking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2.1 Kameraanbindung und Darstellung . . . . . . . . . 5.2.2 Erweiterung von ARToolKitPlus . . . . . . . . . . . 5.2.3 Integration und Initialisierung von ARToolKitPlus . 5.2.4 Tracking Button . . . . . . . . . . . . . . . . . . . . . 5.3 Verdeckungen . . . . . . . . . . . . . . . . . . . . . . . . . . 5.4 Detektion und Initialisierung der Wände . . . . . . . . . . 5.5 Initialisierung der Spielelemente . . . . . . . . . . . . . . . 5.6 Steuerung – Tangible Control . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 22 23 23 24 25 27 28 29 30 31 iii . . . . . . . . . . . . . . . . . . 5.7 5.8 5.9 5.10 Kollisionserkennung . . . . . . Virtuelle Spielkomponenten . . Sound . . . . . . . . . . . . . . . Overlays und Benutzerführung . . . . 34 36 38 38 6 Benutzertests 6.1 Zielsetzung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.2 Planung und Durchführung . . . . . . . . . . . . . . . . . . . 6.3 Auswertung . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 40 40 41 7 Ergebnisse 7.1 3D Modelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.2 Das TUI – Spielwelt . . . . . . . . . . . . . . . . . . . . . . . . 7.3 Das Spiel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 46 46 47 8 Ausblick 8.1 Optimierungsansätze und Erweiterungen . . . . . . . . . . . 8.2 Fortführung des Spielkonzepts . . . . . . . . . . . . . . . . . 8.3 Weitere Benutzertests . . . . . . . . . . . . . . . . . . . . . . . 49 49 50 50 9 Fazit 51 Anhang 54 A Materialdateien 54 B Benutzertest 55 C Tangible User Interface – Bauplan 61 D Screenshots 62 iv . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Abbildungsverzeichnis 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 Markertracking – Verschiedene Markerarten. . . . . . . ARToolKitPlus – Runtime Tracking Pipeline . . . . . . . ARToolKitPlus – Merkmalsdetektion . . . . . . . . . . . ARToolKitPlus – Identifizierung Rechtecke . . . . . . . ARToolKitPlus – Rektifizierung . . . . . . . . . . . . . . ARToolKitPlus – Zusammenhang Koordinatensysteme. Tangible Augemnted Reality – Piplex . . . . . . . . . . Tangible Augemnted Reality – Muntermacher . . . . . Tangible Augemnted Reality – ARTierchen . . . . . . . Konzeptskizze. . . . . . . . . . . . . . . . . . . . . . . . Konzeptskizze – Tangible User Interface. . . . . . . . . Konzeptskizze – Spielfigur Fred. . . . . . . . . . . . . . Konzeptskizze – Würmchen. . . . . . . . . . . . . . . . Grundlegender Ablauf . . . . . . . . . . . . . . . . . . . Tracking – Border Marker. . . . . . . . . . . . . . . . . . Tracking – Border Marker Rotation. . . . . . . . . . . . . Tracking Button – Region of Interest. . . . . . . . . . . . Verdeckung – Modell . . . . . . . . . . . . . . . . . . . . Detektion und Initialisierung der Wände. . . . . . . . . Detektion und Initialisierung der Wände – Ergebnis. . . Initialisierung der Spielelemente . . . . . . . . . . . . . Steuerung – 8 Laufrichtungen von Fred. . . . . . . . . . Steuerung – Berechnung der Laufrichtung. . . . . . . . Axis Aligned Bounding Box – Fred. . . . . . . . . . . . . Axis Aligned Bounding Box – Kollisionstest. . . . . . . Overlay – Einführung in den Spielbau. . . . . . . . . . . Benutzertests – Übersicht Probandengruppe. . . . . . . Benutzertests – Interface. . . . . . . . . . . . . . . . . . . Benutzertests – Auswertung Spiel. . . . . . . . . . . . . Benutzertests – Auswertung Allgemein. . . . . . . . . . Ergebnisse – 3D Modell Fred. . . . . . . . . . . . . . . . Ergebnisse – 3D Modell Wurm. . . . . . . . . . . . . . . Ergebnisse – TUI. . . . . . . . . . . . . . . . . . . . . . . Ergebnisse – Spiel. . . . . . . . . . . . . . . . . . . . . . Benutzertest – Fragebogen. . . . . . . . . . . . . . . . . Auswertung – Alle Probanden. . . . . . . . . . . . . . . Auswertung – Probanden 10-20 Jahre. . . . . . . . . . . Auswertung – Probanden 21-40 Jahre. . . . . . . . . . . Auswertung – Probanden 41-60 Jahre. . . . . . . . . . . Tangible User Interface – Bauplan. . . . . . . . . . . . . Screenshots. . . . . . . . . . . . . . . . . . . . . . . . . . Screenshots – Ausschnitt Overlays. . . . . . . . . . . . . v . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 9 10 10 11 12 15 15 16 19 20 21 21 22 24 26 27 28 29 30 31 32 33 34 35 39 42 43 44 45 46 46 47 48 55 56 57 58 59 61 62 63 1 1.1 Einleitung Motivation Bislang bilden in gebräuchlichen Computerspielen Bildschirm und gewöhnliche Eingabemittel den Zugang zur virtuellen Welt. Abgegrenzt von der virtuellen Umgebung versuchen wir virtuelle Objekte zu greifen. Die Kombination von Augmented Reality und Tangible User Interfaces bildet die Möglichkeit diese Grenze zwischen Realität und Virtualität zu durchbrechen. Vor allem im Bereich des Augmented Reality Gaming äußert sich der Wunsch nach grenzenloser Kombination virtueller und realer Welten. Zunächst stellt sich die Aufgabe der realistischen Integration virtueller Objekte in die reale Umgebung des Spielers. Virtuelle Objekte sollen nicht nur korrekt in der realen Welt dargestellt werden, sondern mit der realen Welt in Interaktion treten. Das Spiel soll ein Bestandteil der realen Umgebung des Spielers werden. Tangible User Interfaces (TUI) befördern hierzu die Interaktion in den dreidimensionalen Raum. Die gegenständliche Schnittstelle ermöglicht eine vertraute Interaktionsform. So kann der Spieler mit Hilfe materieller Gegenstände virtuelle Objekte manipulieren. Die virtuelle und reale Welt verschmelzen. Darüber hinaus blieb bislang die Interaktion im Augmented Reality Bereich aufgrund der hohen Anforderungen an die technische Umsetzung meist auf der Strecke. Grundlegend stellt sich somit die Herausforderung die Grenzen üblicher Computerspiele durch die visuelle Erweiterung und eine besonders intuitive Form der Interaktion zu überwinden. 1.2 Zielsetzung Die Zielsetzung dieser Arbeit ist die Konzeption und Entwicklung eines Tangible Augmented Reality Spiels. Neben dem Entwurf und der Implementierung eines geeigneten Spielkonzepts sowie der Integration der virtuellen Spielumgebung in die natürliche Umgebung stellt sich die Aufgabe der Konzeption und Entwicklung eines getrackten Tangible User Interfaces. Des Weiteren sollen die entstandenen Ergebnisse anhand eines Benutzertests evaluiert werden. Die Auswertung der Benutzertests soll unter anderem die Einschätzung erlauben, ob Tangible User Interfaces genügend Potenzial bereitstellen die Lücke zwischen realer und virtueller Welt zu schließen. 1.3 Inhalt dieser Arbeit Im nächsten Kapitel werden die Grundlagen, die zum wesentlichen Verständnis der Arbeit dienen, erläutert. Das Kapitel 3 gewährt uns einen Einblick in bestehende Konzepte, die für diese Arbeit den nötigen Reiz gaben. 1 Daraufhin folgt im Kapitel 4 der Entwurf des Spiels. Im 5 Kapitel wird daraufhin näher auf die Umsetzung des Spielkonzepts eingegangen. Zur Evaluation der Ergebnisse wurden Benutzertests durchgeführt. Die Durchführung sowie die Auswertung der Benutzertests sind Gegenstand des Kapitels 6. Anschließend wird das entstandene Spiel kurz präsentiert und ein kleiner Ausblick gegeben. 2 2 Grundlagen In diesem Kapitel werden zunächst grundlegende Begrifflichkeiten geklärt. Darüber hinaus wird ein Einblick ins Forschungsgebiet der Augmented Reality sowie Tangible User Interfaces geschaffen. Zusätzlich wird ein kleiner Überblick über die Bibliotheken gegeben, die bei der späteren Umsetzung von Bedeutung sind. 2.1 Begrifflichkeiten und Stand der Technik Im Folgenden werden Begriffe kurz definiert und ausschließlich die relevanten Themen und Probleme, die uns unter anderem bei der Entwicklung begegnen werden, dargestellt. 2.1.1 Augmented Reality Der Grundgedanke bei Augmented Reality Anwendungen ist virtuelle Informationen mit dem realen Sichtfeld des Betrachters oder einer Kamera zu überlagern. Die visuelle Einblendung unterstützt den Betrachter in der Interaktion mit der realen Umgebung oder mit realen Objekten (vgl. [Mül10b]). Im Idealfall verschmelzen reale und künstliche Welt zu einer Einheit (vgl. [Hor04, S. 12]). Dabei wird die reale Welt durch virtuelle Objekte in Abhängigkeit vom aktuellen Blickpunkt und Position des Betrachters überblendet. Augmented Reality zeigt eine große Vielfalt im Anwendungsbereich. Unter anderem findet man Ansätze in der Medizin, Tourismus, Navigation, Wartung, Montage und Spielen. Eine kommerzielle Entwicklung ist bislang nicht deutlich geworden. Anwendungen in diesem Gebiet kommen meist infolge von Problematiken, die die technische Umsetzung betreffen, nicht über den Forschungsstatus hinaus. Dennoch zeigt sich ein kleiner Anstieg in der Unterhaltungsindustrie. In diesem Bereich finden sich vor allem immer mehr AR Systeme, welche unter anderem auf dem so genannten Markertracking (Abschnitt 5.2) basieren. Bei der Entwicklung einer AR-Anwendung stellen sich im Allgemeinen drei grundlegende Aufgaben: Darstellung, Tracking und Interaktion (vgl. [Tön10, S. 4]). Zur Darstellung dienen zum Beispiel mobile Geräte oder spezifische Displays wie HMDs (Head-Mounted Display). Der wichtigste und zugleich schwierigste Teilbereich hingegen liegt im Trackingvorgang. Dieser wird in Abschnitt 2.1.2 näher erläutert. Mit der Interaktion im Bereich Augmented Reality befasst sich Abschnitt 2.1.3. 2.1.2 Tracking, Markertracking und Registrierung Tracking und Registrierung Bei der Entwicklung einer AR-Anwendung nimmt der Trackingvorgang eine fundamentale Stellung ein. Es stellt sich 3 immer wieder die Herausforderung die Position und Orientierung von Objekten im Raum zu bestimmen. Dies bildet die Grundvoraussetzung, um virtuelle Komponenten mit der realen Umgebung in Einklang zu bringen. Nur durch die exakte Bestimmung vom Blickpunkt des Betrachters beziehungsweise der Kamera kann eindeutig bestimmt werden, wann, wo und in welcher Perspektive virtuelle Objekte eingeblendet werden sollen (vgl. [Mül10b]). Bewegt sich der Betrachter zum Beispiel im Raum, sind virtuelle Elemente entsprechend in ihrer Größe, Position und Orientierung anzupassen. Der Vorgang, der einen räumlichen Bezug zwischen virtuellen Objekten zu der realen Umgebung schafft und im engen Zusammenhang zum Tracking steht, wird als Registrierung (engl. registration) bezeichnet (vgl. [Azu95, S. 18]). Fehlerhafte Registrierung wie zum Beispiel falsche Perspektive kann zu Wahrnehmungsproblemen und zur Minderung des Immersionsgefühls führen. Das so genannte Registrierungsproblem (registration problem), welches uns in der Umsetzung noch begegnen wird, trägt somit derzeit immer noch dazu bei, dass viele Augmented Reality Anwendung nicht akzeptiert werden (vgl. [Azu95, BR05]). Neben der dreidimensionalen Ausrichtung sind visuelle Korrelation der realen Umgebung, wie Schatten oder Verdeckungen, aber auch physikalische Gesetzmäßigkeiten, die durch Bewegung virtueller Objekte oder Kollision mit der realen Umgebung auftreten, auf die Augmented Reality Szenerie zu übertragen (vgl. [BWRT96, S. 1]). Dies vermeidet Verwirrung und stärkt den Eindruck der Koexistenz beider Welten. Markertracking Markerbasiertes Tracking gehört zu den optischen Trackingverfahren und ermöglicht die Ergänzung von einem realen Videobild mittels Einblendung von visuellen Gegenständen. Die Kernidee liegt darin, einen Marker, dessen Eigenschaften wie Form und Größe bekannt sind, als Orientierungspunkt in der realen Welt zu platzieren beziehungsweise an dem zu trackenden Objekt anzubringen. Das Tracking der Marker, im Wesentlichen eine Merkmalsextraktion, ermöglicht die Bestimmung von Position und Orientierung und somit die korrekte Einblendung von virtuellen Objekten. Mit Hilfe von einem Kamera-Tracking-System wird diesbezüglich die relative Lage zwischen Marker und Kamera ermittelt. Während des gesamten Trackingvorgangs wird dem Begriff des Findens eine besondere Bedeutung zugewiesen. Das Tracking wird hier eher im Sinne von finden statt verfolgen verstanden (vgl. [Mül10b]). Im Vordergrund steht dementsprechend die Detektion des Markers und infolgedessen die Berechnung der Position und Orientierung der Kamera. 4 Markertracking – Allgemeiner Markeraufbau Marker sind in den meisten Fällen Quadrate mit einem schwarzen Rahmen. Im Zentrum befindet sich je nach System endweder eine Bitkodierung oder ein beliebiges asymmetrisches Muster. Das Innere dient zum einen zur vollständigen Identifikation und zum anderen, um die Drehung um die vertikale Achse des Markers zu bestimmen. Abbildung 1: Markertracking – Verschiedene Markerarten. Links: bekannter ARToolKit Marker [ARTa], Rechts: ID-Marker [ARTb] Markertracking – Allgemeiner Tracking Ablauf Im Allgemeinen kann der Trackingprozess durch die drei Kernschritte: Bildaufnahme, Detektion der Marker und die Bestimmung der extrinsischen beziehungsweise äußeren Kameraparameter (Position und Pose) beschrieben werden. Die Trackingdaten, die bestenfalls die exakten extrinsischen Parameter der Kamera beinhalten, ermöglichen die lagegerechte Integration von virtuellen Objekten in die reale Umgebung. Als Eingabe dient in der Regel ein Videodatenstream. Im aufgenommenen Videobild erfolgt mit Hilfe von bildverarbeitenden Methoden die Detektion der Marker. In den meisten Fällen wird diesbezüglich, folgend an einen Bildvorverarbeitungsprozess, ein Binärbild auf Rechteckformen untersucht. Sind die Rahmenkanten des Markers gefunden, folgt die Identifizierung der Eckpunkte. Im nächsten Schritt wird durch ein MatchingVerfahren, das je nach Trackinssystem variiert, festgestellt, ob es sich in der Tat um einen Marker handelt. Darüber hinaus wird der Marker anhand seiner ID eindeutig identifiziert. Die Position und Ausrichtung der Kamera kann daraufhin in Relation zum Marker berechnet werden (vgl. [Mül10b]). Infolgedessen ist das Fundament für das kombinierte Bild aus Realität und Virtualität geschaffen. Ergibt sich eine Änderung in der Position oder Orientierung des Markers wird ein Korrekturschritt verwendet um den virtuellen gebundenen Gegenstand wieder in Deckung mit der Realität zu bringen (vgl. [Mül10b]). 5 Markertracking – Stärken und Schwächen Ein deutlicher Schwachpunkt des Markertrackings liegt darin, dass sich der Marker für einen erfolgreichen Trackingvorgang im Sichtfeld der Kamera befinden muss und somit auch für unbeteiligte Personen sichtbar ist. Das Resultat ist ein geringer High-Tech-Faktor. Des Weiteren reagieren viele Markertrackingsysteme häufig anfällig auf Beleuchtungschwankungen oder auch Schattenwürfe. Dennoch beweist sich Markertracking durch belanglosen Technologieaufwand, einfache Anwendung und geringe Kosten. Hinzukommend werden im Gegensatz zu den meisten anderen Trackingverfahren keine physischen Verbindungen wie zum Beispiel Kabel benötigt. Dadurch wird eine hohe Mobilität erreicht – das System ist relativ einfach und schnell im Freien einsetzbar. Zudem liefern andere optische Trackingverfahren meist nur eine Identifizierung (ID). Markerbasiertes Tracking hingegen liefert eine Identifikation und Orientierung beziehungsweise Kamera-Pose (vgl. [Mül10b]). Grundlegend ist der Entschluss zur Verwendung von Markertracking aufgrund der simplen Handhabung, dem geringen Aufwand und der Echtzeitfähigkeit gefallen. 2.1.3 Augmented Reality und Interaktion Meist tritt die Interaktion bei der Entwicklung einer Augmented Reality Anwendung in den Hintergrund. In vielen Fällen wird der technischen Umsetzung, die zum Beispiel das Tracking und die Registrierung umfasst, höhere Aufmerksamkeit geschenkt. Dementsprechend beschränkt sich ein Großteil der Systeme auf das passive Betrachten von virtuellen Informationen in der realen Umgebung (vgl. [BKP08]). Die Eingabe und Interaktion gestaltet sich generell in den meisten AR Systemen schwierig. Konventionelle Eingabemittel wie Maus und Tastatur sind gar nicht oder nur bedingt geeignet. Die 2D-Eingabe über Tastatur oder Maus muss zum Beispiel bei der Rotation eines Gegenstands in eine 3D-Eingabe transformiert werden (vgl. [Tön10, S. 96]). Möchte man die Freiheit geben, Objekte einfach mit der Hand zu bewegen und die Illusion der vollkommenen Kombination realer und virtueller Welt bewahren, sind andere Interaktionskonzepte gefragt. Gesucht werden Möglichkeiten, die die Interaktion in den dreidimensionalen Raum zu verschieben. Im Hinblick auf diese Arbeit wird das Konzept der Tangible User Interfaces, die eine natürliche Interaktion im dreidimensionalen Raum ermöglichen, in Abschnitt 2.1.4 näher erläutert. Neben TUIs bieten markerbasierte Techniken die geforderte Interaktionsmöglichkeit. Diese Konzepte basieren im weitesten Sinne auf einem ähnlichen Gedanken und werden gelegentlich auch als solche bezeichnet. Marker können zum Beispiel verwendet werden, um virtuelle Objekte im Raum zu platzieren oder eine Knopffunktion zu übernehmen. Die assoziierte Funktion kann durch eine Verdeckung des Markers – der Marker wird für eine gewisse Zeit nicht getrackt – aus6 gelöst werden. Neben der Positionierung kann an bestimmte Gesten, wie Schütteln oder Drehen, eine Eingabe in das System gebunden werden. Jedoch muss dem Benutzer hierzu die jeweilige Geste und deren Bedeutung bekannt sein. Ansonsten werden entsprechende Hinweise benötigt. Wie im folgenden Kapitel verdeutlicht wird, gehen Tangible User Interfaces einen Schritt weiter (vgl. [Tön10, S. 98]). 2.1.4 Tangible User Interface Tangible User Interfaces (TUIs) kann man als gegenständliche beziehungsweise materielle Schnittstellen auffassen. Der Kerngedanke der Forschung ist reale Objekte aus dem täglichen Umfeld des Menschen zu nutzen, um digitale Daten haptisch erfassbar zu machen. Gewohnte Umgangsformen werden somit auf die Mensch-Computer-Interaktion übertragen. Das Aufkommen von Tangible User Interfaces ist eng mit der Entwicklung von Augmented Reality verknüpft. Grundsätzlich verfolgen beide Forschungszweige die Idee Computer und Software mit unserer Umwelt zu verschmelzen. Das gemeinsame Ziel ist es, die den Menschen umgebende reale Welt durch virtuelle Komponenten und Fähigkeiten zu bereichern. Dennoch muss hier zwischen Augmented Reality und Tangible User Interfaces ganz klar unterschieden werden. TUIs bieten uns ein spezifisches Konzept zur Gestaltung von Schnittstellen, können aber durchaus ein Bestandteil von AR Anwendungen sein. Umgekehrt stellt AR die nötigen technischen Hilfsmittel zur Entwicklung und Umsetzung von TUIs bereit (vgl. [Hor04, S. 9ff.]). Die Ausgangsmotivation im Hinblick darauf bildet die wachsende Unzufriedenheit mit der Steuerung des Computers mit Maus und Tastatur, die den Menschen auf Augen und Finger reduziert. Die Fähigkeiten des Menschen sich in der realen Welt zu bewegen und zu agieren, welche stark ausgeprägt sind, bleiben vollkommen unbeachtet (vgl. [Hor04, S. 9ff.]). Beim TUI Konzept hingegen soll die den Menschen umgebene Welt selbst zum Interface werden. Interaktionsformen sollen auf den Fertigkeiten des Menschen aufbauen. Dementsprechend werden virtuelle Objekte mit physikalischen Alltagsgegenständen gekoppelt (vgl. [IU97]). Ishii und Ullmer [IU97] definierten hierzu den Begriff "Tangible Bits". Digitale Daten (Bits) sollen greifbar werden um die Lücke zwischen virtueller und realer Umgebung zu schließen (vgl. [IU97, S. 2]). 2.2 Bibliotheken Im folgenden Abschnitt werden die für die Umsetzung relevanten Bibliotheken vorgestellt und prägnante Aspekte, die ausschlaggebend für die spätere Umsetzung sind, näher erläutert. 7 2.2.1 OpenCV OpenCV1 (Open Source Computer Vision) bildet eine freie zugängliche Programmbibliothek, welche zahlreiche Algorithmen und Funktionen für den Bereich Computer Vision umfasst. Sie ist für die Programmiersprachen C und C++ geschrieben und steht unter den Bedingungen der BSD-Lizenz2 für kommerzielle sowie nicht kommerzielle Anwendungen zur Verfügung. OpenCV ist mit einem starken Fokus auf die Echtzeitfähigkeit gestaltet worden. Ein wesentliches Ziel von OpenCV ist es, eine einfache Lösung und Basisstrukturen zur Umsetzung von Anwendung im Bereich Computer Vision bereitzustellen. Die Library umfasst über 500 Funktionen (vgl. [BK08, S. 1]). Die Stärke der Bibliothek zeigt sich dementsprechend durch die Echtzeitfähigkeit der Algorithmen sowie den Funktionsumfang. Die Bibliothek stellt vor allem grundlegende Funktionalität der Bildverarbeitung bereit, die bei der Umsetzung von Nutzen ist. 2.2.2 videoInput Library videoInput3 ist eine freie C++ Bibliothek zur reinen Kameraanbindung. Im Gegensatz zu OpenCV bietet sie eine bessere Kontrolle bei der Einstellung der Kameraparameter. Sämtliche kameraspezifische Einstellungen können direkt im Quellcode oder über ein separates Fenster erfolgen. Darüberhinaus beweist sich die Library durch ihre hohe Geschwindigkeit. 2.2.3 ARToolKitPlus ARToolKitPlus4 ist eine Open Source C++ Softwarebibiliothek, die unter der GPL-Lizenzierung 5 steht und auf der Erkennung von optischen Markern basiert. ARToolkitPlus gilt als Weiterentwicklung von ARToolkit und ist als Nebenprodukt des „Handheld AR projects“der Studierstube an der Technischen Universität Graz entstanden. Im Kern handelt es sich um ein sogenanntes Kamera-Tracking-System, das aus Kamerabildern die relative Lage zwischen der Kamera und Marker ermittelt und dadurch das korrekte Einblenden von virtuellen Objekten in das Kamerabild ermöglicht. ARToolKit und ARToolKiPlus im Vergleich Im Gegensatz zu ARToolKit beschränkt sich ARToolKitPlus auf die grundlegenden Trackingalgorithmen, die vom Vorgänger teils übernommen und erweitert wurden. Es 1 http://opencv.willowgarage.com/wiki/, Stand 15.04.2011 http://www.opensource.org/licenses/bsd-license.php, Stand 15.04.2011 3 ttp://studierstube.icg.tu-graz.ac.at/handheld_ar/artoolkitplus. php, Stand 20.04.2011 4 http://muonics.net/school/spring05/videoInput/, Stand 18.04.2011 5 http://www.gnu.org/licenses/gpl.html, Stand 18.04.2011 2 8 wird weder eine Videoanbindung noch eine Darstellungskomponente bereit gestellt. ARToolkitPlus richtet sich somit an erfahrene Programmierer und ist prinzipell nicht für den Einstieg in Sachen Markertracking gedacht (vgl. [ARTb]). Die Verwendung von bitkodierten Markern und ein robustes Trackingverfahren liefern zuverlässigere Ergebnisse als der Vorgänger ARToolKit. Das aufwendige, rechenintensive und teils ungenaue PatternMatchingverfahren, dass das Bitmap-Muster des Markers mit abgespeicherten vergleicht, wurde durch das Auslesen einer Bit-ID ersetzt. ARToolKitPlus liefert 4096 vorgefertigte Marker, die intern bereits einer Zuordnung unterliegen. Lästiges Anlernen von Markern, wie es bei ARToolKit der Fall ist, bleibt aus. Die ID wird durch eine 9 Bit-Zahl in einem 6x6 Muster repräsentiert. Zur Umsetzung des ID-Detektionsalgorithmus lieferte ARTag die nötige Inspiriation. Das robuste Trackingverfahren wird durch automatisches Thresholding und den Ausgleich des radialen Helligkeitsabfalls erreicht. Die dynamische Adaption des Schwellwerts zeigt sich durch bessere Resistenzeigenschaften gegenüber Beleuchtungsänderungen. Des Weiteren wird die Detektion des Markers durch den Ausgleich des radialen Helligkeitsabfall im gesamten Bildbereich möglich. Darüber hinaus kann die Breite des Markerrahmens variieren (vgl. [ARTb]). Dem Entwicklern bleiben mehr Freiheiten und ein Tracking auf größeren Distanzen wird möglich. Trackingablauf – Runtime Tracking Pipeline Die Runtime Tracking Pipeline nach Wagner [Wag07] wird von jedem neu verfügbaren Kamerabild durchlaufen. Wurden ein oder mehrere Marker im Bild identifiziert, so ist das Ergebnis eine Liste von Trackingdaten, die die Posen der jeweiligen Marker beinhalten (vgl. [Wag07, S. 41]). Wie in der Abbildung 2 deutlich wird, werden fünf Basisschritte bis zum Erhalt der Trackingdaten benötigt. Abbildung 2: ARToolKitPlus – Runtime Tracking Pipeline [Wag07] 9 Merkmalsdetektion – Fiducial Detection Zur Extraktion der Kontur erfolgt zunächst ein Thresholding. Das Binärbild wird daraufhin zeilenweise von rechts nach links durchlaufen. Findet sich eine Sequenz mit einem Wechsel zwischen gesetzten und ungesetzten Pixel wird die entsprechende Kante abgelaufen. Ist der Startpunkt wieder erreicht handelt es sich um einen potenziellen Marker. Bereits besuchte Pixel werden dabei markiert, sodass die jeweiligen Kanten nicht mehrfach abgelaufen werden (vgl. [Wag07, S. 42]). Abbildung 3: Merkmalsdetektion in ARToolKitPlus. Links: Ursprungsbild; Mitte: Binärbild, Rechts: Drei geschlossene Polygone als Rechteckkandidaten. [Wag07] Identifizierung von Rechtecken – Rectangle Fitting Beim Rectangle Fitting sind die vorliegenden Konturen auf ihre Rechteckform zu untersuchen. Hierbei wird unter der Annahme vorgegangen, dass ein Rechteck vier, meist gerade Linien hat, die sich in vier Eckpunkten schneiden. Um die Eckpunkte zu ermitteln, wird ein Eckpunkt, der einen maximalen Abstandswert zu einem anderen beliebigen Konturpunkt aufweist, als erster Eckpunkt definiert. Daraufhin wird der Massepunkt aller Konturpunkte ermittelt und eine Linie zwischen dem ersten Eckpunkt und diesem Punkt gezogen. Beide anderen Eckpunkte sind nun dadurch definiert, das sie den größten Abstand zur ermittelten Linie darstellen. Dies wird anhand einer Linie zwischen den letzten beiden berechneten Punkten wiederholt, um den letzten Eckpunkt zu berechnen (vgl. [Wag07, S. 42-43]). Abbildung 4: Beispiel: Identifizierung von Rechtecken. [Wag07] Identifizierung des Markers – Pattern Checking Im folgenden Schritt wird es notwendig zu überprüfen, ob die ermittelten Rechtecke gültige 10 Marker darstellen. Hierzu erfolgt zunächst die Rektifizierung des Markerbildes. Die Verzerrung des Markers wird durch die lineare Transformation der Markerkoordinaten in Bildkoordinaten korrigiert. Diese Transformation bezeichnet man als Homographie. Die Homographie Matrix wird durch die vier Punktkorrespondenzen, die die gefundenen Eckpunkte präsentieren, ermittelt. Im nächsten Schritt unterscheidet ARToolKitPlus zwischen vier verschiedenen Pattern Checking Methoden (vgl. [Wag07, S. 44ff.]). In dieser Arbeit ist vor allem der übliche ID-Marker von Bedeutung. Bei dem Verfahren für ID-basierte Marker kann direkt ein Bitcode aus dem rektifizierten Pattern gewonnen und die entsprechende ID ermittelt werden (vgl. [Wag07, S. 45]). Abbildung 5: Rektifizierung des Markerinneren. Links: Definierte Innenraum anhand der Eckpunkte, Mitte: Abstatungsraster für die Rektifizierung, Rechts: Rektifizierter Innenraum. [Wag07] Bestimmung der extrinsischen Kameraparameter – Lens Undistortion and Pose Estimation Bei Bestimmung der Position und Ausrichtung der Kamera spielen drei verschiedene Koordinatensysteme eine Rolle: Das Markerkoordinatensystem, das Bildschirmkoordinatensystem und das Kamerakoordinatensystem (vgl. [Car]). Die unterschiedlichen Koordinatensysteme werden in Abbildung 6 auf Seite 12 dargestellt. Gesucht wird die Transformation des Markerkoordinatensystem in das Kamerakoordinatensystem. Um an dieser Stelle eine eindeutige Lösung zu erhalten sind mindestens vier Korrespondenzpunkte notwendig (vgl. [Mül10b]). ARToolKitPlus nutzt wie die meisten Systeme die bekannten Eckkoordinaten des Markers. Diese sind am einfachsten zu ermitteln und liefern eine gewisse Präzision, da die Punkte der Ecken die größten Abstände untereinander aufweisen (vgl. [Mül10b]). Aufgrund des vorangegangenen LensUndistortion-Schrittes werden Verzerrungen der Kamera anhand der intrinsischen Kameramatrix korrekt berücksichtigt. Die intrinsische Kameramatrix kann einmalig durch eine Kalibrierung ermittelt werden (vgl. [Wag07]). Dementsprechend kann mit Hilfe von den bekannten Eckpunkten des Markers, die jeweils im Markerkoordinatensystem als auch im Bildschirmkoordinatensystem vorliegen, sowie der intrinsischen Kameramatrix die Matrix zur gesuchten Transformation berechnet werden. 11 Abbildung 6: Zusammenhang Koordinatensysteme. [Car] 2.2.4 Blender Blender6 ist eine Open Source 3D-Grafik Software, die unter der GPL-Lizenz für alle gängigen Betriebssysteme erhältlich ist. Als 3D Modellierungs- und Animationswerkzeug bietet Blender die Möglichkeit dreidimensionale Szenen und Objekte zu erstellen, zu texturieren, zu animieren und zu rendern. In dieser Arbeit wird die Blender Version 2.49 verwendet. Blender 2.49 ermöglicht die Einbindung des Blender 2.5 Exporters7 und somit den Export zu OGRE, das für die Darstellung verwendet wird. 2.2.5 OGRE und OgreAL ORGE 3D8 (Object-Oriented Graphics Rendering Engine) ist eine in C++ geschriebene Open-Source-Engine zur grafischen 3D Darstellung. Die szenenorientierte und flexible 3D Engine steht unter der MIT-Lizenz9 und unterstützt die gängigen Betriebssysteme wie Windows, Linux und Mac OS X. Mit einem klar objektorientierten Aufbau, einem ausführlich dokumentierten Beispielframework und einer großen Community bietet OGRE gute Einstiegsmöglichkeiten. OGRE verfolgt in erster Linie ein Szenegraphenkonzept. Hierzu werden 6 http://www.blender.org/, Stand 20.04.2011 http://www.ogre3d.org/tikiwiki/Blender+Exporter, Stand 28.04.2011 8 http://www.ogre3d.org/, Stand 20.04.2011 9 http://www.opensource.org/licenses/mit-license.php, Stand 20.04.2011 7 12 alle erzeugten Objekte in eine objektorientierte Struktur, die den logischen Aufbau und die räumliche Anordnung der darzustellenden Szene beschreibt, angefügt. Dabei bildet die Klasse Ogre::Root das Wurzelelement und den Einstiegspunkt in das Programm. Die Engine beschränkt sich lediglich auf die Grafikdarstellung von 3D Szenen. Funktionen wie Kollisionserkennung, Physiksimulation oder Sound können somit nur durch die Anbindung von weiteren Bibliotheken bereit gestellt werden. Angesichts dessen wird zusätzlich OgreAL10 verwendet. OgreAL ist ein Wrapper von OpenAL und erlaubt eine nahtlose Integration von Audiodaten in die Ogre Applikation. Die plattformunabhängige 3D Audio API OpenAL ermöglicht die Erzeugung von 3D Sound und findet in Computerspielen und anderen Audioanwendungen Verwendung. OgreAL unterstützt die Wiedergabe der Audioformate wav und ogg und ist kompatible mit OpenAL 1.1. Der Wrapper erlaubt den Zugriff auf sämtliche Kernfunktionalitäten von OpenAL (vgl. [Ogr]). 10 http://www.ogre3d.org/tikiwiki/OgreAL, Stand 20.04.2011 13 3 Tangible Augmented Reality im Bereich Gaming Tangible Augmented Reality (TAR) beschreibt die Kombination von Tangible User Interface und Augmented Reality. TAR sichert eine nahtlose Interaktion zwischen realen und virtuellen Welten. Es wird eine Auswahl an natürlichen Interaktionsmöglichkeiten geboten, welche in gängigen AR Schnittstellen schwer zu finden sind (vgl. [BKP08]). Besonders Spiele profitieren von der direkten dreidimensionalen Interaktionsform. Die Bedienung wird vereinfacht und der Realismus wird erhöht (vgl. [US03]). Um einen Einblick in die Tangible User Interfaces im AR Gaming zu erhalten und zur Ideenfindung, werden im Folgenden drei unterschiedliche TARKonzepte vorgestellt. 3.1 Piplex – Pingus Plasticine Expierence Pipilex steht für Pingus Plasticine Expierence und stellt einen Prototyp für ein Kinderspiel dar. Das Spielprinzip basiert auf dem bekannten Spiel „Lemmings“. Geschöpfe – Pinguine – gehen nur geradeaus bis sie auf ein Hindernis treffen oder in den Abgrund stürzen. Der Spieler erhält die Aufgabe eine Gruppe von Pinguinen vom Start ins Ziel zu führen und währenddessen Hindernisse zu umgehen (vgl. [BLC+ 10]). Das Spiel verwendet ein für diese Arbeit interessantes und darüber hinaus außergewöhnliches Interaktionskonzept, denn die Schnittstelle bildet gewöhnliche Knetmasse in unterschiedlichen Farben. Um den Pinguinen eine neue Richtung zu geben kann die Masse nach Belieben geformt und in der Spielumgebung platziert werden. Dies wird in Abbildung 7 auf Seite 15 rechts verdeutlicht. Darüber hinaus kann der Benutzer vor dem Beginn des Spiels, die Spielumgebung frei aus Papier gestalten. Dazu erhält der Spieler verschieden bedruckte Papierbögen, aus denen er sich zum Beispiel Wasser oder Stege ausschneiden und im Spielbereich platzieren kann (siehe Abbildung 7 auf Seite 15 links). Die Kernidee ist dem User ein gemeinschaftlichorientiertes Spiel zu bieten. Die Benutzer sollen die Möglichkeit erhalten ihre eigne Spielumgebung zu schaffen und durch die Modellierung von verformbarem Material mit virtuellen Komponenten in Interaktion treten. Um die gemeinschaftliche Spielwelt zu ermöglichen, wird das Spielfeld von einer Kamera von oben aufgenommen, virtuell erweitert und durch ein Rückprojektor auf eine Leinwand projiziert. Zu Beginn wird nur die Spielwelt mit bildverarbeitenden Methoden initialisiert. Im weiteren Spielverlauf wird im Kamerabild die Position und Form der Knetmasse detektiert und die Spielwelt entsprechend aktualisiert (vgl. [BLC+ 10]). 14 Abbildung 7: Piplex – Links: Material zur Gestaltung der eigenen Spielwelt, Rechts: Interaktion mit virtuellen Pinguinen. [BLC+ 10] 3.2 Muntermacher – Denken und Bewegen Das Spiel Muntermacher wurde im Rahmen einer Diplomarbeit beim Fraunhofer Institut prototypisch entwickelt. Das grundlegende Ziel des Spiels ist ältere Menschen auf spielerische Weise zu mehr sportlichen Aktivitäten zu begeistern. Das Konzept setzt auf eines der wichtigsten Bedürfnisse: den Erhalt geistiger Fertigkeiten. Das Eingabegerät stellt ein Gymmnastikband mit zwei Kraftbällen dar, wie in Abbildung 8 gezeigt wird. Im Spiel werden verschiedene Denksportbereiche abgedeckt, die die geistigen und sportlichen Fähigkeiten von Senioren unterstützen und bewahren sollen (vgl. [Tam]). Abbildung 8: Muntermacher – Das aktive Denkspiel für Senioren.[Tam] 15 3.3 ARTierchen – Augmented Reality in touch ARTierchen ist ein interaktives Spiel, dessen Entwicklung 2004 am Lehrstuhl für Interaktive Systeme und Interaktionsdesign der Abteilung für Informatik an der Universität Duisburg-Essen begann. Das Spielprinzip orientiert sich am 1996 entwickelten Tamagotchi. Der Spieler erhält die Aufgabe sich um das Wohlbefinden der Protagonisten, welche als Tierchen bezeichnet wird und eine Giraffe darstellt, zu kümmern. Es muss für ausreichende Ernährung und Abwechslung gesorgt werden. Unter anderem ist das Tierchen vor Gefahren wie eine fleischfressende Pflanze zu schützen. Der Spieler interagiert mit der Spielfigur durch eine handelsübliche Fliegenklatsche. Das entwickelte TUI wird als Advanced Felixible Pointing Device (AFPD) bezeichnet und ist auf Vorder- und Rückseite mit Markern versehen. Durch die verschiedenen Marker erhält der Spieler die Möglichkeit auf unterschiedliche Weise mit der Protagonistin zu interagieren. Dabei wird grundlegend zwischen Laufmarker und Aktionsmarker unterschieden. Durch den Laufmarker kann die Giraffe an einen anderen Ort geführt werden. Der Aktionsmarker dient zum Beispiel für Streicheleinheiten und Fütterung. Die entsprechende Interaktion wird durch das tippen auf die Spielfläche erreicht (vgl. [SWM+ 06]). Abbildung 9: ARTierchen – Augmented Reality in touch. [ARTc] 16 4 Konzeption des Spiels In diesem Kapitel werden zunächst Ziele und Anforderungen definiert, die bei der Konzeption eines passenden Spiels hilfreich sind. Des Weiteren wird die grundlegende Spielidee dargestellt, die jedoch bei der späteren Umsetzung gegebenenfalls in Details beziehungsweise in den Spielkomponenten modifiziert wird. 4.1 Ziele und Anforderungen Die Zielvorstellung ist ein Spielkonzept zu entwerfen, das zugleich die Vorzüge und Stärken von Tangible User Interfaces sowie Augmented Reality vereint. Neben dem Entwurf eines geeigneten Interfaces ist dementsprechend ein ansprechendes und passendes Spiel zu gestalten. Gemäß des Grundsatzes „Ein gutes Spiel ist leicht zu erlernen und schwer zu meistern.“[MDB03, S. 30] soll der Spieler leicht ins Spielgeschehen einsteigen können und ebenso dran bleiben. Gesucht wird ein Konzept, das die Einstiegsbarriere minimiert und den Benutzer motiviert sowie langanhaltend begeistert. Die grundlegende Spielwelt soll in der realen Umgebung entstehen und durch virtuelle Spielkomponenten erweitert werden. Der Spieler soll durch die Manipulation der realen materiellen Spielwelt Einfluss auf die virtuelle Welt nehmen. Der Kerngedanke der Tangible User Interfaces ist greifbare und bekannte Objekte mit digitalen Eigenschaften zu erweitern, ohne vertraute Merkmale zu verlieren (vgl. [Hor04, S. 10]). Dieser Gedanke soll entsprechend umgesetzt werden. Eine gelungene Kombination aus digitalen und wirklichen Bestandteilen soll entstehen. Dementsprechend steht die Entwicklung eines extrem simplen Benutzerinterfaces, welches durch ein entsprechendes Spielprinzip zu einem harmonischen Gesamtkonzept abgerundet werden soll, im Vordergrund. Die Anforderungen an das TUI sind einfach: Intuitiv, leicht verständlich und unkompliziert. Das Ziel ist vor allem dem Spieler seine Handlungsmöglichkeiten einfach und eingängig zu präsentieren. Dementsprechend muss ein Spielkonzept entworfen werden, dass diese Einfachheit bewahrt. Dabei könnte zum Beispiel der Rückgriff auf ein bekanntes Spielprinzip zusätzlich helfen, die Eingewöhnungsphase zu verkürzen. Dennoch darf der Spaß am Spiel nicht in den Hintergrund treten. Frust und Langweile sind unbedingt zu vermeiden. Das bedeutet die Begeisterung des Spielers durch Abwechslung, Erfolge, Belohnungen und angepasste Spielbalance zu behalten. Neue Herausforderungen und ein Anstieg des Schwierigkeitsgrades schaffen im Spiel eine gewisse Vielfalt – bieten dem Spieler etwas Neues. Die Steigerung der Schwierigkeit ist dabei so zu gestalten, dass der Spieler nicht überfordert aber auch nicht unterfordert wird. „Eine Herausforderung ist gut – ein bisschen Frust ist gut – aber es darf nicht so schwer sein, dass nur absolute Experten eine Chance haben, lebend zum anderen Ende 17 des Levels zu gelangen.“[Bat02, S. 96] Des Weiteren soll grundsätzlich gelten: Jede erbrachte Leistung des Spielers muss belohnt werden. Der Mehrwert vom TAR-System soll genutzt werden, indem der Nutzer bei Erfolg oder Misserfolg eine entsprechende audiovisuelle Rückmeldung erhält. Das Spielerlebnis wird erweitert beziehungsweise verstärkt. Ebenso von Bedeutung ist die konsistente Spielbalance. Das Gleichgewicht kann zum Beispiel durch technische Probleme, wie Programmierfehler oder Ausfallen des Trackingsystems, gestört werden. Ergebnis ist Frustration und Demotivation beim Spieler. Dementsprechend ist diesen erhöhte Aufmerksamkeit zu schenken. 4.2 Die Grundidee des Spiels Der Grundmotivation ist eine simple, haptisch wahrnehmbare Benutzerschnittstelle mit einem entsprechenden Spielkonzept zu schaffen. Diesem Wunsch gerecht zu werden, ist die Wahl des Genres auf eine Kombination aus Geschicklichkeitsspiel und Jump‘n‘Run gefallen. Die Schnittstelle soll das Balancevermögen sowie motorisches Feingefühl des Spielers beanspruchen. Diesbezüglich ist das Spielprinzip denkbar einfach: Neige die Spielwelt und bring die Spielfigur in Bewegung. Durch das Kippen des Spielbretts läuft der kleine Protagonist Fred in die jeweilige Richtung. Die grundsätzliche Aufgabe des Spielers ist, Fred alle Kugeln einsammeln zu lassen. Jedoch warten in FredsWorld einige Hindernisse (Abbildung 10 auf Seite 19). Die Basis der Spielsteuerung liefert das altbekannte Holzkugellabyrinth. Dabei muss eine Kugel durch ein Labyrinth vorbei an Löchern und anderen Hindernisse ins Ziel manövriert werden. Das vertraute KugellabyrinthPrinzip wird durch den Wechsel der Spielfigur und die Erweiterung durch lustige virtuelle Komponenten zu einem spannenden und abwechslungsreichen Erlebnis. 4.3 4.3.1 Das Spiel – FredsWorld Das Spielprinzip Der Spieler hat folglich die Aufgabe, Fred alle Kugeln, die in der Spielwelt verteilt sind, einsammeln zu lassen. Währenddessen lauern einige Gefahren auf Fred. Würmer, die sich frei im Spielfeld bewegen, fressen Fred und kosten ihn ein Leben. Darüber hinaus verstecken sich in FredsWorld Wurmlöcher, die Fred nützlich aber auch gefährlich werden können. Fred kann sich vor Würmern retten, denn er verschwindet im Wurmloch und taucht am anderen Ende des Lochs wieder auf. Aber Achtung: Schwarze Löcher, die nur zeitweise erscheinen, verschlucken Fred und nehmen ihm ein Leben. Zusätzlich lassen Powerups Fred zum Beispiel für eine kurze 18 Abbildung 10: Konzeptskizze. Zeit durch Wände gehen oder er erhält durch weitere kleine Freds unverwundbare Helfer. Sind alle Kugeln eingesammelt ist das Level geschafft und das nächste beginnt. Doch ganz so einfach ist es nicht, ist die Zeit abgelaufen oder alle Leben aufgebraucht heißt es: Game over. 4.3.2 Das Holzlabyrinth – Tangible User Interface Das Herzstück des Spiels ist das Tangible User Interface. Es besteht aus einem einfachen quadratischen Holzkasten mit zwei Griffen. Der Holzkasten fungiert mit einem grundlegenden Labyrinth als Spielwelt, die durch das Platzieren von den unterschiedlichen Steckwänden variabel erweitert werden soll. Der Spieler erhält die Möglichkeit seine Spielwelt individuell aufzustocken und kann sich zum Beispiel durch das Bauen schmaler Wege selbst neue Herausforderungen kreieren. Zu diesem Zweck stehen dem Benutzer mehrere Größen von Steckwänden zur Verfügung (Abbildung 11 auf Seite 20). Das Motto lautet: Schaffe deine eigene Spielwelt. Der Grundgedanke bei diesem Konzept ist die Langzeitmotivation des Spielers zu fördern. Um den Schwierigkeitsgrad des Levels zu erhöhen beziehungsweise in das nächste Level zu gelangen, könnte man den Spieler zum Beispiel dazu auffordern noch eine weitere Steckwand zu platzieren und eventuell die Geschwindigkeit der Spielfigur steigern. Dadurch wird der Bau der eigenen Spielwelt selbst ein Teil des Spiels. Virtuelle und reale Welt verschmelzen zu einer Einheit. Ferner wird der Bau durch die realen Wände 19 zur Leichtigkeit. Die Steuerung ist gleichermaßen simpel. Durch das Kippen und Neigen des TUIs wird die Laufrichtung der Spielfigur entsprechend beeinflusst. Diese vertraute Interaktionsform verschafft dem Spiel Abbildung 11: Konzeptskizze – Tangible User Interface. die gewünschte Zugänglichkeit. Wodurch auch unerfahrene Spieler nach wenigen Sekunden intuitiv wissen, wie sie die Figur durch die Spielwelt lotsen. Zuzüglich soll das TUI am Rand ein Symbol bereit stellen, das eine Knopffunktion übernimmt. Beim Verdecken mit dem Daumen, soll die dahinter steckende Funktion ausgelöst werden. Dadurch wird die gesamte Eingabe beziehungsweise Steuerung vom TUI übernommen. Der Rückgriff auf konventionelle Eingabemittel soll vollkommen verschwinden. 4.3.3 Die Spielfigur und weitere Spielelemente Bedingt durch die feste Perspektive und Position der Kamera, die überhalb des Spiels liegt, wird der Protagonist Fred zum einen keinesfalls frontal von der Seite sichtbar und zum anderen nur sehr klein dargestellt. Eine detailreiche Erscheinung ist dementsprechend überflüssig. Gesucht wird eine abstrakte Figur, dessen Körper deutlich geformt ist. Die Grundzüge sollen nur angedeutet werden. Lediglich der Bewegungsablauf soll deutlich werden. Darüber hinaus wird die Beschränkung auf die visuelle Erscheinung ausreichen, da die Figur nicht mit einer Entstehungsgeschichte oder fiktiven Charaktereigenschaften ausgestattet werden soll. Während des gesamten Spielverlaufs wird der Benutzer weder Informationen bezüglich des Charakters erhalten noch etwas über seine Vergangenheit erfahren. Um jedoch den Benutzer zu motivieren und die Spielatmosphäre aufzulo20 ckern, kann Fred zum Beispiel ein wenig unbeholfen wirken. Es soll eine Figur entstehen mit der sich jedermann identifizieren kann. Abbildung 12 skizziert zwei mögliche Umsetzungen der Spielfigur. Zugleich ist bei der Abbildung 12: Konzeptskizze – Spielfigur Fred. Wahl sowie der Gestaltung weiterer Spielelemente, den Sammelpunkten oder der Powerups, die Perspektive und die Größe der Darstellung zu berücksichtigen. Auch hier gilt: Weniger ist mehr. Die Würmer, die sich frei im Labyrinth bewegen und Fred mit Genuss verspeisen, sind ebenso zu abstrahieren. In Abbildung 13 wird eine mögliche Gestalt dargestellt. Abbildung 13: Konzeptskizze – Würmchen. 21 5 Implementierung Im Folgenden werden die zentralen Aspekte zur Realisierung des Spielkonzepts erläutert. Zunächst wird die technische Umsetzung, die erst die Entstehung der eigenen Spielwelt sowie die Interaktion mit dieser ermöglicht, betrachtet. Des Weiteren wird die Realisierung des eigentlichen Spiels näher dargestellt. Die Entstehung der benutzervariablen Spielwelt kann durch zwei Kernaufgaben, die Detektion und Intialisierung der Wände sowie die dynamische Initialsierung der Spielelemente, beschrieben werden. Die schematische Darstellung in Abbildung 14 verdeutlicht den groben Spielablauf. Hat der Spieler seine Spielwelt gestaltet erfolgt die Erkennung und Intialisierung der Wände. Im Anschluss folgt die Initialisierung der Spielemente und das eigentliche Spiel startet. Während diesen Abläufen wird in einem parallelen Prozess das Tracking, Buttontracking sowie die Kameraanbindung realisiert. Das Fundament für das Spiel ist auf diese Weise geschaffen und Interaktion mit der virtuellen Welt wird möglich. Auf dieser Basis wird die Steuerung der virtuellen Welt, Kollisionserkennung und lustige virtuelle Spielkomponenten realisiert. Darüber hinaus ist die Behandlung von Verdeckungen sowie die Erstellung von 3D Modellen essenziell, um das Gesamtkonzept abzurunden. Bau der Spielwelt Detektion/ Initialisierung Wände Kameraanbindung Spielende Spiel Initialisierung Spielelemente Tracking Spielwelt Tracking Button nächstes Level Abbildung 14: Grundlegender Ablauf 5.1 3D Modellierung Eine wichtige Aufgabe zur Umsetzung des Spielkonzepts ist die 3D Modellierung der einzelnen Spielkomponenten. Dazu waren sämtliche Spielelemente zu modellieren und texturieren. Darunter zählen die Kugeln, Wurmlöcher und Sterne. Zusätzlich zu animieren, waren die beiden beweglichen Objekte. 22 Diesbezüglich wurden die grundlegenden 3D Modelle in Blender erstellt und mittels UV-Mapping texturiert. Durch UV-Mapping wird eine 2D- Textur auf ein Modell projiziert. Es wird möglich, die jeweilige Textur im Spielverlauf einfach auszutauschen. Das sorgt für das entsprechende Feedback, wenn Fred zum Beispiel durch einen Powerup – einen Stern – für eine gewisse Zeit wächst und vom Gejagten selbst zum Jäger wird. Fred wechselt dafür in die Farbe des Sterns. Der Spieler weiß somit genau, wann die Verwandlung beginnt beziehungsweise endet und kann entsprechend reagieren. Die Skelettanimation, die von Ogre unterstützt wird, erweckt bewegliche Objekte wie Fred oder den Wurm zum Leben. Der Grundkörper wird durch ein Skelett erweitert und durch die Keyframemethode passend animiert. Dabei werden Schlüsselbilder mit verschiedenen Rotationen und Translationen der Knochen (engl. bones) definiert zwischen denen Blender interpoliert. Zur Verwendung in Ogre wurden alle Modelle durch den OgreExporter entsprechend konvertiert. 5.2 Tracking Das Tracking stellt eine der größten Herausforderungen zur Umsetzung des Spielkonzepts dar. Erfolgt das Tracking nicht in Echtzeit oder wird der sogenannte Jitter Effekt – virtuelle Objekte sind noch in Bewegung obwohl die reale Umgebung starr ist – erkennbar, wird die Benutzerinteraktionsfähigkeit deutlich gemindert. Ziel war es ein stabiles Tracking zu realisieren, welches das grundlegende Spielkonzept unterstützt. 5.2.1 Kameraanbindung und Darstellung Für das Tracking wird als Eingabe ein Videodatenstream benötigt. Im Hinblick darauf wurde zur Kameraanbindung zunächst OpenCV verwendet. Die fehlende Konfigurierbarkeit der Kameraeinstellungen wie automatischer Autofokus und Weißabgleich hatte ein schlechtes Trackingergebnis zur Folge. OpenCV bietet diesbezüglich nur im geringen Maße Einstellungsmöglichkeiten. Darüber hinaus wurde bei OpenCV die Einstellung der Bildauflösung beim Capturing nicht übernommen. Die Lösung fand sich dann in der videoInput Library. Mit Hilfe der videoInput Library wird stets das aktuelle Kamerabild mit der Auflösung 640x480 in RGB abgefangen. Ist ein neues Bild verfügbar wird dies ausgelesen und an den Tracker übergeben. Das Bild wird als Iplimage, das Bilddatenformat von OpenCV, gespeichert und kann vom ButtonTracker, der im Abschnitt 5.2.4 beschrieben wird, sowie von Ogre verwendet werden. Zur Darstellung des aktuellen Kamerabildes in der Ogre Szene wurde ein Rechteck erstellt, welches die gesamte Szene über23 deckt und stets als erstes gerendert wird. Ändert sich das Kamerabild wird entsprechend das Material des Rechtecks aktualisiert. Weitere Information hierzu finden sich im OgreWiki 11 . Um sämtliche Funktionen, die nicht im direkten Zusammenhang mit dem Kamerabild stehen, parallel ablaufen zulassen, wurde die Kamera und das gesamte Tracking mit Hilfe der Boost Bibliothek 12 in einen separaten Thread ausgelagert. 5.2.2 Erweiterung von ARToolKitPlus Ziel der Erweiterung von ARToolKitPlus ist einen unauffälligen, platzsparenden, auf den zu trackenden Holzkasten angepassenten Marker zu entwerfen. Zu diesem Zweck wird der ID-Marker von ARToolKitPlus grundlegend modifiziert. Die Marker-ID wird auf den Rand des Markers beschränkt beziehungsweise umgelagert. Das Tracking benötigt infolgedessen nur einen äußeren Rahmen, der aus einer ID und der Markerrumrandung besteht – die Mitte des Markers bleibt unbeachtet. Prinzipell kann demzufolge alles in den Holzkasten hineingelegt werden ohne, dass das Tracking beeinträchtigt wird. Dementsprechend wurde neben den ID-Marker, BCH-Markern sowie den üblichen ARToolKit Markern eine weitere Markerart, die im weiteren Verlauf als Border Marker bezeichnet wird, integriert. Der Border Marker besteht aus zwei aufeinander passenden von ARToolKitPlus vordefinierten IDs (Abbildung 15). Die Verwendung von zwei IDs vereinfacht vor allem das Auslesen und ermöglicht den Rückgriff auf die Basisfunktionen von ARToolKitPlus. Abbildung 15: Tracking – Border Marker – Links erste ID, Rechts zweite ID. 11 http://www.ogre3d.org/tikiwiki/Displaying+2D+Backgrounds, 02.05.2011 12 http://www.boost.org/, Stand 15.05.2011 24 Stand Im Allgemeinen bestimmt der Markeraufbau beziehungsweise die Markerkodierung die Art und Weise wie das Pattern des Markerinneren auszulesen ist. Ergebnis des sogenannten Pattern-Matching, das im Abschnitt 2.2.3 beschrieben wird, ist die Identifizierung des Markers sowie die entsprechende Rotation. Dementsprechend ist ein weiteres Verfahren zu implementieren, das die Behandlung der Border Marker im Pattern-Checking Teil übernimmt. Zunächst wird das 18x18 RGB Pattern, dass der Methode übergeben wird, in ein 18x18 Grauwertbild konvertiert. Daraufhin folgt ein Thresholding und folglich die Erstellung des ID-Pattern Bitfeldes. Ist das automatische Thresholding vom jeweiligen Tracker aktiviert, wird der dynamisch generierte Schwellwert von ARToolKitPlus verwendet. Ansonsten wird ein vom Benutzer definierter und konstanter Wert genutzt. Im Wesentlichen unterscheidet sich die Erstellung des Bitfeldes im Gegensatz zu den gebräuchlichen ID-Markern darin, dass lediglich die ersten und letzten 18 Pixel ausgelesen beziehungsweise binarisiert werden. Das entstandene 36 Bitfeld entspricht dem ID-Marker Bitfeld und kann demnach grundlegend auf die selbe Weise behandelt werden. Infolgedessen wird zur Ermittlung der ID und dessen Wahrscheinlichkeit, die einen Wert zwischen 0.0 und 1.0 darstellt, die bereits definierte Methode der ID-Marker verwendet. Im Folgenden wird das Bitbild zusätzlich um 180◦ gedreht und gleichermaßen dessen ID sowie Wahrscheinlichkeit berechnet. Im nächsten Schritt werden die Wahrscheinlichkeiten der beiden Rotationen (0◦ und 180◦ ) verglichen und lediglich die höhere weiterhin in Betracht gezogen. Handelt es sich um die erste ID (Abbildung 15 auf Seite 24, Links) kann die Rotation direkt übernommen werden. Bei der zweiten ID (Abbildung 15 auf Seite 24, Rechts) hingegen, muss die Rotation noch um 90◦ erhöht werden. Das bedeutet 0◦ entsprechen einer 90◦ Rotation und die 180◦ einer 270◦ Rotation des Markers (Abbildung 16 auf Seite 26). Ist der nun abgelegte Konfidenzfaktor, also der höchste Wahrscheinlichkeitswert, größerer als 0.9 gilt die Marke als erkannt und ARToolKitPlus kann die ID, die Markerrotation sowie den entsprechenden Konfidenzfaktor weiter verwerten. Die eigentliche Grundidee: Einen dezenten vor allem platzsparenden Marker zu schaffen, gab den nötigen Implus nicht genutzte Bits des Markerpattern zur Detektion der Wände (Abschnitt 5.4) zu verwenden. 5.2.3 Integration und Initialisierung von ARToolKitPlus Zur Realisierung des eigentlichen Trackingvorgangs wurde eine Instanz der Klasse SingleTracker von ARToolKitPlus erstellt, da lediglich ein Marker pro Bild erkannt werden soll. Beim Instanzieren eines Trackers wird zum einen die Bitmustergröße, die in diesem Fall 18x18 beträgt, und zum anderen die Bildkantenlängen festgelegt. Des Weiteren wird der Mar25 180° 180° Abbildung 16: Tracking – Oben erste ID 0◦ Rotation, Unten zweite ID, Identifizierung bei 180◦ dadurch 270◦ Markerrotation kermode auf Border Marker, die im Abschnitt 5.2.2 näher erläutert werden, gesetzt. Im Folgenden sind noch die entsprechenden Einstellungen wie zum Beispiel die Markergröße und Rahmenbreite zu definieren. Die Markergröße beträgt 360 mm und die Kantenbreite, die in Relation zur Markergröße angegeben wird, entsprechen ebenso wie die Kästchen des 18x18 Bitmusters genau ein Zwanzigstel der Markerkante. Des Weiteren wird der SingleTracker anhand der Kamerakalibrierungsdatei sowie der Angabe der Near- und Farplane für die Projektionsmatrix initialisiert. Bei der Kalibrierungsdatei handelt es sich um die mitgelieferte Standarddatei. Das Ergebnis hat gezeigt, dass eine Kalibrierung der Kamera in unserem Fall nicht nötig ist. Daraufhin wird die Projektionsmatrix anhand des ARToolKitPlus ermittelt und in Ogre gesetzt. Um ein robustes Trackingresultat zu erhalten wird das Autothresholding aktiviert und die Poseberechnung auf RPP (Robust Planar Pose) eingestellt. Der Robust Planar Pose Algorithmus vermeidet den so genannten Jitter Effekt (vgl. [ARTb]). Wird nun dem Tracker das aktuelle Kamerabild übergeben beginnt dieser mit der Detektion des Markers wie in Abschnitt 2.2.3 beschrieben. Bei erfolgreicher Detektion wird die Modelviewmatrix ermittelt und die extrinsischen Kameraparameter zur Transformation können ausgelesen werden. Generell besteht die 4x4 Matrix, die die relative Lage des Markers zur Kamera beschreibt, aus einer Rotations- und Translationskomponente (siehe 26 Transformationsmatrix 1). Zur Verwendung in Ogre wird die Orientierung in einem Quaternion und die Translation in einem 3D Vektor abgelegt. Bei der Konvertierung ist darauf zu achten, dass die von ARToolKitPlus berechnete Modelviewmatrix spaltenweise definiert ist. R11 R12 R13 Tx Xm Xc Yc R21 R22 R23 Ty Ym = Zc R31 R32 R33 Tz Zm 0 0 0 1 1 1 5.2.4 (1) Tracking Button Eines der grundlegenden Ziele ist es, konventionelle Eingabemittel wie Maus oder Tastatur vollkommen verschwinden zu lassen. Die Spielsteuerung soll einzig allein mit dem TUI erfolgen. Zu diesem Zweck ist am Rand des TUIs noch ein blauer Kreis angebracht, der eine Art Knopffunktion bereitstellt. Durch Verdeckung wird die entsprechende Funktion, wie zum Beispiel das Starten des Spiels, ausgelöst. Der Kerngedanke ist nur den Bildbereich indem sich der Button befindet auf Farbgegebenheiten zu untersuchen. Dazu werden stets die aktuellen Eckpunkte des Markers, die ARToolKitPlus liefert, verwendet. Da sämtliche Längenverhältnisse zwischen den Eckpunkten und Knopf bekannt sind, kann anhand des Strahlensatzes der Mittelpunkt des Kreises berechnet werden. Mit Hilfe der ROI-Funktion (Region of Interest) von OpenCV wird daraufhin der passende Bildbereich eingegrenzt (Abbildung 17). Dabei muss sicher gestellt werden, dass der gewünschte Bereich innerhalb des Bildes liegt. Die Größe des Bildbereichs bleibt konstant, da der Abstand zwischen realer Spielwelt und damit der Button und Kamera nur geringfügig ändert. Im Bildausschnitt werden nun die Pixel, welche mit geringen Bild ROI Bildausschnitt Abbildung 17: Tracking Button – Region of Interest. 27 Varianzen dem Farbwert vom Blau entsprechen, gezählt. Ist die Anzahl kleiner als ein Viertel der gesamten Pixelanzahl, gilt der Knopf prinzipell als gedrückt. Um versehentliche Auslösungen zu vermeiden, muss die Verdeckung eine gewisse Dauer anhalten. 5.3 Verdeckungen Neben dem Tracking ist Realisierung von Verdeckungen zur Umsetzung des Konzepts bedeutend, um den gewünschten Eindruck – beide Welten in einer Einheit – zu schaffen. Die Behandlung von Verdeckungen wird zwingend notwendig, um den 3D Eindruck zu bewahren. Wird die Sicht auf ein virtuelles Objekt von einem natürlichen Gegenstand behindert, ist dies auf die Augmented Reality Szene zu übertragen. Die Realisierung von Verdeckungen wird anhand des modellbasierten Verfahren gelöst. Das Verfahren sieht ein Modell der Realität vor, welches in seiner Größe, Ausrichtung und Position den realen Objekten entspricht. Das geometrische Modell wird deckungsgleich zum realen Gegenstück in Kamerakoordinaten angeordnet und übernimmt die Eigenschaften des Originals in der virtuellen Welt (vgl. [BBR+ 95, S. 8-9]). Das Verfahren ist für die Umsetzung des Spielkonzepts bestens geeignet, da die Realität, die wesentliche Spielwelt, bloß aus einem Kasten und Wänden in verschiedenen Längen besteht. Aufgrund dessen wurde ein Modell als Pendant des grundlegenden Holzkastens erstellt (Abbildung 18). Zur Repräsentation der Wände wurde lediglich ein Modell erstellt, das Abbildung 18: Verdeckung – Links reale Spielwelt, Rechts virtuelles Modell. durch Zusammensetzen dynamische Wandlängen ermöglicht (Abbildung 18, rechts). Um die Wahrnehmung einer Verdeckung durch das reale Objekt zu erhalten, ist das Materialskript (siehe Anhang A) dementsprechend definiert, dass das jeweilige Modell lediglich in den Z-Buffer geschrieben wird, ohne das es in den Framebuffer gezeichnet beziehungsweise in den Colorbuffer geschrieben wird. Im Renderpass der Materialdatei der Geometrie wird im Hinblick darauf das Attribute colour_write ausgestellt. 28 Dadurch werden ausschließlich die Tiefeninformationen des Modells in die virtuelle Realität übernommen. Anhand der aktuellen Trackingdaten, die im vorgehenden Abschnitt 5.2 näher erläutert wurden, können die Modelle während des gesamten Spiels stets exakt auf ihren realen Gegenpart gelegt werden. Zur Umsetzung der Kollisionserkennung (Abschnitt 5.7) kann dadurch auf konventionelle Verfahren aus dem Bereich Computergrafik zurückgriffen werden. 5.4 Detektion und Initialisierung der Wände Zur Detektion der Wände wird, wie bereits erwähnt, das entzerrte Markerpattern, das uns ARToolKitPlus liefert, verwendet. Wurde der Marker im Videobild gefunden, folgt ein Thresholding des Graustufenbildes anhand eines fest definierten Schwellwerts. Das Schwellwertverfahren beschränkt sich lediglich auf die 16x16 Pixel im Inneren des Patterns. Das Ergebnis ist ein 16x16 großes Binärbild, das der Wandunterteilung der Spielwelt entspricht (Abbildung 19). Die Berechnung und Speicherung des Bitfeldes erfolgt zu Beginn des Spiels einmalig mit der entsprechenden Rotation und kann daraufhin für die Initialisierung der Wände verwendet werden. Vor Abbildung 19: Detektion und Initialisierung der Wände – Links Spielfeldunterteilung in 16x16 Felder, Rechts 16x16 Binärbild. der letztendlichen Erstellung und Positionierung der Wände muss das Binärbild noch gemäß der gespeicherten Rotation gedreht werden, damit die Wände die richtige Position erhalten. Hierzu wird das Bit-Pattern entsprechend der Drehung gegebenenfalls mehrfach um 90◦ dreht. Daraufhin wird das Bitfeld ausgelsen. Zunächst wird im Hinblick darauf über die Zeilen iterriert. Ist ein Bit gesetzt, hat also folglich den Wert 0, wird ein Objekt der Klasse Wall angelegt. Folgt ein weiteres gesetztes Bit in der selben Zeile wird die Wall-Instanz um ein Feld erweitert. Folgt kein weiteres gesetz29 tes Bit und besetzt die Wand mehr als ein Feld kann die jeweilige Instanz initialisiert werden. Das Objekt setzt diesbezüglich die 3D Modelle an die richtige Position, erstellt die korrespondierende Bounding Box und registriert sich beim Kollisionsmanager, der im Abschnitt 5.7 erläutert. Hierbei wird auf einer Kopie des Bitfelds gearbeitet. Auf diese Weise kann das Bitfeld entsprechend modifiziert werden, um eine Doppelbelegung der Wände zu vermeiden. Sind alle Zeilen durchlaufen, folgt auf die selbe Weise die Initialisierung der vertikalen Wände. Das bedeutet, der selbe Vorgang folgt für die Spalten. Jedoch werden hier auch Wände, die nur Feld besetzen, gesetzt. Zwar stehen nur Wände, die zwei Felder belegen, zur Verfügung, aber in besonderen Fällen würde sonst ein Teil der Wand fehlen (Abbildung 20). Abbildung 20: Detektion und Initialisierung der Wände – Ergebnis der Initialisierung. 5.5 Initialisierung der Spielelemente Nach der erfolgreichen Initialisierung der Wände stellt sich die Aufgabe sämtliche Spielelemente im Spielfeld zu verteilen. Die Objekte müssen vor jedem Spielbeginn dynamisch generiert werden. Diesbezüglich werden im ersten Schritt die möglichen Positionen anhand des Patterns unter Beachtung der gesetzten Wände berechnet. Eine Position belegt hierbei genau vier Felder (Abbildung 21 auf Seite 31, gelb hervorgehoben). Dabei ist zu beachten, dass die Startposition der Spielfigur Fred nicht von einer Spielkomponente belegt wird (Abbildung 21 auf Seite 31, blau hervorgehoben). Die ermittelten freien Plätze werden in einem Standard-Vektor gespeichert und stehen somit während dem gesamten Spielverlaufs zur Verfügung. Dies ist notwendig, um zum Beispiel einen Levelübergang zu realisieren. Sind alle verfügbaren Wände durch den Benutzer gesetzt, sind 36 Felder 30 Abbildung 21: Initialisierung der Spielelemente – Gelb, Belegung einer Position – Blau, Startposition von Fred. belegt. Dadurch stehen nach Abzug der Startposition von Fred 54 Positionen für die Spielkomponenten zur Verfügung. Die Spielelemente wie zum Beispiel die Kugeln, Würmer und Wurmlöcher können demnach bedenkenlos per Zufall positioniert werden. Besetzte Positionen werden dabei aus dem Vektor gelöscht, um eine Doppelbelegung zu vermeiden. Sind alle Spielkomponenten initialisiert, erfolgt anhand einer Kopie des Vektors ein Refresh der ermittelten Plätze. Bei der Positionierung der Wurmlöcher wird zusätzlich darauf geachtet, dass ein Mindestabstand zwischen zwei assoziierten Löchern besteht. 5.6 Steuerung – Tangible Control Das Grundprinzip in FredsWorld lautet: Neige die Spielwelt und bring Fred in Bewegung. Zur Realisierung stellen sich somit zwei grundlegende Aufgaben. Zum einen sind alle Spielelemente entsprechend der aktuellen Pose (Position und Orientierung) auszurichten, zum anderen muss Fred sich gemäß der Neigung in Bewegung setzen. Die erste Aufgabe löst sich durch Anwendung der Trackingdaten, basierend auf dem Szenengraphenprinzip, recht einfach. Diesbezüglich wird ein Wurzelknoten für die gesamte Spielwelt definiert. Die gesamte Szene beziehungsweise die Spielelemente werden diesem Knoten untergeordnet. Eine Transformation auf dem Wurzelelement transformiert alle untergeordneten Kindknoten entsprechend. Folglich werden die Trackingdaten, die Position und Orientierung, lediglich auf das Wurzelelement angewendet. Dabei bleibt die virtuelle Kamera im Ursprung des Weltkoordinatensystems und das Wurzelelment, welches den leeren Holzkasten repräsentiert, wird in Relation zur Kamera positioniert und orientiert. Das lokale 31 Koordinatensystem der Spielwelt wird im weiteren Verlauf als FredsWorld bezeichnet. Die Pose des virtuellen Spielbretts korrespondiert nun mit dem realen Spielfeld. Diese Gegebenheit gestaltet die zweite Aufgabe – Fred in die richtige Richtung laufen zu lassen – ebenso leicht. Die Kernidee ist es, die Neigungsrichtung des Spielbretts durch Ausrichtung des Up-Vektors (y-Achse) des lokalen Koordinatensystem FredsWorld zu bestimmen (Abbildung 23 auf Seite 33). Die Berechnung der Laufrichtung von Fred wird durch die Beschränkung auf acht Richtungen zusätzlich vereinfacht (Abbildung 22). Zur Berechnung der Laufrichtung beziehungsweise dem Rich- Abbildung 22: Steuerung – 8 Laufrichtungen von Fred. tungsvektor von Fred wird der Winkel zwischen Up-Vektor und den globalen Achsen näher betrachtet. Ist zum Beispiel der Winkel zwischen dem Vektor und der x-Achse des Weltkoorinatensystems größer als 90◦ , ist das Brett nach rechts geneigt und der Richtungsvektor wird in der entsprechenden Komponente gesetzt. Fred würde nach rechts laufen. Gilt dies ebenso für den Winkel mit der globalen y-Achse, zeigt der berechnete Richtungsvektor in die obere rechte Ecke. Durch die Berechnung kann dem Spieler eine gewisse Kontrolle gegeben werden. Fred soll erst los laufen sobald ein gewisser Neigungswinkel erreicht ist. Des Weiteren wird der Winkel zwischen Up-Vektor sowie der zum Spielbrett senkrecht stehenden Achse des Weltkoordinatensystems ermittelt, um die Berechnung einer Beschleunigung zu ermöglichen. Generell steht zur Umsetzung des Spielkonzepts die Benutzerfreundlichkeit vor der physikalischen Korrektheit. Sämtliche Berechnungen werden aufgrund dessen lediglich physikalischen Gesetzmäßigkeiten angenähert. Dies gilt auch für den Beschleunigungswert. Der Wert ergibt sich aus einer Abtastung des Neigungswinkels. Dieser wird mit einem konkreten Wert abgelaufen und der Beschleunigungswert entsprechend mit einer Konstan32 -z w yfw zfw yfw xfw -x w x fw Abbildung 23: Steuerung – Berechnung der Laufrichtung. te erhöht. Ist der Richtungsvektor d~ und die Beschleunigung acc ermittelt, kann anhand der alten Position ~r und der konstanten Geschwindigkeit v die neue Position berechnet werden. Die aktuelle Geschwindigkeit vcurr ergibt sich aus der konstanten Geschwindigkeit v und der Beschleunigung acc . vcurr = v + acc (2) rneu ~ = ~r + d~ ∗ (vcurr ∗ t) (3) Die Multiplikation der Geschwindigkeit mit dem Wert t, der die aktuelle Zeit zwischen zwei Bildern beschreibt (engl. time since last frame), wird notwendig um die Bewegung unabhängig von den variierenden Frames per Second (fps) zu erhalten. Dies gilt ebenso für die entsprechende Bewegungsanimation des Objekts. Diesbezüglich wird ein Bewegungsfaktor f berechnet, der die Geschwindigkeit des Animationsablaufs an die aktuellen Geschwindigkeit des Objekts vcurr sowie der vergangenen Zeit zwischen zwei Bildern t anpasst. f = vcurr ∗ t (4) Im Folgenden ist die Orientierung zu aktualisieren. Gesucht wird das Quaternion, das die Rotation zwischen aktuellen und neuen Richtungsvektor beschreibt. Der aktuelle Richtungsvektor wird aus dem Quaternion, das die aktuelle Orientierung beschreibt, gewonnen. Dazu muss das Quaternion lediglich mit der entsprechenden Bezugsachse, der y-Achse des Koordinatensystems FredsWorld, multipliziert werden. Nach der Normalisierung des gewonnen Vektors wird das Quaternion, das die Drehung von einem zum anderen Vektor beschreibt, ermittelt. Nun ist noch eine 180◦ Drehung abzufangen, da sonst durch Ogre eine beliebige Achse zur Rotation verwendet wird, um eine Division durch Null zu vermeiden. Hierzu wird anhand des Skalarprodukts der beiden normalisierten Vektoren festgestellt, 33 ob es sich um eine 180◦ Drehung handelt. Ist dies der Fall wird einfach um 180◦ um die y-Achse rotiert. Liegt keine 180◦ Rotation vor, erfolgt die relative Drehung des Objekts anhand des ermittelten Quaternions. Mehr Informationen dazu finden sich im OgreWiki 13 . 5.7 Kollisionserkennung Die Kollisionserkennung ist ein wesentlicher Bestandteil zur Umsetzung des Spielkonzepts. Neben der Kollision mit virtuellen Spielkomponenten ist die Kollision mit realen Elementen – den Wänden – zu realisieren, um den Eindruck der Interaktion beider Welten zu verwirklichen. Zur Realisierung der Erkennung einer Kollision werden alle virtuellen als auch realen Spielelemente von einer so genannten Axis Aligned Bounding Box (AABB) umschlossen. AABBs sind Bounding Boxen, die an den Achsen des Weltkoordinatensystems ausgerichtet sind. Im Allgemeinen wird das zu umschließende Objekt weniger genau approximiert, da in vielen Fällen zu viel Freiraum mit einbezogen wird (vgl. [Zer02, S. 200]). In unserer Spielwelt hingegen sind die meisten Kollisionsobjekte Wände, die immer achsenparallel verlaufen und somit exakt durch eine AABB repräsentiert werden können. Andere Spielkomponente wie zum Beispiel die Spielfigur Fred werden jedoch nur angenähert. Die Genauigkeit geht hier auf Kosten der Geschwindigkeit. AABBs bieten den großen Vorteil der leichten Berechnung. Einerseits gilt dies für die Erstellung der Bounding Box um das Modell, aber andererseits gilt dies auch für den Kollisionstest. Somit sind diese im Gegensatz zu anderen Bounding Boxen ausgesprochen schnell (vgl. [Zer02, S. 200]). Um eine Neuberechnung der Bounding Box bei Änderung der Orientierung von beweglichen Objekten wie Fred zu vermeiden, werden diese mit einer quadratischen Box umschlossen (Abbildung 24). Darüber hinaus kann somit die diagonale Laufrichtung realisiert werden. Abbildung 24: Axis Aligned Bounding Box – Fred. In FredsWorld spielt sich sämtliche Bewegung von Objekten ausschließlich im 2D-Raum ab. Das bedeutet zum Beispiel, dass sich Fred nur in der x13 http://www.ogre3d.org/tikiwiki/Intermediate+Tutorial+ 1&structure=Tutorials, Stand 10.05.2011 34 und z-Ebene des Koordinatensystems der Spielwelt bewegt. Die Kollisionserkennung kann somit lediglich auf zwei Dimensionen reduziert werden. Zur Feststellung einer Kollision zwischen zwei Objekten werden die jeweiligen minimalen und maximalen z-Werte und x-Werte der Bounding Boxen verglichen. Bei einer Überlappung auf beiden Koordinatenachsen schneiden sich die beiden Boxen und die Objekte sind kollidiert (vgl. [Mül10a]). zfw x fw Abbildung 25: Axis Aligned Bounding Box – Kollisionstest. Zur Umsetzung des Konzepts wurde eine Klasse CollisionHandler erstellt. Diese Klasse erhält die Aufgabe sämtliche Kollisionsobjekte zu verwalten und den paarweisen Kollisionstest durchzuführen. Durch die globale Instanzierung kann sich jedes Kollisionsobjekt aus einem beliebigen Programmabschnitt bei dem Kollisionsmanager anmelden. Hierzu wurde eine Klasse CollisionObject implementiert von der alle Klassen, die in die Kollisionserkennung mit einbezogen werden, ableiten. Die Klasse stellt zum einen sicher das jedes Objekt eine AABB enthält. Zum anderen wird eine Methode bereitgestellt, die zurückgibt ob das Objekt gerade aktiv ist oder nicht. Dadurch können Spielelemente während des Spielverlaufs deaktiviert und aktiviert werden. Das ist zum Beispiel wichtig, wenn Fred durch einen Powerup kurz durch Wände gehen kann. Zusätzlich leitet die abstrakte Klasse MovableCollisionObject von CollisionObject ab, von der die beweglichen Objekte – Wurm und Fred – erben. Diese Klasse enthält zusätzlich noch die rein virtuelle Methode collisionHandling(CollisionObject *object), die vom Kollisionsmanger bei einer Kollision aufgerufen wird. Dabei wird eine Referenz auf die Instanz, mit dem das bewegliche Kollisionsobjekt kollidiert ist, übergeben und die entsprechende Kollisionbehandlung ausgeführt. 35 5.8 Virtuelle Spielkomponenten Um dem Ziel, ein erlebnis- und abwechslungsreiches Spiel zu gestalten, gerecht zu werden, finden sich im Spiel lustige virtuelle Komponenten wie die Wurmlöcher oder Powerups wieder. Ferner sorgt die Steigerung des Schwierigkeitsgrads sowie wechselnde Powerups für die passende Unterhaltung. Wurm Gibt es einen Protagonist in einem Spiel, dürfen die Antagonisten natürlich nicht fehlen. Ein Wurm bewegt sich unabhängig von der aktuellen Neigung frei im Spielfeld. Grundsätzlich verhält sich der Wurm ebenso wie sein Rivale. Jedoch kann der Spieler zum einen die Laufrichtung des Wurms nicht durch das Kippen des Spielbretts beeinflussen. Zum anderen kann sich der Wurm statt in acht nur in vier Richtungen bewegen. Die diagonale Laufrichtung fällt somit weg. Zu Spielbeginn erhält der Wurm eine Zufallsrichtung. Wie in Abschnitt 5.6 schon deutlich geworden ist, wird das Objekt hierzu entlang seines Richtungsvektors in Abhängigkeit von einer konstanten Geschwindigkeit und der Zeit zwischen zwei Frames verschoben. Kollidiert der Wurm mit einer Wand, wird eine neue Zufallsrichtung bestimmt und die Orientierung entsprechend aktualisiert. Da die Berechnung der Orientierung von Fred als auch vom Wurm verwendet wird, befindet sich die entsprechende Methode in der Klasse MovableCollisionObjekt. Schwarzer Wurm Neben einfachen Würmern tauchen im gesamten Spielverlauf immer wieder schwarze Würmer auf, die für Fred noch gefährlicher werden können, denn sie bewegen sich um einiges schneller. Die Klasse BlackWorm spezialisiert hierzu die Klasse Worm. Generell verhält sich der schwarze Wurm somit äquivalent zum üblichen Wurm. Jedoch enthält die Klasse BlackWorm eine weitere Methode die den Farbwechsel und die Geschwindigkeitsänderung übernimmt. Diese Methode wird nach dem Ablauf einer Zufallszeit aufgerufen. Dabei wurde darauf geachtet, dass bei der Bestimmung der Zeit ein gewisses Intervall eingehalten wird. Damit wird gewährleistet, dass die Transformation einerseits nicht in zu geringen Zeitabständen erfolgt – der Effekt würde sich durch ein kurzes Aufflackern der schwarzen Textur äußern. Andererseits darf die Transformation nicht zu lange anhalten, damit der Schwierigkeitsgrad nicht wesentlich erhöht wird. Wurmloch Einerseits bietet das Wurmloch für Fred eine Hilfestellung. Er kann sich vor Würmern retten. Verschwindet Fred in einem Loch taucht er am anderen Ende wieder auf. Andererseits kann ihm das Wurmloch auch zum Verhängnis werden, denn manchmal gestaltet sich der Weg zur verlo- 36 renen Kugel ein wenig schwieriger. Jedes Wurmloch wird im Hinblick darauf mit einem entsprechenden Wurmloch gleicher Farbe assoziiert. Der Spieler weiß also wo er landet und kann entsprechend planen wie er das Wurmloch am besten für sich nutzt. Da auch die Würmer durch ein solches Loch an einen anderen Ort gelangen, wurde die Kollisionsbehandlung generalisiert. Trifft ein Wurm oder Fred auf ein Wurmloch, wird die ensprechende Instanz vom Kollisionsmanager benachrichtigt. Das Objekt dreht sich zum Mittelpunkt des Wurmlochs und es wird eine Animation abgespielt. Dabei erhielten beide Geometrien eine Animation WormholeIn und WormholeOut. Fred hüpft und der Wurm kriecht in das Loch. Ist die Animation abgelaufen wird zunächst die Position des Objekts auf den assoziierten Wurmloch gesetzt und die Animation WormholeOut abgespielt. Powerups Ingesamt enthält das Spiel vier verschiedene Powerups, die durch einen Stern in verschiedenen Farben repräsentiert werden. Der lila gefärbte Stern lässt Fred schrumpfen und somit schnell und wendig werden. Das Objekt wird dazu auf eine bestimmte Größe skaliert und die Textur in die entsprechende Farbe geändert. Jedes Powerup hält eine konstante Zeit an. Ist die Zeit abgelaufen wird die Rücktransformation – Fred wird wieder zum Original – notwendig. Ist Fred gerade lila muss er wieder seine Normalgröße erreichen. Folglich gestaltet sich die Vergrößerung problematischer, es muss gewartet werden bis Fred ausreichend Platz hat. Erst daraufhin kann skaliert und die Originaltextur gesetzt werden. Neben dem lila gefärbten Stern lässt der gelbe Stern Fred durch Wände gehen. Währenddessen wird Fred unverwundbar. Hierzu werden die Wände lediglich für Fred deaktiviert. Zum Symbol der Unverwundbarkeit erhält Fred zu der gelben Farbe eine Art Schein beziehungsweise Schutzkugel. Der pinke Stern verleiht Fred viele kleine unverwundbare Helfer. Die kleinen Freds werden durch den Rückgriff auf die freien Positionen aus Abschnitt 5.5 per Zufall in der Spielwelt verteilt und agieren auf gleiche Weise wie Fred. Genauer betrachtet bedeutet das, dass die kleinen Freds eine Generalisierung von Fred darstellen. Ist die Zeit des Powerups vorüber, verblassen die kleinen Freds bis sie vollkommen verschwunden sind. Dies wird durch die Veränderung des Alphawerts der Textur realisiert. Der schwarze Stern lässt Fred riesig werden. Fred kann für kurze Zeit Würmer fressen. Levelgestaltung Um einen steigenden Schwierigkeitsgrad bei einem Levelübergang zu erhalten wird die Laufgeschwindigkeit um einen konstanten Wert erhöht. Es wird schwieriger Fred zu steuern und Hindernisse zu umgehen. Neben der Geschwindigkeitsänderung wird in jedem Level ein anderes Powerup zur Hilfestellung gegeben. Den Spieler erwartet immer etwas Neues. 37 5.9 Sound In FredsWorld – eine Spielwelt die das altbekannte Kugellabyrinth und digitale Elemente vereint – ist ein akustisches Feedback unentbehrlich. Der Gesamteindruck einer Einheit wird gestärkt und das Spielkonzept gänzlich abgerundet. Anhand der Bibliothek OgreAL, die in Abschnitt 2.2.5 näher beschrieben ist, wird für die entsprechende Rückmeldung gesorgt. Kollidiert Fred mit einem Wurm, Kugel oder Wurmloch wird ein kurzer Sound abgespielt, welcher der jeweiligen Gegebenheit entspricht. Dem Spieler wird somit nochmal verdeutlicht, was gerade passiert ist. Die Auswahl ist dabei auf übliche Sounds aus dem Bereich Konsolen- und Computerspielen gefallen. Dabei wurde darauf geachtet, dass die Sounds die Situation prägnant zum Ausdruck bringen. Auch schon ein einfaches „bling“erreicht die gewünschte Wirkung. Neben der Realisierung von Tönen für die Spielfigur wurde der Button um einen passenden Sound erweitert. Der Spieler erhält hierdurch Feedback, ob der Knopf ausgelöst wurde. 5.10 Overlays und Benutzerführung Während des gesamten Spielverlaufs soll der Spieler Erklärungen sowie Informationen zum Spiel und aktuellen Spielstatus erhalten. Hierfür werden Overlays verwendet. Overlays bieten die Möglichkeit eine 2D-Ebene über die gesamte Szene zu legen. Die Ebene wird als letztes gerendert und befindet sich entsprechend immer im Vordergrund. Im Allgemeinen eignen sich Overlays gut für nicht interaktive Elemente. Da ohnehin nur Information dargestellt und keine gebräuchlichen GUI-Komponenten benötigt werden, bieten sich einfache 2D-Overlays an. Das Spiel beinhaltet zwei Intros, die durch animierte Texturen der jeweiligen Overlays realisiert sind. Das erste Intro läuft zu Beginn des Spiels in einer Endlosschleife bis der Button ausgelöst wird. Der Benutzer erhält Informationen sowie die Aufgabe zum Bau der eigenen Spielwelt. Die Erstellung von animierten Texturen gestaltet sich in Ogre recht einfach. Diesbezüglich ist das entsprechende Materialskript zu ändern. In der Texture Unit (dt. Textureinheit) wird hierzu unter Angabe des Attributs anim_texture auf mehrere Textur verwiesen. Neben der Angabe der jeweiligen Textur ist die Anzahl der Frames sowie die Dauer der Animation festzulegen. In der Abbildung 26 auf Seite 39 ist beispielhaft der Ablauf der Einleitung dargestellt. Das Skript findet sich im Anhang A. Das zweite Intro, dass das Spielprinzip kurz und prägnant verdeutlicht, ist nach dem gleichen Prinzip umgesetzt. Im Gegensatz zum ersten Intro, das in einer Endlosschleife läuft, sind die Frames manuell zu setzen, um den Start und das Ende der Animation zu definieren. Ein Overlay zur Einführung in das Spiel wird über die gesamte Szene aufgespannt. Damit der Nutzer dennoch weiß, ob er noch im Bild ist, um den Knopf auszulösen, wird das Kamerabild noch- 38 Abbildung 26: Overlays und Benutzerführung – Overlay. Einführung in den Spielbau. mal auf ein separates Overlay gelegt. Das Bildelement erhält dabei einen niedrigeren Z-Wert, um nach dem ursprünglichen Overlay gerendert zu werden. Neben der Einführung in das Spiel wird durch Overlays vor allem der aktuelle Status – Leben und Zeit – während des Spielverlaufs angezeigt. Verliert Fred ein Leben wird die Textur der entsprechenden Anzeige aktualisiert. Bei der vorletzten Textur handelt es sich um eine animierte Textur. Der Spieler wird darauf hingewiesen, dass er nur noch ein Leben hat. Das Herz beginnt zu pochen. Neben der Anzeige der Leben wird die aktuelle Zeit angezeigt. Dazu wurde eine Uhr animiert und ein Textfeld integriert, welches die aktuelle Spielzeit in Minuten und Sekunden darstellt. Bei der Erstellung der Overlays wurde darauf geachtet, dass sich die Größe sowie Position in Relation zur Bildschirmauflösung verhält. 39 6 Benutzertests In diesem Abschnitt wird das Spiel mit Hilfe von Benutzertests untersucht. Die Basis zur Durchführung bildet die Definition einer Zielsetzung, um den Test zielorientiert zu gestalten. Die Planung und Durchführung hilft dabei, den Testablauf entsprechend zu gestalten und eine angemessene Auswahl an Probanden und Bedingungen zu treffen. 6.1 Zielsetzung Die Durchführung und Auswertung von Benutzertests soll dazu verhelfen Aufschluss zu erhalten, inwiefern das umgesetzte Spiel auf Basis eines Tangible User Interfaces die Bedienung vereinfacht und das Spielerlebnis steigert. Das besondere Augenmerk liegt darauf, wie das entwickelte TUI für die virtuelle Spielwelt zur intuitiven Handhabung, Verständlichkeit, Minderung der Einstiegsbarriere für unerfahrene Spieler und dem Spaß am Spiel beiträgt. Des Weiteren sollen anhand der resultierenden Ergebnisse Rückschlüsse auf die Akzeptanz von Tangible User Interfaces im Bereich AR Gaming geschlossen werden. Bieten TUIs tatsächlich das Potenzial gewöhnliche Interaktionskonzepte im Spielbereich zu verdrängen? Wird der Umgang mit virtuellen Elementen im dreidimensionalen Raum wirklich einfacher und intuitiver? Kann die Lücke zwischen realer und virtueller Welt geschlossen werden? 6.2 Planung und Durchführung Der Benutzertest besteht insgesamt aus zwei Bausteinen. Verschiedene Steuerungsmöglichkeiten mittels TUI und Tastatur sollen Klarheit schaffen, wie die etwas andere Interaktionsform wahrgenommen wird. Welche Variante ist intuitiver, wird besser verstanden und erhöht den Spielspaß? Welche Technik minimiert die Einstiegsbarriere? Dementsprechend sollen Probanden aus unterschiedlichen Altersgruppen mit unterschiedlichen Erfahrungen im Bereich Computerspiele beide Steuerungsvarianten ausprobieren. Ein Fragebogen soll daraufhin die Empfindungen der Probanden erfassen. Der Fragebogen mit insgesamt 10 Fragen lässt sich neben den Angaben zur Person in drei Bereiche unterteilen. Die Personenangaben beinhalten Alter, Geschlecht und eine Selbsteinschätzung der Computerspielerfahrung. Anhand unterschiedlicher Erfahrungen der Testpersonen soll ermittelt werden, in welchem Umfang sich Altwissen auf den Umgang mit dem TUI und dem gesamten Spiel auswirkt. Die drei weiteren Abschnitte beschäftigen sich mit spezifischeren Fragestellungen. Hierzu wurden Hypothesen formuliert, denen der Proband in unterschiedlichen Abstufungen vollkom40 men oder gar nicht zustimmen kann. Der erste Teil behandelt hauptsächlich die Frage, wie die Steuerung mit dem Interface im Gegensatz zum konventionellen Eingabegerät wahrgenommen wird. Wird zum Beispiel der Spielspaß durch die Steuerung mit dem Spielbrett erhöht oder stellt der Bau der eigenen Spielwelt ein Steigerung des Spaß- und Motivationsfaktors dar. Der zweite Abschnitt umfasst lediglich drei Hypothesen und geht auf die Verständlichkeit, den Spaß und die gesetzten Anforderung an den Spieler in Bezug auf das gesamte Spielkonzept ein. Die letzten beiden Fragen sollen dabei helfen zu bewerten, wie sich das Konzept auf die Langzeitmotivation auswirkt und ob die Testpersonen sich Spiele mit ähnlichem Interaktionskonzept wünschen. Des Weiteren erhält der Proband die Möglichkeit, Verbesserungsvorschläge und Anregungen zu geben. Der komplette Fragebogen befindet sich im Anhang B. Bei der Durchführung der Tests soll der Proband zunächst neben den Intros keine weiteren Hilfestellung erhalten. Diese sollen erst gegeben werden wenn der Benutzer Schwierigkeiten bekommt oder direkt nachfragt. Die Beobachtung der Testperson soll zusätzlich Aufschluss darüber gegeben ob das Spiel und TUI selbsterklärend ist. Die Spielzeit ist variabel, jeder Proband soll die Möglichkeit erhalten so lange zu spielen, wie er möchte. Die Testpersonen sollen keinesfalls gezwungen werden das Spiel eine gewisse Dauer zu spielen. 6.3 Auswertung Die Durchführung der Benutzertests wurde an 26 Personen aus verschiedenen Tätigkeitsbereichen und Altersgruppen durchgeführt. Dabei wird unter der Annahme vorgegangen, dass die meisten Testpersonen geringfügige bis gar keine Erfahrungen in Augmented Reality Umgebungen sowie mit Tangible User Interfaces haben. Währenddessen wurde darauf geachtet das Personen die mit dem Bereich näher in Kontakt stehen zum Beispiel CV Studenten oder Absolventen im geringen Maße gesondert betrachtet werden. Anhand ihres Vorwissens könnten sie das Spiel gegebenfalls anders wahrnehmen beziehungsweise beurteilen. Dennoch sollen diese Personen mit in die Tests einbezogen werden, denn auch sie müssen sich mit der Steuerung vertraut machen. Die beiden Tabellen (Abbildung 27 auf Seite 42) zeigen einen groben Überblick über die Auswahl der Probandengruppe. Im Folgenden werden nun die Ergebnisse aller Probanden aufgezeigt. Die Auswertung hat gezeigt, dass lediglich geringe Variationen zwischen den Altersgruppen und Erfahrungseinteilung besteht. Auf Auffälligkeiten zwischen den einzelnen Gruppen wird gesondert eingegangen. Zur Darstellung der Auswertung werden Säulendiagramme, wie in Abbildung 28 auf Seite 43, verwendet. Auf der y-Achse wird die Anzahl der Testpersonen und auf der x-Achse die gestellten Hypothesen aufgezeichnet. Die verschiedenen Farben in unterschiedlichen Farbtönen symbolisieren die sechs Abstufungen, die dem Probanden zur Auswahl standen. Der Voll41 Abbildung 27: Benutzertests – Übersicht Probandengruppe. farbton Grün beschreibt dabei das der Nutzer der Hypothese vollkommen zu stimmt, Blau das er gar nicht zustimmt. Dadurch wird in jedem Fall deutlich in welche Richtung der Nutzer eher tendiert. Das Interface In Abbildung 28 auf Seite 43 wird die Auswertung des ersten Abschnitts, der sich überwiegend mit der grundlegenden Steuerung beschäftigt, dargestellt. Hypothesen 1. Die Steuerung mit dem Spielbrett erhöht den Spaß am Spiel. 2. Die Steuerung mit dem Spielbrett ist eingängig und selbsterklärend. 3. Der Schwierigkeitsgrad wird durch die Steuerung mit dem Spielbrett erhöht. 4. Der Bau mit der eigenen Spielwelt steigert zusätzlich den Spaßund Motivationsfaktor. 5. Ich würde die konventionelle Steuerung (Tastatur) bevorzugen. Anhand der ersten Hypothese wird ganz klar deutlich, dass die Vielzahl der Probanden die Steuerung mit dem Spielbrett beziehungsweise TUI als einen zusätzlichen Spaßfaktor empfanden. Die Auswertung der zweiten Hypothese bekräftigt, dass die Steuerung als intuitiv und leicht verständlich wahrgenommen wurde. Dies ist auch den Beobachtungen hervor getreten. Die Spieler hatten sich alle in relativ kurzer Zeit mit der Steuerung vertraut gemacht. Zudem wurde die Steuerung mit dem Spielbrett nicht 42 Tabelle1 trifft gar nicht zu trifft voll zu 10 6 16 5 2 1 4 3 1 4 1 4 4 7 2 9 20 18 13 30 25 Probanden 20 trifft voll zu 15 10 trifft gar nicht zu 5 0 1 2 3 4 5 Hypothese Abbildung 28: Benutzertests – Interface. als eine Erhöhung des Schwierigkeitsgrad wahrgenommen. Eher im Gegenteil. Auch der Bau der eigenen Spielwelt ist im Großen und Ganzen als zusätzlicher Spaß- und Motivationsfaktor bewertet worden. Der Wunsch nach konventionellen Eingabe wurde lediglich von Ausnahmefällen geäußert. Auffällig dabei ist, dass diese Personen auch im Alltag mit Computerspielen in Kontakt stehen und dementsprechend bei der Selbsteinschätzung der Spielerfahrung hoch angegeben haben. Aber auch hier bevorzugen sechs von neun erfahrenen Spielern das TUI. Das Spiel Der zweite Abschnitt des Fragebogens, der das Spiel allgemein betrachtet, wird in Abbildung 29 dargestellt. Hypothesen 1. Das Spiel hat mir Spaß gemacht. 2. Das Spielprinzip ist mir auf Anhieb klar geworden. 3. Das Spiel hat mich gefordert, aber nicht überfordert. Es wird deutlich, dass die Mehrheit bis auf einen Ausnahmefall Spaß am Spiel zeigte. Das Spielprinzip ist der Großzahl umgehend klar geworden. Besonders in diesem Bereich trat die Altersgruppe 41-60 Jahren in den Vordergrund. Alle drei Probanden hat keineswegs Probleme oder Schwierigkeiten das wesentliche Spielprinzip zu verstehen. Auf Nachfrage bei den jeweiligen Testpersonen wurde deutlich, dass alle Erfahrungen mit dem altbekannten Holzkugellabyrinth haben. Worauf sich das Ergebnis vielleicht Seite 1 43 Tabelle2 trifft gar nicht zu trifft voll zu 1 1 1 1 2 4 7 9 12 18 14 8 30 25 Probanden 20 trifft voll zu 15 10 trifft gar nicht zu 5 0 1 2 3 Hypothese Abbildung 29: Benutzertests – Auswertung Spiel. zurückführen lässt. Die Spieler konnten ihr Altwissen klar einsetzen. Des Weiteren wurden die gestellten Herausforderungen im Spiel als überwiegend positiv empfunden. Allgemein Die Auswertung des letzten Abschnitts des Fragebogens wird in Abbildung 30 auf Seite 45 gezeigt. Hypothesen 1. Ich kann mir vorstellen das Spiel mehrmals zu spielen. 2. Ich würde mir mehr Spiele wünschen, die ein ähnliches Interaktionskonzept verfolgen. Die Bewertung der ersten Hypothese durch die Probanden zeigt, dass das Spiel ganz klar Potenzial hat, die Langzeitmotivation zu verstärken. Auch Beobachtungen der Testpersonen haben gezeigt, dass viele Spieler gerne eine zweite Runde spielten und sich dabei neue interessante teils aber auch einfachere Spielwelt zusammen setzten. Manche Personen entwickelten hierbei einen richtigen Ehrgeiz. Darüber hinaus wünschen die Probanden sich größtenteils ähnliche Interaktionskonzepte in Spielen. Verbesserungsvorschläge und Anregungen Die Verbesserungsvorschläge und Anregungen betrafen im Großen und Ganzen das Spiel selbst. Viele Probanden äußerten den Wunsch nach weiteren Level, unterschiedlichen Gegnern und einer Rangliste mit Screenshots der gebauten Spielwelt. Oftmals kritisiert wurde, dass die Powerups nicht erklärt werden. Der Seite 2 44 Tabelle3 trifft gar nicht zu trifft voll zu 1 2 2 1 11 9 13 13 30 25 Probanden 20 trifft voll zu 15 10 trifft gar nicht zu 5 0 1 2 Hypothese Abbildung 30: Benutzertests – Auswertung Allgemein. grundlegende Gedanke war es, den Spieler immer wieder mit etwas Neuem zu konfrontieren und so Spannung zu schaffen, Neugier zu wecken und die Langzeitmotivation zu fördern. Auch die Beobachtungen haben gezeigt, dass viele Spieler die Powerups zunächst nicht nutzten, da sie nicht wussten was passiert. Die Musik wurde teils als witzig aber auch nervig empfunden. Die größte Unzufriedenheit wurde in Bezug auf den Button geäußert. Das ist darauf zurückzuführen, dass in manchen Fällen der Button nur träge funktionierte. Der Platz auf dem Fragebogen wurde aber auch genutzt, um positives Feedback zu geben. Dabei fielen Stichpunkte wie: „intuitiv“,„tolles Konzept“,„gutes Design“und „Intro einfach und gut“. Die gesamten Kommentare und Anmerkungen gegebenenfalls zusammengefasst befinden sich in einer Liste im Anhang B. Insgesamt ist aufgefallen, dass die Probanden positiv und mit Neugier an das Spiel heran getreten sind. Während des Spiels wurde deutlich, dass eine gewisse Konzentration und Geduld bestehen muss, um das Spiel zu bewältigen. Dies ergaben vor allem Gespräche mit den Probanden nach dem Ablauf des Tests. 45 Seite 3 7 Ergebnisse In diesem Abschnitt werden kurz die Ergebnisse der Umsetzung präsentiert. Neben dem TUI und dem gesamten Spiel werden die entstanden 3D Modelle dargestellt. 7.1 3D Modelle Neben dem Modell für die Spielfigur sind weitere Geometrien für lustige virtuelle Spielkomponenten erstellt worden. Der Grundkörper des Protagonisten Freds (Abbildung 31) wurde durch zwei verschiedene Animationen erweitert. Zum einen die Laufbewegung mit der sich Fred in der Abbildung 31: Ergebnisse – 3D Modell Fred. Spielwelt bewegt. Zum anderen das Hüpfen in ein Wurmloch sowie das Klettern heraus. Ebenso erhielt der Körper des Wurms zwei passende Animationen (Abbildung 32). Darüber hinaus sind weitere Modelle wie Sterne, Kugeln und Wurmlöcher entstanden. Alle Modelle erhielten verschiedenfarbige Texturen, um eine bunte Welt entstehen zulassen. Abbildung 32: Ergebnisse – 3D Modell Wurm. 7.2 Das TUI – Spielwelt Das TUI besteht aus einem einfachen Holzkasten mit zwei Griffen und Bausteinen in drei verschiedenen Größen. Die einzelnen Komponenten wurde 46 weiß lackiert (matt) und mit einer selbstklebenden Velourfolie zur Realisierung des Trackings und Wanderkennung bestückt (Abbildung 33). Das Material der Folie absorbiert einfallendes Licht und vermeidet Glanzlichter, die gegebenenfalls den Trackingvorgang wesentlich beeinflussen könnten. Der Bauplan mit sämtlichen Maßen befindet sich im Anhang C. Eines der Ziele die klassische Bedienung zu verdrängen wurde zusätzlich durch die blaue Folie, die die Knopffunktion übernimmt, realisiert. Zur Umsetzung des Konzepts wurde mit einer stationären Kamera und Monitor gearbeitet. Die Kamera ist an einer umgebauten Schreibtischlampe befestigt, wodurch die Aufsicht auf die Spielwelt ermöglicht wird (Abbildung 33). Das grundlegende Konzept sah es vor, dass der Spieler im Stehen das TUI vor sich hält. Jedoch ist deutlich geworden, dass dies für die meisten Spieler eine zu immense körperliche Belastung bedeutet, deshalb wurde das TUI um ein Luftkissen erweitert. Der Spieler kann bequem das Spielbrett in die richtige Richtung neigen. Des Weiteren bleibt der Benutzer aufgrund des- Abbildung 33: Ergebnisse – TUI. sen mit dem TUI beziehungsweise Marker eher innerhalb des Bildbereichs und eine stärkere Neigung des Spielbretts bleibt aus. Würde das Brett mehr als 90◦ gekippt werden würde das Tracking ausfallen. Insgesamt ist unter anderem durch die Verwendung der Velourfolie und geringe Entfernung von Kamera und Marker ein stabiles und robustes Tracking entstanden. Lediglich das Tracking des Knopfes bietet Platz für Verbesserungen. Des Weiteren ist die Verdeckung virtueller Komponenten durch reale Wände und Kollision mit diesen durchaus präzise genug, um den Eindruck der Vereinigung beider Welten zu stärken (siehe Screenshots Anhang D). 7.3 Das Spiel Das Gesamtergebnis ist ein lustiges und buntes Spiel, welches das altbekannte Kugellabyribthprinzip mit Leben füllt (Abbildung 34 auf Seite 48). 47 Es ist eine Kombination aus Geschicklichkeits, Jump‘n‘Run und Geduldsspiel entstanden, das die Konzentration und Koordination fördert. Der Bau der Spielwelt erhöht den Spaßfaktor und für bietet Potenzial die Langzeitmotivation zu fördern. Das TUI sorgt für die intuitive Handhabung und lässt einen unerfahrenen Spieler schnell ins Spielgeschehen einsteigen. Die Untersuchung des Spiels anhand von Benutzertests hat zudem verdeutlicht, dass das Spiel nicht bloß auf eine spezifische Zielgruppe beschränkt ist, sondern eine breite Masse erreicht. Weitere Screenshots des Spiels befinden sich im Anhang D. Abbildung 34: Ergebnisse – Spiel. 48 8 Ausblick Im Folgenden werden kurz Ideen, Verbesserungsvorschläge und mögliche Optimierungen, die das Spielkonzept sowie die technische Umsetzung betreffen, dargestellt. 8.1 Optimierungsansätze und Erweiterungen Das Tracking sowie die Detektion der Wände des Spielfeldes haben sich als robust dargestellt und benötigen dementsprechend keine Optimierung. Die hier aufgezeigten Optimierungsansätze beziehen sich hauptsächlich auf die Umsetzung des Knopfes sowie die Erweiterung durch die Detektion geschlossener Wände und die Erstellung einer Rangliste. Eingabe Spielstatus – Knopfdruck Die wichtigste Optimierung betrifft die Eingabe durch den Knopfdruck, da das Tracking beziehungsweise Auslösen in manchen Fällen nicht den Erwartungen der Benutzer entsprach. Zudem wurde während der Testphase deutlich, das einige Probanden den Knopf nicht als solchen empfunden haben. Entweder man verfeinert das Trackingkonzept und vermittelt durch eine Aus- oder Einbuchtung eine bessere Haptik oder ersetzt die Eingabe durch ein wie in den Grundlagen vorgestelltes markerbasiertes Verfahren. Das Wackeln oder eine bestimmte Rotation der gesamten Spielwelt könnte die Knopffunktion ersetzen und würde ein zusätzliches Highlight darstellen. Dennoch müsste hierbei darauf geachtet werden, dass die Geste eindeutig ist, um versehentliches Auslösen zu vermeiden. Detektion geschlossener Wände Des Weiteren wäre eine Erkennung geschlossener Wände sinnvoll. Baut der Spieler beispielsweise eine Spielwelt, die in zwei Teilbereiche zerlegt ist, geht das Spielkonzept gegebenenfalls nicht auf. Der Spieler hätte nicht mehr die Möglichkeit alle Bereiche der Spielwelt zu erreichen und die dahinter verborgenen Kugeln einzusammeln. Bei Erkennung einer geschlossenen Region, könnte das Spiel zum Beispiel um entsprechend positionierte Portale erweitert werden. Highscore Um die Motivation weiter voran zu treiben, könnte das Spiel um eine Rangliste erweitert werden. Die Liste müsste dabei ein Bild der gebauten Spielwelt und die entsprechend gebrauchte Zeit beinhalten. Weitere Spieler hätten somit die Gelegenheit die Spielwelt nachzubauen und einen neuen Rekord aufzustellen. 49 8.2 Fortführung des Spielkonzepts In der Evaluation ist der Wunsch nach mehr Leveln und anderen Spielkomponenten deutlich geworden. Als weiteres Powerup könnte Fred sich zum Beispiel zu einer Kugel formen oder eine Sprungfeder erhalten. Weitere Gegener oder Komponenten könnten zum Beispiel durch rollende Fässer, hüpfende Heuschrecken oder Schiebewände realisiert werden. 8.3 Weitere Benutzertests Die bisher erfolgten Benutzertests haben zwar gezeigt, dass durchaus Potenzial zur Langzeitmotivation besteht, aber dies beruht im Wesentlichen auf den Einschätzungen der Probanden. Weitere Benutzertests könnten zusätzlich bestätigen, dass das Konzept zur Langzeitmotivation wirklich aufgeht. Vor allem betrifft dies den Bau der Spielwelt. Beim ersten Spielen sind dem Benutzer die Auswirkungen des Baus nicht wirklich klar. Erst beim zweiten Durchlauf kann der Benutzer eine zielorientierte Spielwelt aufbauen. Die Motivation zum zweiten Spielen ist dadurch gegeben. Dies wird auch durch die Auswertung der Benutzertests bekräftigt. Aber wie sieht es beim vierten oder fünften mal aus? Eine Langzeitstudie würde hier Aufschluss geben. 50 9 Fazit Die Vermutung, dass Tangible User Interfaces das Potenzial des Bereichs AR Gaming erweitern, kann durch die durchgeführten Benutzertests und Beobachtung gefestigt werden. Es wird eine intuitive Interaktionsmöglichkeit geschaffen, die zusätzlich den Eindruck paralleler Welten stärkt. Virtualität geht allmählich über in Realität. Die Idee konventionelle Eingabemittel wie Tastatur oder Maus durch alltägliche Gegenstände zu ersetzen geht vollkommen auf. Besonders unerfahrene Spieler erhalten die Möglichkeit leicht ins Spielgeschehen einzusteigen. Die Mischung aus visueller Erweiterung und haptischer Erfassbarkeit steigert durch die Ansprache verschiedener Sinneskanäle das Spielerlebnis maßgeblich. Hinzukommend weckt die etwas andere dennoch vertraute Interaktionsform Neugier und Interesse. 51 Literatur [ARTa] ARToolKit. http://www.hitl.washington.edu/ artoolkit/, Abruf: 20.04.2011 [ARTb] ARToolKitPlus. http://studierstube.icg.tugraz.at/ handheld_ar/artoolkitplus.php, Abruf: 18.04.2011 [ARTc] Projekt ARTierchen. http://artierchen. knuddelgiraffe.de/, Abruf: 26.05.2011 [Azu95] A ZUMA, R.: A survey of augmented reality. 1995 [Bat02] B ATES, Bob: Game Design. 9783815504338 [BBR+ 95] B REEN, David E. ; B REEN, David E. ; R OSE, Eric ; R OSE, Eric ; W HITAKER, Ross T.: Interactive Occlusion and Collision of Real and Virtual Objects in Augmented Reality. 1995 [BK08] B RADSKI, Gary ; K AEHLER, Adrian: Learning OpenCV: Computer Vision with the OpenCV Library. 1. O’Reilly Media, 2008. – ISBN 9780596516130 [BKP08] B ILLINGHURST, Mark ; K ATO, Hirokazu ; P OUPYREV, Ivan: Tangible augmented reality. In: ACM SIGGRAPH ASIA 2008 courses. New York, NY, USA : ACM, 2008 (SIGGRAPH Asia ’08), 7:1–7:10 [BLC+ 10] B LANCO, José M. ; L ANDRY, Pascal ; C., Sebastián M. ; M AZ Emanuela ; PARÉS, Narcís: PIPLEX: tangible experience in an augmented reality video game. In: IDC, 2010, S. 274–277 Sybex Verlag, 2002. – ISBN ZONE, [BR05] B IMBER, Oliver ; R ASKAR, Ramesh: Spatial Augmented Reality: Merging Real and Virtual Worlds. Natick, MA, USA : A. K. Peters, Ltd., 2005. – ISBN 1568812302 [BWRT96] B REEN, David E. ; W HITAKER, Ross T. ; R OSE, Eric ; T UCERYAN , Mihran: Interactive Occlusion and Automatic Object Placement for Augmented Reality. In: Computer Graphics Forum 15 (1996), Nr. 3, S. 11–22 [Car] CarreraCV. http://www.mi.hs-rm.de/~schwan/ Projects/CG/CarreraCV/doku/, Abruf: 20.04.2011 [Hor04] H ORNECKER, E.: Tangible User Interfaces als kooperationsunterstützendes Medium, University of Bremen. Dept. of Computing, PhD-Thesis, Juli 2004 52 [IU97] I SHII, Hiroshi ; U LLMER, Brygg: Tangible Bits: Towards Seamless Interfaces between People, Bits and Atoms. 1997 [MDB03] M ÜHLBACHER, Daniel ; D OBROVKA, Peter ; B RAUER, Jörg: Computerspiele - Design und Programmierung. 2. Aufl. mitp, 2003. – ISBN 9783826609206 [Mül10a] M ÜLLER, Stefan: Vorlesungsfolien Animation und Simulation. 2010 http://www.uni-koblenz-landau.de/koblenz/ fb4/institute/icv/agmueller/lehre/archiv [Mül10b] M ÜLLER, Stefan: Vorlesungsfolien Virtuelle Realität und Augmented Reality. 2010 http://www.uni-koblenz-landau. de/koblenz/fb4/institute/icv/agmueller/lehre/ ws0910/arvr/arvr [Ogr] Ogre Wiki – Support and community documentation. http:// www.ogre3d.org/tikiwiki/, Abruf: 30.04.2011 [SWM+ 06] S TROBEL, Armin ; W OLSING, Ansgar ; M OHR, Christina ; L OTZE, Rouven ; L ANG , Eike M. ; Z IEGLER , Jürgen: ARTierchen – Augmented Reality in touch. In: Mensch & Computer 2006: Mensch und Computer im StrukturWandel. München : Oldenbourg Verlag, 2006, S. 425–430 [Tam] TAMANINI, Christian: Muntermacher. http://ctamanini. de/projekte.html, Abruf: 03.05.2011 [Tön10] T ÖNNIS, Marcus: Augmented Reality: Einblicke in die Erweiterte Realität (Informatik Im Fokus). 1., st Edition. Springer, Berlin, 2010. – ISBN 9783642141782 [US03] U LBRICHT, Christiane ; S CHMALSTIEG, Dieter: Tangible Augmented Reality for Computer Games. In: Proceedings of the Third IASTED International Conference on Visualization, Imaging and Image Processing ACTA Press, ACTA Press, 2003. – ISBN 0889863822, S. 950–954 [Wag07] WAGNER, Daniel: Handheld Augmented Reality, Graz University of Technology, Institute for Computer Graphics and Vision, Diss., 2007 [Zer02] Z ERBST, Stefan: 3D Spieleprogrammierung mit DirectX in C/C++. Band 2. Hardcover-Ausgabe. Books on Demand GmbH, 2002. – ISBN 9783831138791 53 Anhang A Materialdateien Materialskript zur Realisierung von Verdeckungen Listing 1: Materialskript 1 2 3 4 5 6 7 8 9 material labyrinth{ receive_shadows on technique{ pass{ lighting off colour_write off } } } Materialskript Overlay Listing 2: Materialskript 1 2 3 4 5 6 7 8 9 10 material Introduction/IntroGameWorld{ technique{ pass { lighting off scene_blend alpha_blend texture_unit{ anim_texture Intro_FredsWorld.png 15 30 } } } 54 B Benutzertest Fragebogen Angaben zur Person Alter <20 Geschlecht 21-30 weiblich 31-40 41-60 männlich >60 Selbsteinschätzung der Spielerfahrung in Computerspielen gering Das Interface Stimme... Die Steuerung mit dem Spielbrett erhöht den Spaß am Spiel. mittel gar nicht zu Die Steuerung mit dem Spielbrett ist eingängig und selbsterklärend. Der Schwierigkeitsgrad wird durch die Steuerung mit dem Spielbrett erhöht. Der Bau der eigenen Spielwelt steigert zusätzlich den Spaßund Motivationsfaktor. Ich würde die konventionelle Steuerung (Maus, Tastatur) bevorzugen. Das Spiel Das Spiel hat mir Spaß gemacht. Das Spielprinzip ist mir auf Anhieb klar geworden. Das Spiel hat mich gefordert, aber nicht überfordert. Allgemein Ich kann mir vorstellen das Spiel mehrmals zu spielen. Ich würde mir mehr Spiele wünschen, die ein ähnliches Interaktionskonzept verfolgen. Verbesserungsvorschläge und Anregungen Abbildung 35: Benutzertest – Fragebogen. 55 hoch voll zu Auswertung Das Interface trifft gar nicht zu 10 6 16 5 trifft voll zu 2 1 4 3 1 4 1 4 4 7 2 9 Das Spiel trifft gar nicht zu 20 18 13 trifft voll zu 1 1 1 1 2 4 7 9 12 Allgemein trifft gar nicht zu 18 14 8 trifft voll zu 1 2 2 1 11 9 13 13 Abbildung 36: Auswertung – Alle Probanden. 56 Das Interface trifft gar nicht zu trifft voll zu 1 2 2 1 1 3 1 1 1 2 4 3 3 Das Spiel trifft gar nicht zu trifft voll zu 1 2 1 Allgemein trifft gar nicht zu 5 4 2 trifft voll zu 1 3 1 2 3 Abbildung 37: Auswertung – Probanden 10-20 Jahre. 57 Das Interface trifft gar nicht zu trifft voll zu 1 6 5 11 4 3 1 3 3 1 3 5 1 9 Das Spiel trifft gar nicht zu 14 13 7 trifft voll zu 1 1 1 2 4 7 8 10 Allgemein trifft gar nicht zu 10 7 3 trifft voll zu 2 1 1 7 8 9 8 Abbildung 38: Auswertung – Probanden 21-40 Jahre. 58 Das Interface trifft gar nicht zu trifft voll zu 1 1 2 2 2 1 3 2 1 Das Spiel trifft gar nicht zu trifft voll zu 3 3 3 Allgemein trifft gar nicht zu trifft voll zu 1 1 2 2 Abbildung 39: Auswertung – Probanden 41-60 Jahre. 59 Verbesserungsvorschläge und Anregungen • bei Tastatursteuerung mehrere Tasten gleichzeitig • sehr gute Umsetzung eines TAR Games • Geschwindigkeit sollte nicht zu hoch sein • Fred ist Klasse! • Beschleunigung von Fred fühlt sich manchmal komisch an • Tastatursteuerung: Evtl. unintuitive „Neutral“–Perspektive (Perspektive entspr. nicht dem Spielbrett) • Auswirkungen des Selbstbauens waren am Anfang nicht ganz klar (das beeinflusst aber maßgeblich den Schwierigkeitsgrad) – gut für die Langzeitmotivation • Rangliste (Screenshots), Highscore (Motivation steigern) • Schwierigkeitsgrad erhöhen • mehr Level, Spiel etwas schnell vorbei, unterschiedliche Gegner • Design gut! • Intro einfach und gut, Schöne Intros • intuitiv • verbesserte Detektion des Drückens des Buttons • tolles Konzept • kurze Erläuterung der Powerups in der Startsequenz • größere Darstellung der Spieloberfläche für bessere Erkennbarkeit der Objekte • Sound sehr witzig, der Sound wird schnell nervig, Musik fehlt • Könnte man auch Portale in die Außenwände bauen? 60 C Tangible User Interface – Bauplan Abbildung 40: Tangible User Interface – Bauplan. 61 D Screenshots Abbildung 41: Screenshots. 62 Abbildung 42: Screenshots – Ausschnitt Overlays. 63