Campus // Entwicklung

Musikspiel mal anders

Stephan Krohn   //   Dezember 8, 2009   //   0 Kommentare

Drei Studenten der Berliner Hochschule für Technik und Wirtschaft sagen Guitar Hero und Co. den Kampf an. Mit einem Skateboard.

Ausgangspunkt des von uns Music Racer genannten Projekts waren die Kurse »Games and Simulation Technology« und »Realtime Interactive Systems«. Diese Lehrgänge werden im Rahmen des Masterprogramms »Internationale Medieninformatik« im Schwerpunkt »Game Technology and Interactive Systems« an der Hochschule für Technik und Wirtschaft Berlin (HTW) angeboten. Die Aufgabe war es, mit einer kleinen Gruppe innerhalb eines Semesters ein eigenes Spiel zu entwickeln. Dabei sollte möglichst keine komplette Game-Engine verwendet werden, sondern einzelne Komponenten miteinander kombiniert werden. Das daraus entstandene Spielkonzept wurde anschließend in einem Folgeprojekt wieder aufgegriffen und um einige immersive Komponenten erweitert.

Die Idee

Die Gruppe war sich recht schnell darüber einig, diese Gelegenheit zu nutzen, um die Möglichkeiten von musik-basierten Spielen auszuprobieren. Zu den Vorreitern in diesem Segment zählen Guitar Hero von Activision Blizzard und Electronic Arts’ Rock Band. Im Unterschied zu den beiden AAA-Titeln sollte unser Spiel allerdings zwei grundlegende Änderungen enthalten:

  • 1. Guitar Hero und Rock Band versuchen das Musizieren möglichst realitätsnah wiederzugeben. In Music Racer hingegen sollte das Steuerungskonzept auf Rhythmus basieren.
  • 2. Während bei den Vorbildern der Spielinhalt im Vorfeld erstellt werden muss, sollte dieser nun dynamisch aus der Musik selbst generiert werden.

Als Thema des Spiels einigten wir uns auf ein Rennspiel, bei dem die Strecke aus einem beliebigen Audiofile generiert werden sollte.

Die Planung
Da die Umsetzung des Spiels viel Forschung erforderte, war die Entwicklungszeit von knapp zwei Monaten für ein Team von drei Studenten, die gleichzeitig noch andere Kurse belegt hatten, sehr knapp. Aus diesem Grund musste die erste Version von Music Racer grafisch schlicht gehalten werden. Zu diesem Zweck wurde das Szenario in eine futuristische Umgebung (Weltraum) verlegt, was zudem den Vorteil mit sich bringt, dass man sich nicht sklavisch an die Realität halten muss und selbst bestimmen kann, wie etwas aussieht. Um eine möglichst unabhängige und reibungslose Zusammenarbeit zu gewährleisten, wurde das Projekt in drei Teile aufgeteilt: die Audioanalyse, den Streckenbau und das sogenannte Framework (GUI, Optionen etc.). Diese Planung führte zu einer optimalen Ausnutzung der zur Verfügung stehenden Entwicklungszeit. Ein weiterer positiver Nebeneffekt ist der dadurch entstandene modulare Aufbau: Die Komponenten sind komplett unabhängig voneinander, weshalb beispielsweise die Audioanalyse problemlos auch in anderen Spielen eingesetzt werden könnte.

Die Strecken werden nicht von den Entwicklern gebaut, sondern aus der vom Spieler gewählten Musik heraus generiert. Dabei ist es egal, ob Sie Klassik, Rockmusik oder Pop-Melodien verwenden.

Das Framework
Der nächste Schritt bestand darin, geeignete Komponenten für die Game-Engine auszuwählen. Die wichtigsten Anforderungen an die Komponenten waren:
 

  • einfache Integration
  • einfache Benutzung
  • Funktionsumfang

Wir wählten die Game-Engine »Horde3D«. Entscheidend waren hier vor allem die Kompaktheit und die dadurch einfach Handhabung. Für die Audio-Komponente fiel die Wahl auf »Fmod-Ex«, eine weit verbreitete Lösung, die fast alle für unsere Zwecke benötigten Funktionen bietet. Zudem erlauben die Lizenzbestimmungen die freie Nutzung in nicht kommerziellen Projekten. Als größtes Problem erwies sich überraschenderweise die Benutzeroberfläche (GUI). Hier fielen die meisten Lösungen bereits wegen der extrem umständlichen Einbindung durch das Raster. Letzten Endes entschieden wir uns für »guichan«. Für Input- und Window-Management wurde »SDL« verwendet. Auf das Einbinden einer Physik-Komponente wurde indes verzichtet, da es in Music Racer nicht nötig war, komplexe physikalische Vorgänge zu simulieren.

Das Raumschiff wird durch Gewichtsverlagerung gelenkt. Das Skateboard ist dabei auf einem provisorischen Brett fixiert, das mit Drucksensoren ausgestattet ist, wie man sie von Waagen kennt.

Die Umsetzung
Das Konzept, das hinter dem dynamischen Streckenbau steckt, lässt sich wohl am besten als »Carrera-Bahn-Prinzip« beschreiben. Die Idee dabei war es, die Strecke aus Einzelteilen zusammenzusetzen, die wiederum aus der Musik generiert werden. Dazu wird zunächst das Audiomaterial in eine Sekunde lange Abschnitte aufgeteilt. Anschließend werden zwischen diesen Abschnitten Unterschiede im Klangbild ermittelt, wobei es besonders auf das Stereo-Panorama, den Pegel und den Rhythmus des Liedes ankommt. Diese Daten werden dann an das Streckenbau-Modul geschickt, welches die Elemente mit entsprechender Steigung bzw. Kurvengrad generiert. Zusätzlich werden aus den Informationen der Beat-Analyse Hindernisse und Boni erzeugt, welche auf der Strecke verteilt werden und die nachher vom Spieler umfahren oder eingesammelt werden müssen.

Das Gameplay
In Music Racer wählt der Spieler zunächst eine beliebige Audiodatei aus. Aus dieser wird eine Strecke berechnet, über die man schließlich das Fahrzeug steuert. Die Steuerung erfolgt wahlweise über die Maus oder einen speziell entwickelten Controller. Der Streckengenerator ist deterministisch; es gibt also für jeden Song einen individuellen Kurs. Insgesamt bietet Music Racer vier verschiedene Spielmodi, in denen entweder auf Zeit oder nach Punkten gespielt wird. Dabei nehmen die Hindernisse jeweils andere Funktionen ein (Punkteboni oder -abzüge, schneller/langsamer werden).

Rhytmische Elemente in den Songs erzeugen Hindernisse und Boni auf den Strecken.

Die Audio-Analyse
Das Herzstück des Spiels ist die Analyse der Audiodaten. Zusätzlich zur Prüfung der einzelnen Abschnitte führt das Programm noch eine globale Beat-Analyse durch. Hierzu wird das Signal mit Hilfe von FMOD zunächst durch eine Fast-Fourier-Transformation (FFT) in Frequenzspektren zerlegt und anschließend in Frequenzbändern zusammengefasst, die wiederum auf Maxima untersucht werden. Zeitabschnitte, in denen besonders große Maxima auftreten (die also über einem einstellbaren Threshold liegen), werden als Beats markiert. Somit lässt sich über einen einzigen Parameter bereits eine Anpassung des Schwierigkeitsgrades vornehmen, da ein niedrigerer Threshold zu mehr erkannten Beats und somit zu mehr Hindernissen führt. Ein weiterer wichtiger Punkt war die Verknüpfung von Song- und Streckenposition. Dies ist zum einen für die Bewegung auf der Strecke und zum anderen für die exakte Platzierung der Hindernisse wichtig. Da das Signal für die FFT ohnehin in Buffer aufgeteilt werden musste, wurden diese Buffer zudem als »Waypoints« für die Lokalisation genutzt. Solange diese Buffer klein genug sind, gewährt dieses Prinzip sowohl eine exakte Positionierung als auch einen flüssigen Bewegungsablauf. Zusätzlich zu einer perfekten Synchronisierung von Bild und Ton, die bei einem solchen Spiel elementar wichtig ist, ermöglichte dies zudem den interessanten Nebeneffekt, die Renngeschwindigkeit über die Abspielgeschwindigkeit der Musik zu verändern. Dies wird Beispielsweise im Modus »Race« ausgenutzt, bei dem Spiel und Song durch Kollisionen mit Hindernissen gebremst werden.

Das Team von Music Racer: Dennis Lübke, Stephan Krohn und Benjamin Hergert.

Die Immersion
Die erste Version von Music Racer benutzte die Maus als primäre Steuerung. In einem Projekt mit dem gameslab der HTW Berlin, welches sich mit dem Einsatz von Sensorik in Spielen beschäftigte, entstand jedoch die Idee, das Programm immersiver zu machen. Zu diesem Zweck wurde ein eigener Controller entwickelt, der dem Spieler das Gefühl vermitteln sollte, tatsächlich über die Strecke zu surfen. Dieser Controller besteht aus einem alten Skateboard, unter dem Sensoren befestigt sind, die die Gewichtsverteilung auf dem Board messen, vergleichbar mit dem Wii-Board. Der Unterschied ist allerdings, dass das Skateboard zwar an einer Stelle fixiert ist, eine Gewichtsverlagerung aber nach wie vor eine Neigung des Boards zur Folge hat. Dies vermittelt ein realistischeres Spielgefühl, da der Spieler direkt Rückmeldung bekommt und zusätzlich zum Spielgeschehen auch auf seine eigene Balance achten muss, um nicht vom Board zu fallen. Die verwendeten Sensoren sind einfache Drucksensoren, wie sie beispielsweise in Waagen zum Einsatz kommen.
Um Music Racer noch intensiver zu gestalten, wurde die Spielgrafik auf die sogenannte Stereo-Technologie umgestellt, sodass eine 3D-Projektion im Polarisationsverfahren möglich ist. Durch die dreidimensionale Projektion wird das Gefühl des Spielers, tatsächlich durch die Steilkurven zu surfen, noch einmal verstärkt; Strecke und Hindernisse wirken nun sehr plastisch. Um das zu erreichen, mussten wir eine zweite Kamera ins Spiel einbauen, deren Perspektive im Vergleich zur Hauptkamera leicht verschoben ist, was den natürlichen Augenabstand des Menschen simuliert. Das Problem der Polarisationstechnik ist allerdings, dass hierfür spezielle Projektoren bzw. Aufbauten und Grafikkarten notwendig sind und der Benutzer eine spezielle Brille tragen muss. Ein entsprechender Rechner mit Projektor wurde vom gameslab zur Verfügung gestellt.

Mit sogenannten Shutter-Brillen lässt sich Music Racer auch in echtem 3D spielen.

Das Fazit
Mit einem kleinen Team aus drei Studenten und sehr begrenzter Entwicklungszeit (insgesamt drei Monate) ist ein Spiel entstanden, was intuitiv spielbar ist und eine breite Zielgruppe anspricht. Music Racer wurde bereits einige Male im gameslab präsentiert und konnte von den Besuchern getestet werden. Dabei fiel auf, dass das Spiel durch alle Altersgruppen hinweg begeistert gespielt wurde. Auch ein Unterschied zwischen den Geschlechtern war nicht festzustellen, was vor allem an der intuitiven Kontrollmethode liegen dürfte. Ein weiterer Grund ist, dass das Spiel mit jeder Art von Musik funktioniert. So war festzustellen, dass sich zu den Tönen von den Beatsteaks eher junges Publikum um den Stand scharte, während bei entsprechender Musikwahl auch die ältere Generation zur Testfahrt antrat.

 

Der Ausblick
Music Racer wird kontinuierlich weiterentwickelt. Im Moment wird neben Verbesserungen im grafischen Bereich vor allem an der Portierung auf andere (mobile) Plattformen gearbeitet.
Durch den eingangs erwähnten modularen Aufbau der Software wäre es außerdem denkbar, das Prinzip der audiobasierten Generierung von Content auf andere Genres und Spielmechaniken anzuwenden. Das ist zur Zeit eines der Forschungsthemen des gameslabs.

Stephan Krohn

zum Autoren:
Stephan ist einer von drei Studenten der Berliner HTW, die an Music Racer arbeiten. Nach einer zweijährigen Ausbildung zum Audio-Engineer an der SAE Köln studierte er Internationale Medieninformatik und machte seinen Master mit dem Schwerpunkt Game Technology.

Kommentare

Einen Kommentar hinterlassen

Um einen Kommentar hinterlassen zu können, müssen Sie sich zuerst anmelden oder registrieren.

» zur Anmeldung
» zur Registrierung