Mars zieht an: Ein Tycoon-Spiel mit maximalem Retro-Charme bauen

Mars Attracts, entwickelt von Outlier Games und jetzt verfügbar im Early Access auf Steam, bietet eine hinterhältige Wendung im Tycoon-Genre, indem die Spieler damit beauftragt werden, einen Alien-Zoo zu bevölkern und zu betreiben. Wir haben Paul Froggatt, den technischen Direktor von Outlier Games, interviewt, um zu erfahren, wie ihre neueste Veröffentlichung zustande kam, von der Zusammenarbeit mit einer ikonischen IP bis hin zu den richtigen technischen Entscheidungen, um eine komplexe Themenpark-Simulation.
Können Sie unseren Lesern ein wenig über die Ursprünge von Mars Attracts erzählen? Wie sind Sie dazu gekommen, mit dieser IP zu arbeiten?
Mars Attracts begann mit einem Gameplay-Konzept: einem hinterhältigen Tycoon-Spiel über das Entführen von Menschen, um sie als Exponate in einem Alien-Zoo zu verwenden. Mit dem Konzept im Hinterkopf und einem sehr einfachen Prototyp suchten wir nach IPs, die der Welt des Spiels Persönlichkeit verleihen könnten.
Eine der ersten Franchises, die uns einfiel, war Mars Attacks! Das Team war große Fans des Tim Burton-Films von 1996, und nachdem wir die Rechte untersucht hatten, verliebten wir uns in die originalen Retro-Sci-Fi-Autos, auf denen der Film basierte. Wir haben uns an Topps gewandt (die die Mars Attacks! IP besitzen) und waren begeistert, als sie Interesse an unserem schrägen Konzept für das Spiel zeigten.
Sobald wir das Gameplay-Konzept und die IP hatten, erweiterte sich das Team und wir machten uns daran, das Spiel zu entwickeln! Die technisch herausforderndste Aufgabe war die schiere Komplexität, ein vollwertiges Tycoon-Spiel im Stil von Evil Genius, Dungeon Keeper, Theme Hospital und RollerCoaster Tycoon mit einem kleinen (5–6 Personen) Team zu erstellen.
Lassen Sie uns spezifischer auf diese Herausforderungen eingehen – was waren einige der kreativen und technischen Hürden, die Sie überwinden mussten, um die Welt von Mars Attacks! in einen Themenpark-Simulator zu bringen? Wie haben Sie seinen markanten schwarzen Humor in das Gameplay übersetzt?
Eines der kreativ herausforderndsten Elemente bei der Erstellung eines Mars Attacks Park-Sims war tatsächlich nicht mit der IP verbunden – das Genre hat so viele großartige Einträge, dass es ein Basisniveau an Funktionalität, Lebensqualitätsmerkmalen und Komplexität gibt, das die Leute von dieser Art von Spiel erwarten. Es dauerte JAHRE, um diese Basisfunktionalität auf ein Niveau zu bringen, auf dem das Spiel Schulter an Schulter mit anderen Genre-Einträgen stehen konnte. Sobald wir das eingerichtet hatten, war es viel einfacher (und machte viel Spaß), das Spiel mit Mars Attacks! Mechaniken zu differenzieren! Ein Meeting über die grausamsten Möglichkeiten, Menschen zu foltern, wird nie alt.
Mars Attracts bietet eine "komplexe, bedürfnisbasierte Charakter-KI", die das Verhalten jedes Gastes und Mitarbeiters im Themenpark steuert. Könnten Sie uns eine allgemeine Vorstellung davon geben, wie das funktioniert? Wie haben Sie die Herausforderung gemeistert, Entscheidungen und Bewegungen für so viele Charaktere gleichzeitig zu verwalten?
Wir haben tatsächlich ein Video genau darüber gemacht! Die Struktur der Charakter-KI hat sich im Laufe der Entwicklung ein wenig verändert.
Jeder Charakter hat eine Reihe von Bedürfnissen (Hunger, Durst, Aufregung usw.) und ordnet sie basierend darauf, wie glücklich sie derzeit mit diesem Bedürfnis sind. Sie gehen dann die Liste durch und versuchen, eine nahegelegene Lösung für das Bedürfnis zu finden (z. B. einen Imbissstand für Hunger, eine Fahrt für Aufregung usw.). Wenn sie etwas finden können, wird ihnen eine Aufgabe zugewiesen, um es zu tun. Wenn nicht, gehen sie zum nächsten Bedürfnis in der Liste über.
Eine wichtige Erkenntnis beim Aufbau des Systems war die Aufteilung der Aufgabe in zwei Teile – das Ziel und die Absicht. Ursprünglich haben wir die Absicht nicht getrennt; zum Beispiel würde ein hungriger Charakter „zum Imbissstand gehen“, aber wir fanden heraus, dass dies eine Einschränkung für komplexere Verhaltensweisen wurde – ein Gast könnte zum Imbissstand gehen, um etwas zu kaufen, aber ein Hausmeister könnte zum Imbissstand gehen, um ihn zu reparieren. Sobald wir ein Multi-Element-Aufgabensystem hatten, konnten wir viel mehr Variation für Charaktere erstellen.
Auf technischer Ebene verwendet die Pfadsuche das A* Pathfinding Plug-in für Unity und Rastergraphen. Interessanterweise haben wir unterschiedliche Graphen für verschiedene Aufgaben, sodass ein Mensch, der entkommen möchte, einen Graphen verwendet, der durch Wände und Hindernisse navigieren kann (unter Verwendung von Bewegungsstrafen für Hindernisse, sodass sie um sie herumgehen, wenn sie können). Das bedeutet, dass der Mensch, wenn er möchte, einen Pfad der Zerstörung durch Ihren perfekt gepflegten Park bahnen kann.
Was stand hinter der Entscheidung, ein mesh-basiertes Animationssystem anstelle traditioneller Skelettanimationen zu wählen? Gab es Kompromisse, die Sie eingehen mussten, und wie haben diese Entscheidungen Ihren Kunst- und Animationsworkflow beeinflusst?
Das Spiel hat das Potenzial, dass Hunderte (oder schließlich Tausende) von Gästen gleichzeitig auf dem Bildschirm sind. Wir wollten große Menschenmengen, ohne die Leistung zu opfern, und stellten fest, dass die Animator Komponenten einen erheblichen Teil der Leistungsbandbreite in Anspruch nahmen.
Um dem entgegenzuwirken, haben wir für die Gäste des Parks auf mesh-basierte Animationen umgeschaltet, die Animationen vorab backen und viel leistungsfähigere Animationen für große Anzahl von Charakteren bieten.
Der Nachteil ist, dass es schwieriger ist, Variationen für Gäste hinzuzufügen (da jede Variation individuell erstellt werden muss), und wir haben festgestellt, dass es mit relativ kurzen Animationen am besten funktioniert hat.
Dieses Spiel weckt wirklich ein Gefühl der Nostalgie, von der IP bis zum gesamten Look und Gefühl. Welche spezifischen Techniken oder visuellen Elemente haben Sie verwendet, um diese besondere Ästhetik einzufangen und den gewünschten "Look" zu erreichen?
Die richtige Balance zwischen Nostalgie und Neuheit war ein großes Anliegen für uns. Visuell inspiriert sich die Farbpalette und das architektonische Design am Retro-Futurismus – es gibt nichts im Spiel, das zu schick aussieht, alles soll so aussehen, wie die Menschen in den 1960er Jahren dachten, dass eine Zivilisation auf dem Mars aussehen könnte.

Was hat Ihr Team bei den technischen Grundlagen dazu geführt, das Universal Render Pipeline (URP) auszuwählen? Wie hat diese Wahl einem Projekt mit diesem besonderen visuellen Stil und dieser Charakterdichte genutzt?
Die Visuals von Mars Attracts sollten an Klassiker des Genres und Retro-Wissenschaftsfiction erinnern, während sie auch die Erwartungen der Spieler an ein modernes Spiel erfüllen. Die Hauptüberlegungen waren, ob wir a) alles mit einem einzigen 3D-Künstler erstellen können und b) das Spiel auch auf schwächeren Maschinen gut läuft. Die Zugänglichkeit und Stabilität von URP waren ideal, um die Umgebungen zu schaffen, die wir erreichen wollten.
Wie sind Sie sonst noch vorgegangen, um sicherzustellen, dass das Spiel reibungslos läuft? Was waren einige Ihrer effektivsten Strategien zur Optimierung der Leistung in einer Simulation dieser Größenordnung?
Der Unity Profiler war von unschätzbarem Wert, um Engpässe zu identifizieren. Aufgrund der Anzahl der Gäste lagen die meisten Leistungsverbesserungen in den Ineffizienzen der Gäste-KI.
Als schnelles Beispiel, stellen Sie sich einen großen Park vor, in dem der Spieler 1.000 verschiedene Gebäude hat, die die Gäste besuchen könnten. Wenn ein Gast hungrig ist, müsste er durch 1.000 Gebäude blättern, um zu sehen, ob sie Essen anbieten. Wenn ja, wird der Zustand des Gebäudes überprüft, um sicherzustellen, dass sie Essen auf Lager haben, nicht beschädigt sind, besetzt sind usw. Wenn keines der Gebäude nutzbar ist, wiederholen Sie dies für das nächste Bedürfnis des Gastes (z. B. Durst) und wiederholen Sie es für 10–15 Bedürfnisse. Dann multiplizieren Sie das mit 500 Gästen. Das sind 1.000 Gebäude x 10 Bedürfnisse x 500 Gäste = 5.000.000 Überprüfungen.
Um dies zu adressieren, haben wir Suchregionen innerhalb des Parks implementiert, sodass die Gäste nur „sehen“ können, welche Gebäude sich in ihrer aktuellen Region oder in benachbarten Regionen befinden. Das könnte die Anzahl der zu überprüfenden Gebäude auf nur 100 reduzieren, also 100 Gebäude x 10 Bedürfnisse x 500 Gäste = 500.000 Überprüfungen. Eine enorme Einsparung ohne wirklichen Unterschied für den Spieler.

Wenn ich zurückdenke, was ist eine architektonische Entscheidung, die Sie früh getroffen haben, die sich wirklich ausgezahlt hat, als das Projekt komplexer wurde?
UnityEvents. Wir verwenden diese ständig. Eine wichtige Erkenntnis aus unserem vorherigen Projekt Das bedeutet Warp ist die entscheidende Bedeutung von modularer, eigenständiger Programmierung. Die Verwendung von Unity Events zur Kommunikation zwischen Klassen reduziert massiv hartcodierte Verknüpfungen und erleichtert es, neue Funktionen zu erstellen.
Sie haben die Verwendung von granularen Overlay-Shadern angesprochen, um den Spielern wichtige visuelle Informationen zu zeigen. Könnten Sie das näher erläutern?
Ja, wir haben einen benutzerdefinierten Shader, der ein Material basierend auf den Werten aktualisiert, die in einem Raster gespeichert sind. Dies ermöglicht es dem Benutzer, zu visualisieren, wie schön oder sauber eine Fliese ist oder wie nah sie an Gebäuden aus einem bestimmten Lebensraum ist. Ich habe den Shader nicht erstellt, also was die Funktionsweise betrifft, sage ich einfach... Magie.

Gab es Werkzeuge aus dem Unity Asset Store, die sich als besonders wertvoll erwiesen haben, und wenn ja, warum?
BGDatabase – alle Gebäudestatistiken und Lokalisierungsstrings werden aus Google Sheets abgerufen. Das erleichtert es, Dinge in großem Maßstab zu aktualisieren, Input von Lokalisierungspartnern zu erhalten usw. BGDatabase hilft, dies nahtlos in Unity zu integrieren, wir verwenden es in jedem Projekt.
Welchen Rat würden Sie einem Entwickler geben, der ein Tycoon-Spiel erstellen möchte, insbesondere eines, das eine große Anzahl von KI-Agenten in einer Simulation umfasst?
Ich würde auf jeden Fall empfehlen, sich mit mesh-basierten Animationen zu beschäftigen, um die Leistung mit so vielen Charakteren zu verbessern. Ähnlich ist die Arbeit mit dem Profiler absolut entscheidend.
Eine Sache, an die ich wünschte, wir hätten früher gedacht, war Speichern/Laden. Wir verwenden das EasySave3 Plug-in, haben aber das Speichern und Laden erst kurz vor der Veröffentlichung des Early Access in das Spiel integriert. Die Unterstützung für Speichern und Laden fügt ein wenig Overhead hinzu, um es für jede Funktion zum Laufen zu bringen, also haben wir etwas Zeit gespart, indem wir es für alles auf einmal gemacht haben, aber wir hatten nicht bedacht, welchen Einfluss es auf die Beschleunigung der Tests während der Entwicklung haben könnte. Die Möglichkeit, eine Umgebung mit Hunderten von Gästen zu erzeugen, die ein realistisches Spielerlebnis widerspiegeln, ist super nützlich für das Debuggen und Optimieren von großflächigen Parks.
Ein verwandter Tipp, den mir jemand kurz vor dem Start gegeben hat – fügen Sie das Speicher-Spiel des Spielers in alle In-Game-Feedback-Berichte ein. Super hilfreich, um ihr Problem nachzustellen!

Mars zieht an ist jetzt auf PC verfügbar. Entdecken Sie weitere Spiele, die mit Unity erstellt wurden, auf unserer offiziellen Steam-Kuratorseite. Lesen Sie weitere Geschichten von Entwicklern auf dem Unity-Blog und im Ressourcen-Hub.
