FALLSTUDIE Dave the Diver
Wie gelingt es einem kleinen Team, einen komplexen, Genre-übergreifenden 2D/3D-Hit auf mehreren Plattformen zu entwickeln? Mit einem Tech-Stack, der die Universal Render Pipeline, das C#-Jobsystem, Cinemachine, das Eingabesystem sowie Unterstützung durch das Integrated Success-Team beinhaltete, startete das Team von Dave the Diver ein atemberaubendes, gut optimiertes und höchst beliebtes Spiel.
Komplexe visuelle Elemente auf mehreren Plattformen meistern
PC, Mac, Nintendo Switch™
27
Südkorea
Angeln Sie sich den richtigen Partner
Dave the Diver kombiniert Adventure-, Rollenspiel- und Tycoonspiel-Elemente. Der Spieler kontrolliert Dave, einen Taucher, der das Meer erforscht, Fische sammelt, bedrohlichen Kreaturen ausweicht, Quests erfüllt und dann Sushi aus frisch gefangenen Zutaten herstellt und verkauft.
Das kleine Team wusste, dass es einen Partner brauchen würde, um komplexe, Genre-übergreifende Gameplay-Elemente auf mehreren Plattformen ins Gleichgewicht zu bringen.
„Wir haben uns für Unity entschieden, weil uns dessen Features mehr Autonomie und Zeit beschert haben, um das Gameplay zu entwickeln und wegen ihres Rufs als starker Multiplattformpartner“, sagt Direktor Jaeho Hwang.
Die Ergebnisse
- Weltweit 2 Millionen Exemplare verkauft
- Mit einem Spitzenwert von 98.000 gleichzeitigen Spielern auf Steam
- Erhielt mehr als 56k „überaus positive“ Nutzerbewertungen auf Steam
- Erreichte Platz 2 als globaler Top Seller auf Steam (seit dem 29. Juni 2023)
Nintendo Switch ist eine eingetragene Marke von Nintendo.
Eine der größten Herausforderungen mit der sich das Team konfrontiert sah, war, für die bestmögliche visuelle Qualität auf verschiedenen Plattformen zu sorgen. Der Einsatz der Universal Render Pipeline (URP) half ihnen, ihre Grafik zu erstellen, zu optimieren und zu skalieren. Der leitende Spieldesigner Chanhee Woo sagt, „URP hat uns einen großen Vorteil gegeben. Wir mussten nur ein Plattform-spezifisches Render Pipeline Asset konfigurieren und es in den Qualitätseinstellungen spezifizieren. Wir haben uns sehr hohe Standards für die Grafik gesetzt und wir haben sie erreicht.“
Ein weiteres Hindernis stellten für sie Anfangs die schnelle Umsetzung von Features and Gameplay-Ideen dar. Eine schnelle Entwicklung von Ideen war wichtig für ihre Grafiker, deren Perspektiven instrumentell für die Shader des Spiels waren. Um Verzögerungen zu vermeiden, wählten sie Shader Graph ein knotenbasiertes visuelles Authoring-Tool.
„Die Tatsache, dass Mitarbeiter, die keine Programmierkenntnisse haben, wie Grafiker Shader Graph benutzen können, ist ein erheblicher Vorteil“, erläutert Art Director Kiyeop Chung. „Wir erhalten ihren direkten Input. Und die Ergebnisse können sofort gesehen werden.“
Dave the Diver mischt 2D-Pixel und 3D-Grafik. „Es war sehr attraktiv für uns, sowohl die Arcade-ähnliche Action von 2D als auch den räumlichen Eindruck von 3D zu haben“, sagt Woo. Das Team hatte bei der Implementierung von Ideen Probleme mit Kamerablickwinkeln und der Ausführung von Interaktionen, daher entschieden sie sich für Cinemachine, eine Suite von Werkzeugen für codefreie Kameras, um ihnen bei der Auswahl der besten Aufnahmen zu helfen. Sie konnten die von ihnen benötigte Aufstellung und Konfiguration vorab überprüfen und einrichten, indem sie mehrere Kameras organisierten.
„Es war genau wie an einem Drehort aufgebaut“, fährt Woo fort. „Cinemachine hat uns geholfen, die Dynamik mit natürlichen Blenden, Shakes und Optionen für zielgerichteten Fokus mühelos zu erstellen und zu lenken.“
Ein zentraler Teil der visuellen Strategie des Teams war es, dafür zu sorgen, dass die Grafik so realistisch wie möglich war, ohne dass die Leistung beeinträchtigt wurde. Sie hatten Schwierigkeiten damit, das Verhalten von Fischschwärmen zu generieren, daher setzten sie das C#-Jobsystem und den Burst compiler ein, um diese Probleme zu lösen.
„Normalerweise würde es eine hohe CPU-Auslastung verursachen, jeden Vektor linear zu berechnen, um das Schwarmverhalten zu bestimmen, aber den Code mit dem C#-Jobsystem zu schreiben und ihn mit dem Burst Compiler zu kompilieren und zu optimieren, verhalf ihm zu einer deutlich besseren Leistung“, sagt der leitende Programmierer Bosung Seo.
Das Team hatte auch mit Kollisionen zu kämpfen. In Dave the Diver schubsen sich die Fische gegenseitig sanft, um ein Gefühl der Tiefe in 2D und 3D zu erzeugen, und das Team hatte große Schwierigkeiten damit, diesen Effekt umzusetzen. „Um dies zu erleichtern“, erläutert Seo, „haben wir das C#-Jobsystem mit Unity Physics kombiniert, was diese Dynamik und eine leicht zu ändernde Logik für das Schubsen möglich gemacht hat“.
Das Team von Dave the Diver wollte das Spiel auf mehreren Plattformen bereitstellen und betreiben. In Anbetracht ihrer geringen Größe waren die mit dieser Veröffentlichungsstrategie verbundenen potentiellen Zeit- und Kostenaufwände überwältigend und sie setzten das Eingabesystem ein, um den Prozess zu unterstützen und zu beschleunigen.
„Die Kosten, das Spiel auf mehrere Plattformen zu bringen, waren minimal“, erklärt Seo. „Wir haben die Engine migriert und die Steuerung auf das Eingabesystem umgestellt. Wir haben den gleichen Code und die gleichen Assets, ohne jegliche Konvertierung, für beide Plattformen genutzt und es war extrem hilfreich.“
Das Team hat dasselbe Tool genutzt, um die Hürde zu überwinden, mit unterschiedlichen Controllern umgehen zu müssen. „Mit dem Eingabesystem“, fährt Seo fort, „war es leicht, das Gruppieren von Aktionen und die Tastenbelegung für jede Aktion hinzuzufügen und mit der Benutzererfahrung zu modifizieren. Es war auch nützlich, denn wir konnten während der Runtime Dinge hinzufügen und das Zurücksetzen mit Code durchführen. Es hat uns jede Menge Zeit gespart.“
Wenn man in der Spielebranche einen großen, leistungsfähigen Fisch an die Angel bekommen will, erfordert es eine Menge Arbeit und Hilfe, um für die maximale visuelle Wirkung zu Iterieren, zu Testen und Fehlersuche zu betreiben.
Sie haben die Timeline-Ansicht im Unity Profiler eingesetzt, um Flaschenhälse für die Leistung zu identifizieren und sie haben das Team von Integrated Success rekrutiert, um ihnen bei der Identifizierung, Untersuchung und Korrektur von Profilerstellungsproblemen sowohl beim Code als auch bei Designlösungen zu helfen.
„Wir haben sehr gute Erfahrungen mit der Unterstützung durch die Unity-Techniker gemacht“, sagt Seo. „Wir haben ihnen beispielsweise Profilerstellungsdaten geschickt und die Probleme gemeinsam gelöst oder sie haben uns Vorschläge für Optimierungen gemacht, indem sie den internen Engine Code nachgesehen haben.“
Die Techniker haben ihnen auch eine einfache und zugängliche Möglichkeit zur Verfügung gestellt, um spezifische Code-Zeilen zu analysieren. „Als wir einen abnormalen Event-Aufrufstapel hatten, löste einer der Techniker von Unity das Problem, indem er den Engine-Code mit uns durchging und wenn wir Fragen hatten, hängte er den Quellcode, der überprüft werden musste, an. Das ist sehr aufschlussreich.“
Sie wollten von Anfang an eine einzigartige visuelle Erfahrung in 2D/3D mit separaten Genre-übergreifenden Gameplay-Elementen und Storylines erstellen, die ein realistisches und unterhaltsames Gefühl erzeugt. Dies alles organisch auf mehreren Plattformen zusammenzuschweißen war eine komplexe Aufgabe und es war unverzichtbar für das Team, einen Tech-Stack auszuwählen, der es ihnen erleichterte, die visuelle Qualität, Effizienz und Storylines zu verwalten.
Indem man dies mit einer starken Community-Feedback-Schlaufe und sorgfältigen internen Tests kombinierte, war Dave the Diver bestens dafür gerüstet, ein sofortiger Hit zu werden.
Hwang sagt, „Wir wollten, zu unseren eigenen Bedingungen, ein ausgefeiltes und unterhaltsames Spiel entwickeln, das von der Community geliebt wird. Unsere Erwartungen waren hoch und wir sind begeistert über das finale Produkt.“
Erreiche ein größeres Publikum und vertraue darauf, dass dein Spiel bereit für die Zukunft ist – unabhängig davon, wie sich die Branche entwickelt oder wohin deine Fantasie dich treibt. Erstellen Sie Inhalte einmal und stellen Sie sie auf mehr als 18 Plattformen bereit, um Spieler über alle Formate hinweg zu fesseln.