Master-Thesen aus dem Studiengang Game Engineering und Simulation

Ethik beziehungsweise Moral ist, bewusst oder unbewusst, ein ständiger Begleiter des Menschen und so in unser aller Leben präsent. Moralische Fragestellungen beeinflussen unterschwellig unser Handeln und unsere tagtäglichen Entscheidungen mit, sind jedoch in Videospielen unterrepräsentiert. Diese Arbeit zeigt auf, wie Moral als Instrument des Game Designs funktionieren kann, und auf welche Prinzipien und Aspekte dabei Rücksicht genommen werden muss. Um die verschiedenen Arten von Moralsystemen in Videospielen zu klassifizieren und deren Möglichkeiten und Eigenheiten aufzuzeigen, wird ein neues Framework postuliert, dessen Tauglichkeit auch anhand einer beispielhaften Videospiel-Implementierung überprüft wird. Dieses Videospiel ist online unter dem Titel "the fall of man" verfügbar.  

Augmented Reality Games haben großes Potential für die Spieleindustrie. Dennoch sind einige Hindernisse zu überwinden, bevor eine glaubwürdige Verschmelzung von Realität und Virtualität erreicht werden kann. Schnelle und zuverlässige Erkennung von Objekten is ein wichtiger Aspekt, ebenso die Erkennung von Haut anhand ihrer Erkennungsrate von Hautpartien in Bildern. Allerdings sind Haut und ähnlich erscheinende Materialien schwer zu unterscheiden. Diese Arbeit vergleicht Klassifikatoren und Kombinationen von Klassifikatoren hinsichtlich ihrer Fähigkeit Hautpartien in Bildern zu erkennen. Dazu werden drei Klassifikatoren auf Farbwerte unter Nutzung vier verschiedener Farbräumen trainiert und getestet. Um zu überprüfen ob sich dadurch die Erkennungsrate verbessert, werden die Farbklassifikatoren mit einem Texturklassifikator kombiniert und erneut evaluiert. Die angewendeten Klassifikationsmethoden sind ein Bayes Klassifikator, ein neuronales Netz und eine Support Vector Machine. Um die Textur zu beziffern werden vier ausgewählte Haralick Features genutzt. Zum Trainiern und Evaluieren wird ein Benchmark angewendet, der im Rahmen des zugrundeliegenden Forschungsprojekts entwickelt wurde. Die Resultate zeigen, dass die Erkennungsrate sich verbessert, wenn der Texturklassifikator zusätzlich angewendet wird. So wird z.B. die Falsch-Positiv-Rate einer Support Vector Machine von 28.30% auf 14.32% reduziert. Das beste Ergebnis wird erzielt, wenn alle Klassifikatoren unter Anwendung eines Mehrheitsvotums angewendet werden, mit einer Richtig-Positiv-Rate von 88.75%, gegenüber einer Falsch-Positiv-Rate von 8.79%.

Results Overview

In den letzten Jahren produzierte der Spielesektor viele innovative kostengünstige Endgeräte um den Immersionsgrad zu steigern und damit die Spieleerfahrung zu verbessern. Diese Endgeräte werden jedoch immer öfters auch in anderen Bereichen, wie den Gesundheitsbereich oder den Bildungsbereich, eingesetzt. Diese Masterarbeit präsentiert die Entwicklung eines Rehabilitationssystems, welches Microsofts kostengünstigen Motion Capture Sensor Kinect v2 für überwachte Rehabilitation zuhause benutzt. 

Eine Therapie von verletzten Personen kann sich über einen langen Zeitraum erstrecken. Deswegen ist es wichtig eine nachhaltige Motivation während der langen Rehabilitationsphasen zu fördern. Es wurde ein Prototyp entwickelt, welcher einen spielerischen Ansatz mit einem angemessenen Gamifizierungskonzept kombiniert, um ein konstantes Motivationslevel für Patienten jeder Altersstufe sicherzustellen. Er wurde konzipiert um von Patienten und Therapeuten eingesetzt zu werden, und verwendet eine neuartige Methode in Form einer Zwei-Schritte-Prozedur, um die richtige Übungsausführung zu überprüfen. Im Gegensatz zu bereits am Markt befindlichen Kinect basierten Systemen berücksichtigt dieser Prototyp die Individualität jedes Patienten, aufgrund der Tatsache, dass sie individuelle Verletzungen und Beschwerden haben. Dieses Rehabilitationssystem konzentriert sich darauf, spielerische Übungen mit personalisiertem Feedback und einer immersiven Spielerfahrung zur Verfügung zu stellen. Zusätzlich wurde ein Framework implementiert, um die Möglichkeit zu bieten, weitere Übungen einfach hinzuzufügen.

Dank modernen Smartphones trägt man die gesamte digitale Welt jederzeit bei sich. In den letzten Jahren versuchen Entwickler immer wieder mittels Mixed Reality, bestehende Gameplay Konzepte zu revolutionieren oder sogar Interesse für verschiedene Aktivitäten in der Realität zu wecken.

Diese Masterarbeit wird die verschiedenen Formen von Mixed Reality vorstellen und erklären wie diese in der Literatur definiert sind. Danach werden unterschiedliche Arten von Mixed Reality Daten und mögliche Anwendungsgebiete dieser diskutiert. Schlussendlich wird eine qualitative Analyse von bereits erhältlicher Mixed Reality Software durchgeführt. Die Ergebnisse werden schließlich verwendet um ein eigenes Konzept für Mixed Reality Software zu erstellen.

MGS Screenshot MGS Screenshot

Videospiele sind ein ausdrucksstarkes Medium in der heutigen Zeit, welche immer noch unterschätzt werden. Viele Personen sehen diese als Spielzeug für junge Leute an und zeigen wenig Akzeptanz.

Obwohl “Persuasive Games” ein relativ neues Feld der Spielentwicklung darstellt, ist es ein sehr effektives Medium um, spielend Lerninhalte zu vermitteln. Es liegen verschiedene Modelle vor um lernbasierte Spiele zu entwickeln und den Design Prozess zu unterstützen.

Um Bewusstsein für die IT Sicherheit zu schaffen ist es unverzichtbar laufend Schulungen zu diesem Thema abzuhalten. Diese Schulungen stützen sich auf bestehende Unternehmensrichtlinien. Da Mitarbeiter meist das schwächste Glied im Umfeld eines technologischen Unternehmens darstellen, sind diese Sicherheitsrichtlinien grundlegend.

Diese Arbeit behandelt die Erstellung eines IT sicherheitsrelevanten Lehrspiels, welches durch die Unterstützung von “Persuasive Games” wirksam eingesetzt werden soll.Des Weiteren werden Ergebnisse einer Online Umfrage ausgewertet um das Ergebnis wissenschaftlich zu belegen.

Echtzeit Terrain-Rendering hat viele Anwendungen, von Kartografie und Landschaftsplanung bis hin zu Flugsimulation und Computerspielen.

Diesen Terrains liegen oft riesige Datensätze zugrunde, die zu groß sind um in Brute-Force-Manier gerendert zu werden. Unter Umständen passen solche gar nicht erst als Ganzes in den Hauptspeicher eines Computers. Klassische Detaillierungsgrad-Methoden, welche die Geometrie von getrennten, untereinander unabhängigen Objekten vereinfachen, sind nicht auf Terrains als einzelne große durchgehende Oberflächen anwendbar.

Geometry Clipmaps ist eine Methode die zuerst im Jahr 2004 von Losasso und Hoppe eingesetzt wurde um das Effizienzproblem sowohl beim Rendering als auch beim Speicherbedarf zu lösen. Sie rendert das Terrain als einen Satz von verschachtelten rechteckigen Gittern von unterschiedlichen Auflösungen, welche um den Betrachter angeordnet sind. Diese verschieden detaillierten Ebenen morphen ineinander, um eine einzelne, durchgehende Oberfläche zu generieren. Des Weiteren wird ein verlustbehaftetes Kompressionsverfahren benutzt, um andernfalls zu große Terrains im Hauptspeicher ablegen zu können. Im Jahr 2005 haben Asirvatham und Hoppe diese Methode unter intensiver Ausnutzung von moderner Grafik-Hardware verbessert, um eine noch bessere Leistung zu erzielen.

Diese Arbeit stellt eine Implementierung von Geometry Clipmaps vor, welche auf diesen bisherigen Implementierungen aufbaut. An Stelle von verlustbehafteter Kompression werden die Daten jedoch zur Laufzeit von der Festplatte gelesen, wie es zuvor schon für die Implementierung von Texture Clipmaps gemacht wurde. Auf diese Weise wird eine möglichst genaue Repräsentation der Daten erreicht und Terrains von jeder Größe können gerendert werden, solange sie in den Festplattenspeicher passen. Des Weiteren wurde eine Raycasting Methode für das Terrain entwickelt, welche von der zum Rendern verwendeten Datenstruktur profitiert. Darüber hinaus wurde diese Methode mit der Spiel-Engine Unity realisiert, sodass sie sich an deren Funktionen bereichern kann und damit sie in andere Unity Applikationen einfach zu integrieren ist.

Es wurde gezeigt, dass das Lesen der Terraindaten von der Festplatte zur Laufzeit eine sinnvolle Alternative zur verlustbehafteten Kompression sein kann. Die Implementierung ist visuell in Unity integriert, indem sie mit der dynamischen Beleuchtung und dem Schattenwurf in einer Szene, die auch andere gerenderte Inhalte umfassen kann, interagiert.

Der Durchbruch in der Virtual Reality Welt, mit Geräten wie der Oculus Rift, bietet neue und interessante Möglichkeiten zur Gestaltung von Game Design. Horror als Thema ist in Spielen durchaus interessant, da Spieler nicht nur wie im Film zuschauen, sondern aktiv in das Spielegeschehen eingreifen können.

Diese Arbeit beschäftigt sich mit den Game Design Möglichkeiten im Virtual Reality Umfeld und wie sich die Horrorelemente eines Spieles mit der Oculus Rift sinnvoll verbinden lassen.

Recherchen zu anwendbaren Game Design Mechaniken und in der Vergangenheit verwendeten Videospielelementen werden durchgeführt. Zusätzlich wird in Unity3D ein eigenständiger Level entwickelt der sowohl mit der Oculus Rift als auch auf einem normalen Computerbildschirm spielbar ist. In diesem Level werden verschiedene, aber zum Horrorspielgenre passende, Mechaniken des Game Designs implementiert werden. Ein eigenstendiger Test bei dem Teilnehmer den Prototyp testen wird durchgeführt. Dabei sollen die Teilnehmer Fragebögen, in Form von Single-Choice Fragen, Multiple-Choice Fragen und Likert-Skalen, ausfüllen und auf Videokameras aufgezeichnet werden. Die daraus resultierenden quantitativen und qualitativen Daten werden evaluiert.

Diese Arbeit zeigt die einzelnen Schritte von der Idee, über die Umsetzung bis zum finalen Prototyp und wie Entscheidungen für die technischen und grafischen Elemente getroffen wurden.

Genetische Algorithmen finden häufige Anwendung in Bereichen wie Optimierung, Suchverfahren oder Prognosealgorithmen, da sie es einerseits ermöglichen, in moderater Laufzeit hochqualitative oder sogar optimale Lösungen zu erzielen, sowie andererseits eine herausragende Eignung für Parallelisierung aufweisen. Kombiniert mit der stetig steigenden Rechenleistung und Programmierbarkeit moderner Grafikkarten ergeben sich somit vielversprechende Aussichten für verschiedenste Anwendungsgebiete. Diesbezüglich existieren bereits einige Studien in der Fachwelt, allerdings ist die überwiegende Mehrheit der zugehörigen Implementierungen im proprietären CUDA-Framework des Hardware-Herstellers NVIDIA realisiert, während die Potentiale von frei zugänglichen und herstellerunabhängigen Tool-Sets wie OpenCL kaum genutzt werden. 

Daher besteht das Ziel dieser Arbeit darin, eine umfassende Analyse der Möglichkeiten durchzuführen, die sich durch die Anwendung von OpenCL zur Parallelisierung von Evolutionären Algorithmen ergeben. Dies umfasst unter anderem die Identifizierung der ausschlaggebenden Parameter und deren bestmöglicher Konfiguration. 

Zu diesem Zweck wird zuerst eine umfassende Literaturstudie zum Thema durchgeführt, um anschließend einige Referenzapplikationen zur weiteren Evaluierung zu entwickeln. Diese beinhalten einen klassischen Genetischen Algorithmus zur Lösung des bekannten Problems des Handlungsreisenden, sowie einen breiter anwendbaren Algorithmus zur Genetischen Programmierung. Beide Programme werden auf Laufzeitverhalten und Lösungsqualität unter mehreren Konfigurationen geprüft. Im Vergleich zu einer entsprechenden sequentiellen Implementierung ergaben die Messungen eine bis zu 10-fache Laufzeitreduktion für die Fitnessberechnung in der ersten Referenzapplikation bei Parallelisierung auf der CPU, während die übrigen Teile des Programms weniger aussichtsreiche Werte lieferten. Die Applikation für Genetische Programmierung dagegen zeigte wesentlich vielversprechendere Beschleunigungen um das bis zu 145-fache bei Parallelisierung auf der GPU.

Diese Masterarbeit behandelt das Thema der automatischen Textgenerierung in Videospielen. Natural Language Generation (NLG), die Generierung von natürlichem, menschlich wirkendem Text, wird in Videospielen bisher nur sehr selten genutzt. Diese Arbeit vermittelt daher zuerst Grundwissen über das Thema NLG. Des Weiteren werden mögliche Anwendungsgebiete für automatische Textgenerierung in Videospielen ermittelt und analysiert, sowie unterschiedliche NLG Methoden beleuchtet. Basierend auf Wissen, Anwendungsgebieten und Methoden werden daraufhin einige Praxisbeispiele vorgestellt, welche den Nutzen von NLG in Videospielen hervorheben. Zuletzt folgt eine Ergebnisanalyse der Praxisbeispiele, in der sowohl Vor- und Nachteile der verwendeten Methoden veranschaulicht werden, als auch auf unerwartete oder interessante Resultate hingewiesen wird.

Als Basis der Arbeit dienen zahlreiche Bücher und wissenschaftliche Arbeiten zum Thema NLG und Game Design, sowie eine breit gefächerte Auswahl an Videospielen. Durch Analyse von bestehenden NLG Systemen, sowie aktuellen Verwendungen von Text in Videospielen entstanden Thesen und Annahmen, welche im Praxisteil der Arbeit auf die Probe gestellt wurden. Bisher gibt es nur wenige Videospiele, die NLG aktiv nutzen. Diese Arbeit soll dem Leser oder der Leserin bewusst machen, welche Möglichkeiten sich durch die Verwendung von NLG in Videospielen ergeben. Sie soll weiters als Einstiegshilfe in die Thematik dienen und interessierten und erfahrenen Game Developern die Möglichkeit bieten, selbst NLG Systeme in Videospielen umzusetzen.

example_bayyarapu.jpg (374.23 KB)
example_rud.jpg (449.56 KB)
example_wbs.jpg (351.69 KB)

Für die unterschiedlichsten Anwendungen wird an Gestenerkennung geforscht. Diese Anwendungen umfassen die Interaktion mit Robotern, das Erfassen von Tätigkeiten und andere diverse Anwendungen im Unterhaltungsbereich. In vielen Fällen ist jedoch die Erfassung der BenutzerInnen aufwendig, da sie entweder teure motion capturing-Verfahren, komplizierte optische Systeme oder an den Körper angebrachte Sensoren verwendet. Mit dem Aufkommen der Microsoft Kinect ist ein kostengünstiger, optischer Sensor für den Innenbereich auf den Markt gekommen, welcher es auf Grund der zugehörigen Skeletterkennung möglich macht, Gestenerkennung kommerziell zu nutzen.

 

In dieser Arbeit wird ein Gestenerkennungssystem entwickelt, das auf der Skeletterkennung der Microsoft Kinect basiert. Dieses System ist darauf ausgelegt, ohne große Trainingsdatensätze auszukommen und Gesten anhand weniger Vorlagen zu erkennen. Dazu wurde eine beschleunigte Variante des aus der Spracherkennung bekannten Dynamic Time Warping-Algorithmus eingesetzt. Die Bewegungen der BenutzerInnen werden in multivariante Zeitreihen umgewandelt, welche dazu verwendet werden, mittels einer multivarianten Zeitreihenvorhersage die möglichen Gesten der BenutzerInnen vorhersagen zu können.Dadurch können sich die Anwendungen frühzeitig auf Aktionen der BenutzerInnen einstellen.

Das Gestenerkennungssystem ist mit acht Gesten und einer unterschiedlichen Anzahl von Vorlagen getestet worden. Die evaluierte Erkennungsgenauigkeit erreicht einen Maximalwert von 93,3% mit 18 Vorlagen pro Geste und liegt durchschnittlich bei 85,6%.

 

Bei der Vorhersage konnten durchschnittlich 0,57 Sekunden vorhergesagt werden.  Alle getroffenen Vorhersagen waren in 36,9% der Fälle richtig und von allen erkannten Gesten wurden 63,2% richtig vorhergesagt.

In Kartenspielen resultiert die Spielstärke von menschlichen Spielern aus den Summen ihrer Erfahrungen. Dieses Lernen durch Erfahrung kann durch Maschinen Lernen nachgeahmt werden.In dieser Master Thesis wurde eine bestehende Künstliche Intelligenz für das Kartenspiel „Schnapsen“ durch ein Bayes’sches Netz erweitert. Das Bayes’sche Netz übernimmt dabei die Aufgabe einer heuristischen Funktion, die bestimmt, mit welcher Wahrscheinlichkeit der gegnerische Spieler eine Karte sticht. 

Durch Maschinen Lernen mit Testdatensätzen wurden die Parameter des Bayes’schen Netzes optimiert. Mit diesem Prototyp wurden im Blindversuch sechshundert Spiele gegen eine Testgruppe von Spielern vorgenommen und statistisch ausgewertet. In der Arbeit wird so gezeigt, dass eine Verbesserung der Spielstärke einer Künstlichen Intelligenz durch den Einsatz eines Bayes‘schen Netzes möglich ist.

In den letzten Jahren hat sich die traditionelle Spieleentwicklung entscheidend verändert. Während früher nur wenige Personen für die Entwicklung eines Videospiels verantwortlich waren, arbeiten heutzutage oft mehrere hundert Personen an einem einzigen Spiel. Gleichzeitig stieg das Risiko der AAA-Spiele enorm an. Daher und um den Prozess der Spieleentwicklung zu beschleunigen, setzen die verschiedenen Studios Game-Engines ein. Diese sind für die Entwickler und Entwicklerinnen ein umfangreiches Werkzeug und ermöglichen die einfache Unterstützung von mehreren Plattformen – wie PC und Konsolen – ohne großen Aufwand. Ein häufig auftretendes Problem bei der Entwicklung von Spielen ist die Dauer der Kompilierung und die damit verbundenen Iterationszeiten. Um diese zu verkürzen, werden üblicherweise Skripte für spielrelevanten Code oder die Künstliche Intelligenz verwendet. Während fast der komplette Quellcode einer Game-Engine in C++ entwickelt wird, bestehen Skripte im Spielebereich fast ausschließlich aus Skriptsprachen, wie Lua oder Python, und werden nur selten in einer statischen Sprache wie C oder C++ implementiert.

iese Arbeit beschäftigt sich mit der Verwendung von C++ als Skriptsprache in der Spieleentwicklung, um herkömmliche Skriptsprachen wie Lua oder Python in diesem Bereich abzulösen. In den Grundlagen wird auf verschiedene relevante Begriffsdefinitionen eingegangen. Anschließend werden spezielle Sprach-Konstrukte von C++ erläutert. So wird unter anderem auf die Verwendung des virtual-Schlüsselwortes eingegangen und die Unterschiede von statischen und dynamischen Bibliotheken werden beleuchtet. Weiters wird der - in Verbindung mit dieser Thesis erstellte - praktische Prototyp vorgestellt und dessen Funktionalität dargelegt. Die Funktionalität des Prototyps besteht unter anderem aus Speicherverwaltung, Serialisierung, Debugging und dem Laden und Entladen von Skripten. Es wird besonderes Augenmerk auf die Fehlerbehandlung und die Eingliederung der Skripte in eine Game-Engine gelegt. Dadurch, dass der Prototyp für die Plattformen Windows 7 und Playstation 3 entwickelt wurde, wird auf die Playstation 3 im Allgemeinen eingegangen und Unterschiede in der Implementierung des Prototyps zwischen den Plattformen werden erwähnt.

Video zur Master Thesis