Zurück
So hat Look North World das Rhythmusspiel „Patchwork Parkour“ in Fortnite erstellt
Michael Dekoekkoek, Lead Engineer, Look North World
Patchwork Parkour (Inselcode: 1425-4464-4801) ist eine Zusammenarbeit zwischen dem UGC-Spielestudio und Publisher Look North World und Harmonix Labs, ein Team innerhalb von Epic Games, das bekannt für fantastische, auf Musik basierende Spielerfahrungen ist.
Gemeinsam haben wir ein Musikspiel erstellt, bei dem es insbesondere um die Interaktivität zwischen Gameplay und Musik geht und das bis an die Grenzen von Patchwork geht – Patchwork bezeichnet eine Reihe von Geräten im Fortnite-Kreativmodus und in UEFN, mit denen ihr Lieder und Grafikeffekte erstellen und bearbeiten könnt. Patchwork Parkour beleuchtet einige der Möglichkeiten, mit denen ihr eigene Soundtracks für Inseln erstellen und das Gameplay mit Musik verbessern könnt.
Harmonix verbessert und erweitert die Patchwork-Werkzeuge stetig und hat erhebliche Verbesserungen während der Entwicklung von Patchwork Parkour durchgeführt.
Unten heben wir einige der Haupt-Features hervor, die wir in unserem Spiel verwendet haben, sowie einige wichtige Lektionen, die wir während des Entwicklungsprozesses gelernt haben. Weitere Informationen und Dokumentationen zu aktuellen Patchwork-Werkzeugen findet ihr in der Dokumentation zu Patchwork-Geräten von Epic.
Notensequenzer ermöglichen es euch, Noten basierend auf dem aktuellen Tempo zu platzieren und abzuspielen. Obwohl das Gerät selbst keine Musik abspielt, kann das Output-Kabel des Notensequenzers an eine Reihe anderer Geräte angeschlossen werden, die wir später beschreiben.
Notenauslöser starten Events, wenn bestimmte Noten abgespielt werden. Indem ein Notenauslöser in der Output-Kette eines Notensequenzers platziert wird, könnt ihr einrichten, dass andere Geräte auf diese Events reagieren und verschiedene Aktionen basierend auf der ausgelösten Note ausführen. Das ist die Hauptmethode, mit der in Patchwork Parkour Umgebungsgefahren im Einklang mit unserem Soundtrack synchronisiert werden.
Zusammen mit der Song-Synchronisation bilden diese Geräte die Hauptbestandteile für Gameplay, das auf dem Timing eines Rhythmus basiert. Sie können mit verschiedenen anderen Geräten kombiniert werden, um die tatsächliche Musik zu erzeugen, doch technisch gesehen müsst ihr keine Sounds abspielen, um Rhythmus-basiertes Gameplay zu erstellen. Der Vorgang der Musikerstellung kann in einer Reihe und/oder parallel zu anderen Patchwork-Geräten erfolgen, um deinen vollständigen Soundtrack zu erstellen. Darauf gehen wir im nächsten Abschnitt näher ein.
Ein sehr wichtiges Gerät in Patchwork Parkour ist der Musik-Manager. Obwohl es sich um ein einfaches Gerät handelt, spielt es eine wichtige Rolle beim Handhaben des Tempos aller Patchwork-Geräte. Indem wir das Tempo im Musik-Manager festlegen, gehen wir sicher, dass jeder von uns platzierte Notensequenzer in diesem Tempo abgespielt wird. Diese Eigenschaft ermöglicht es uns, mehrere Notensequenzer parallel und miteinander im Einklang zu verwenden.
Patchwork Parkour verwendete überwiegend eingebaute Werkzeuge während der Prototyp-Phase und wechselte während der Entwicklung zu Fusion-Patches, um möglichst viel dynamisches Audio zu implementieren und zeitlich die Anzahl der auf der Karte platzierten Geräte möglichst gering zu halten.
Um für ein Gleichgewicht zwischen musikalischer Komplexität und Speicherverwendung zu sorgen, kombinierten wir Fusion-Patches und Effekte parallel mit Notensequenzern und Auslösern. Speziell haben wir eine Kombination aus Notensequenzer und Notenauslöser (ohne Output an einen Lautsprecher) mit einem separaten Notensequenzer und verschiedenen anderen Geräten, die Musik generieren, in dessen Ausführungskette platziert. Diese Geräte sind Instrument-Spieler, Filter, Modulatoren, und schließlich Lautsprecher.
Auf diese Weise konnten wir relativ komplexe Musik mit unseren Samples erstellen und die Gameplay-Animationen zeitgleich präzise mit der Musik in den Samples synchronisieren.
Eine Demonstration von Fusion-Patches und Notenauslösern mit mehreren synchronisierten Notensequenzern.
Die einfachste Form des Gameplays, das sich auf Musik auswirken kann, involviert das Ein-/Ausschalten von Patchwork-Geräten basierend darauf, wann ein Spieler ein Mutatorzone-Gerät betritt oder verlässt. Dies geschieht sehr oft in unserem Spiel und ist recht gewöhnlich und simpel. Interessanter ist die Verwendung des Patchwork-Werteinsteller-Geräts. Dieses Gerät ermöglicht es uns, Änderungen bei anderen Patchwork-Geräten während des Gameplays zu verursachen und mehrere Änderungen an der musikalischen Komposition durchzuführen.
Das folgende Video zeigt die Verwendung des Werteinstellers zum Kontrollieren der Musik via Gameplay.
Video 2: Kurz vor Ende von Level 3 wechselt die Musik zu einem neuen Mix.
Video 3: Der Werteinsteller wird verwendet, um den Mix zu aktualisieren. Es finden zwar viele musikalische Veränderungen während des Gameplays statt, doch in diesem Video geht es vor allem um zwei bestimmte musikalische Sektionen. Wir können zwischen ihnen hin- und herschalten, indem wir die aktuelle Seite des Notensequenzers anpassen.
Video 1: Level 3 beginnt mit einem neuen Mix.
Wenn eure Spieler nicht speziell mit den Patchwork-Geräten selbst interagieren, gibt es eine Reihe von Möglichkeiten, den verwendeten Speicher zu verringern – je nachdem, wie viele Patchwork-Geräte verwendet werden.
Für das endgültige Spiel solltet ihr euch allerdings die Zeit nehmen, alle konvertierbaren Elemente zu anderen Animationsformaten zu ändern.
Für die meisten unserer Anforderungen war Verse-Scripting ideal. Obwohl einige visuell komplexe Animationen in Levelsequenzen blieben, ist es wichtig, sie für eine optimale Performance vorsichtig zu handhaben.
Als rhythmusbasierter Obby/Plattformer erforderte Patchwork Parkour die Verwendung von vielen gleichen Hindernissen, die alle jeweils aus einem oder mehreren Actors bestehen. In UEFN stellt dies eine Entwicklungshürde dar, weil diese Objekte komponentisiert werden müssen, um leicht bearbeitet und kopiert werden zu können. Hier sind einige Tipps zum Vereinfachen dieses Prozesses:
In Patchwork Parkour haben wir dynamische Musik mit fesselndem Gameplay verbunden und zeitgleich die Performance optimiert. Angefangen mit dem Einsatz verschiedener Werkzeuge für die Optimierung der Speicherverwaltung hat uns jede Entscheidung dabei geholfen, ein geschmeidigeres und noch immersiveres Erlebnis zu gestalten. Wenn ihr eure eigene Insel entwickelt, solltet ihr stets daran denken, zu experimentieren, optimieren und Spaß zu haben!
Erlebt das Spiel jetzt mit dem Inselcode 1425-4464-4801.
Gemeinsam haben wir ein Musikspiel erstellt, bei dem es insbesondere um die Interaktivität zwischen Gameplay und Musik geht und das bis an die Grenzen von Patchwork geht – Patchwork bezeichnet eine Reihe von Geräten im Fortnite-Kreativmodus und in UEFN, mit denen ihr Lieder und Grafikeffekte erstellen und bearbeiten könnt. Patchwork Parkour beleuchtet einige der Möglichkeiten, mit denen ihr eigene Soundtracks für Inseln erstellen und das Gameplay mit Musik verbessern könnt.
Harmonix verbessert und erweitert die Patchwork-Werkzeuge stetig und hat erhebliche Verbesserungen während der Entwicklung von Patchwork Parkour durchgeführt.
Unten heben wir einige der Haupt-Features hervor, die wir in unserem Spiel verwendet haben, sowie einige wichtige Lektionen, die wir während des Entwicklungsprozesses gelernt haben. Weitere Informationen und Dokumentationen zu aktuellen Patchwork-Werkzeugen findet ihr in der Dokumentation zu Patchwork-Geräten von Epic.
Das Erstellen von Rhythmus-basiertem Gameplay
Hauptbestandteile: Notensequenzer, Notenauslöser, Song-Synchronisation
Für viele Spiele sind die wichtigsten Patchwork-Komponenten zum Erstellen von Musik, der Notensequenzer, der Notenauslöser und die Song-Synchronisation. Patchwork Parkour macht sehr oft Gebrauch von den ersten beiden dieser Geräte. Das Song-Synchronisation-Gerät bietet leistungsstarke Werkzeuge für das Synchronisieren von UEFN-Levelsequenzen mit Audio. Da es veröffentlicht wurde, während sich Patchwork Parkour mitten in der Entwicklung befand, konnten wir es für dieses Projekt nicht voll ausschöpfen. Es zeigt jedoch großes Potenzial für zukünftige Anwendungen.Eine Kombination aus Notensequenzer und Notenauslöser, mit der Actors mit dem Schlagrhythmus von Patchwork Parkour synchronisiert werden.
Notensequenzer ermöglichen es euch, Noten basierend auf dem aktuellen Tempo zu platzieren und abzuspielen. Obwohl das Gerät selbst keine Musik abspielt, kann das Output-Kabel des Notensequenzers an eine Reihe anderer Geräte angeschlossen werden, die wir später beschreiben.
Notenauslöser starten Events, wenn bestimmte Noten abgespielt werden. Indem ein Notenauslöser in der Output-Kette eines Notensequenzers platziert wird, könnt ihr einrichten, dass andere Geräte auf diese Events reagieren und verschiedene Aktionen basierend auf der ausgelösten Note ausführen. Das ist die Hauptmethode, mit der in Patchwork Parkour Umgebungsgefahren im Einklang mit unserem Soundtrack synchronisiert werden.
Das Video zeigt, wie die Kombination aus Notensequenzer und Notenauslöser Lichtanimationen im Spiel auslöst.
Zusammen mit der Song-Synchronisation bilden diese Geräte die Hauptbestandteile für Gameplay, das auf dem Timing eines Rhythmus basiert. Sie können mit verschiedenen anderen Geräten kombiniert werden, um die tatsächliche Musik zu erzeugen, doch technisch gesehen müsst ihr keine Sounds abspielen, um Rhythmus-basiertes Gameplay zu erstellen. Der Vorgang der Musikerstellung kann in einer Reihe und/oder parallel zu anderen Patchwork-Geräten erfolgen, um deinen vollständigen Soundtrack zu erstellen. Darauf gehen wir im nächsten Abschnitt näher ein.
Ein sehr wichtiges Gerät in Patchwork Parkour ist der Musik-Manager. Obwohl es sich um ein einfaches Gerät handelt, spielt es eine wichtige Rolle beim Handhaben des Tempos aller Patchwork-Geräte. Indem wir das Tempo im Musik-Manager festlegen, gehen wir sicher, dass jeder von uns platzierte Notensequenzer in diesem Tempo abgespielt wird. Diese Eigenschaft ermöglicht es uns, mehrere Notensequenzer parallel und miteinander im Einklang zu verwenden.
Dynamische Soundtracks erstellen
Extern und intern generiertes Audio miteinander vermischen, um eine an Musik orientierte Gameplay-Erfahrung zu erstellen
Hauptbestandteile: Fusion-Patches, Instrument-Spieler, Effekte, Filter, Modulatoren, Lautsprecher
Patchwork bietet einen robusten Werkzeugsatz von Audio-Geräten, mit denen ihr vollwertige Musikerfahrungen erstellen könnt. Ihr könnt euren eigenen, vollständigen Soundtrack mit den in Patchwork eingebauten Instrumenten und Effekten erstellen oder – noch spannender – eure eigenen Samples mit externen Audio-Werkzeugen via Fusion-Patches implementieren.Patchwork Parkour verwendete überwiegend eingebaute Werkzeuge während der Prototyp-Phase und wechselte während der Entwicklung zu Fusion-Patches, um möglichst viel dynamisches Audio zu implementieren und zeitlich die Anzahl der auf der Karte platzierten Geräte möglichst gering zu halten.
Um für ein Gleichgewicht zwischen musikalischer Komplexität und Speicherverwendung zu sorgen, kombinierten wir Fusion-Patches und Effekte parallel mit Notensequenzern und Auslösern. Speziell haben wir eine Kombination aus Notensequenzer und Notenauslöser (ohne Output an einen Lautsprecher) mit einem separaten Notensequenzer und verschiedenen anderen Geräten, die Musik generieren, in dessen Ausführungskette platziert. Diese Geräte sind Instrument-Spieler, Filter, Modulatoren, und schließlich Lautsprecher.
Auf diese Weise konnten wir relativ komplexe Musik mit unseren Samples erstellen und die Gameplay-Animationen zeitgleich präzise mit der Musik in den Samples synchronisieren.
Musik mit Gameplay verändern
Neben dem Erstellen von Musik und Verbessern von Gameplay-Mechaniken besitzt Patchwork eine Reihe von Werkzeugen, mit denen sich das Gameplay auf die Musik auswirken kann. Patchwork Parkour verwendet verschiedene Techniken, um die Musik dynamisch basierend auf den Aktionen des Spielers und des Fortschritts im Spiel zu aktualisieren.Die einfachste Form des Gameplays, das sich auf Musik auswirken kann, involviert das Ein-/Ausschalten von Patchwork-Geräten basierend darauf, wann ein Spieler ein Mutatorzone-Gerät betritt oder verlässt. Dies geschieht sehr oft in unserem Spiel und ist recht gewöhnlich und simpel. Interessanter ist die Verwendung des Patchwork-Werteinsteller-Geräts. Dieses Gerät ermöglicht es uns, Änderungen bei anderen Patchwork-Geräten während des Gameplays zu verursachen und mehrere Änderungen an der musikalischen Komposition durchzuführen.
Das folgende Video zeigt die Verwendung des Werteinstellers zum Kontrollieren der Musik via Gameplay.
Video 2: Kurz vor Ende von Level 3 wechselt die Musik zu einem neuen Mix.
Video 3: Der Werteinsteller wird verwendet, um den Mix zu aktualisieren. Es finden zwar viele musikalische Veränderungen während des Gameplays statt, doch in diesem Video geht es vor allem um zwei bestimmte musikalische Sektionen. Wir können zwischen ihnen hin- und herschalten, indem wir die aktuelle Seite des Notensequenzers anpassen.
Gelerntes/Entwickler-Tipps
Hauptbestandteile: Patchwork-Speichermodus, mehrere Seiten in Notensequenzern, Fusion-Samples, Skelett-Meshes, Actor-Bindung
Speicherverwaltung
Patchwork-Geräte können erhebliche Speichermengen in eurem Spiel einnehmen. Hier sind einige Tipps, mit denen ihr die Speicherverwendung im Zaum halten und gleichzeitig für dynamische Musik sorgen könnt.Wenn eure Spieler nicht speziell mit den Patchwork-Geräten selbst interagieren, gibt es eine Reihe von Möglichkeiten, den verwendeten Speicher zu verringern – je nachdem, wie viele Patchwork-Geräte verwendet werden.
- Verwendet die Patchwork-Speichermodus-Einstellung in den Inseleinstellungen. Diese Einstellung schaltet im Grunde alle Animationen und viele der Grafiken aus, die von Patchwork-Geräten während des Gameplays verwendet werden. Diese Funktion ist nur angemessen, wenn deine Spieler während des Gameplays nicht mit den Patchwork-Geräten interagieren müssen.
- Ihr werdet diese Verwendung abwägen müssen – wenn ihr eure Musik mit Patchwork erstellt oder integriert, sollten sie sie sehen und mit ihnen interagieren können. Wenn ihr eure Insel veröffentlicht oder Speichertests durchführt, könnt ihr diese Funktion aktivieren und euren verwendeten Speicher deutlich reduzieren.
- Verwendet mehrere Seiten in Notensequenzern, die ihr mit Werteinsteller-Geräten ändern könnt – je nachdem, was euer Gameplay erfordert.
- Notensequenzer können mehrere Seiten besitzen, die ihr entweder individuell oder in einer Sequenz in eine Schleife hängen könnt. Patchwork Parkour nutzt diese Funktion, um die Anzahl individueller Geräte im Spiel zu verringern. Beispielsweise ändern wir die Seiten basierend auf dem Fortschritt des Spielers, wie im vorherigen Video mit dem Werteinsteller zu sehen ist, wo wir eine Änderung zu Seite 3 eines Notensequenzers auslösen, um andere Musik abzuspielen.
- Verwendung von Fusion-Samples. Wie zuvor erwähnt, verwendet Patchwork Parkour jede Menge Fusion-Samples. Indem ihr Audio in einer DAW erstellt und in einem Fusion-Patch mit dem Instrumentenspieler-Gerät abspielt, könnt ihr die Anzahl der erforderlichen Geräte zum Abspielen eines Sounds und somit auch die Speicherverwendung verringern.
Filmsequenzen: Vorteile und häufige Fehler
Uns war vor der Entwicklung bereits bewusst, dass sich Levelsequenz- und Filmsequenz-Geräte stark auf die Performance auswirken. Wir haben jedoch auch festgestellt, dass sie sich perfekt eigneten, um schnell Spielmechaniken zu entwerfen, die sich gut mit Musik synchronisieren lassen. Während der Prototyping-Phase erleichterten und beschleunigten sie das Erstellen spaßiger Gameplay-Mechaniken, wir empfehlen also, sie für Prototyping und möglichst früh in der Entwicklung eures Spiels zu verwenden.Für das endgültige Spiel solltet ihr euch allerdings die Zeit nehmen, alle konvertierbaren Elemente zu anderen Animationsformaten zu ändern.
Für die meisten unserer Anforderungen war Verse-Scripting ideal. Obwohl einige visuell komplexe Animationen in Levelsequenzen blieben, ist es wichtig, sie für eine optimale Performance vorsichtig zu handhaben.
- Wenn Filmsequenz-Geräte abgespielt werden, die mit einem Rhythmus synchronisiert sind, solltet ihr so viele Actors, die in diesem Rhythmus Animationen ausführen, in so wenigen Levelsequenzen wie möglich zusammenfassen. Diese Geräte verursachen beim Starten und Stoppen einen erheblichen Performance-Einbruch, daher sollte die Performance verbessert werden, indem die Anzahl von Levelsequenzen, die gleichzeitig abgespielt werden, möglichst gering gehalten wird.
- In Patchwork Parkour haben wir einen zonenbasierten Animationsaktivierer/-deaktivierer erstellt, um die Anzahl der gleichzeitig abgespielten Filmsequenzen zu verringern. Da es ein Einzelspieler-Spiel ist, konnten wir die Anzahl der gleichzeitig abspielenden Geräte gut beschränken.
Als rhythmusbasierter Obby/Plattformer erforderte Patchwork Parkour die Verwendung von vielen gleichen Hindernissen, die alle jeweils aus einem oder mehreren Actors bestehen. In UEFN stellt dies eine Entwicklungshürde dar, weil diese Objekte komponentisiert werden müssen, um leicht bearbeitet und kopiert werden zu können. Hier sind einige Tipps zum Vereinfachen dieses Prozesses:
- Skelett-Meshes: Wenn möglich, vermeidet die Verwendung von Skelett-Meshes in Filmsequenzen.
- Zu Beginn haben wir all unsere von Musik ausgelösten Umgebungsgefahren mit Skelett-Meshes und Animationen erstellt. Dadurch war es wesentlich leichter, mit mehreren Gefahren zu arbeiten, da eine Animationsänderung in den meisten Fällen lediglich das Aktualisieren der Animation erforderte, anstatt jeden Track in mehreren Filmsequenzen anpassen zu müssen.
- In UEFNs aktuellem Zustand würden Filmsequenzen jedoch dafür sorgen, dass Skelett-Meshes mit jeder Frame ihre Animationen überprüfen und ihre Bones aktualisieren, selbst wenn keine Animation festgelegt ist. Dies kann zu Performance-Problemen führen.
- Zu Beginn haben wir all unsere von Musik ausgelösten Umgebungsgefahren mit Skelett-Meshes und Animationen erstellt. Dadurch war es wesentlich leichter, mit mehreren Gefahren zu arbeiten, da eine Animationsänderung in den meisten Fällen lediglich das Aktualisieren der Animation erforderte, anstatt jeden Track in mehreren Filmsequenzen anpassen zu müssen.
- Actors und Tracks: Um die Performance bei der Verwendung von Filmsequenzen zu optimieren, sollte möglichst nur ein Actor an jeden Transformation-Track gebunden werden. Dadurch lädt das Spiel geschmeidiger und potenzielle Performance-Probleme, die durch das Handhaben von Subobjekten in Filmsequenz entstehen, werden gering gehalten.
- Wenn mehrere Actors an einen einzigen Track gebunden werden, erscheint ein Symbol mit zwei gelben Pfeilen beim Track. Vergesst nicht, Ausschau nach diesem Symbol zu halten und es wenn möglich zu vermeiden, um eine optimale Performance zu gewährleisten.
- Außerdem ist es eine gute Vorgehensweise, Actors in Sequenzen separat zu belassen. Das Kopieren und Einfügen von Transformation-Tracks ist schnell und leicht. Wenn also mehrere eurer Actors die gleiche Animation abspielen, könnt ihr einfach die Transformation-Tracks jedes Actors kopieren, damit sie miteinander synchronisiert animiert sind.
In Patchwork Parkour haben wir dynamische Musik mit fesselndem Gameplay verbunden und zeitgleich die Performance optimiert. Angefangen mit dem Einsatz verschiedener Werkzeuge für die Optimierung der Speicherverwaltung hat uns jede Entscheidung dabei geholfen, ein geschmeidigeres und noch immersiveres Erlebnis zu gestalten. Wenn ihr eure eigene Insel entwickelt, solltet ihr stets daran denken, zu experimentieren, optimieren und Spaß zu haben!
Erlebt das Spiel jetzt mit dem Inselcode 1425-4464-4801.