Einblicke in die Entwicklung: hinter den Kulissen des modularen Systems
Wie ihr euch vorstellen könnt, brachte die Implementierung dieses Features einige Herausforderungen mit sich – und zwar aus verschiedenen Blickwinkeln. Was das Game Design angeht, hat Markus zum Beispiel erwähnt, dass es entscheidend war, das System so flexibel wie möglich zu gestalten, ohne etwas an der Spiellogik oder Grafik kaputt zu machen, und es gleichzeitig einfach und intuitiv für die Spieler zu halten.
Für das Art-Team bestand eine der Herausforderungen darin, herauszufinden, wie groß ein Schiffsmodul sein sollte, um mit dem geliebten Anno-Raster kompatibel zu sein. Es mag auf den ersten Blick nicht offensichtlich erscheinen, aber genau wie Straßen und Gebäude gilt das Raster auch für den Ozean – das bedeutet, dass sich die Schiffe innerhalb des Rasters bewegen. „Das erforderte viel Hin und Her: Zuerst haben wir Prototypen gebaut, indem wir einfache graue Blöcke gebaut haben und herausgefunden haben, ob dieses Maß im Raster funktioniert, dann haben wir es visuell umgesetzt.“ – Rolf, Expert Artist
Jannis, Gameplay Programmer, erzählte uns von den Herausforderungen, mit denen sie konfrontiert waren, um ein System zu schaffen, das flexibel und gleichzeitig einfach zu warten ist. „Die Platzierung der Module auf den Schiffen ist dynamisch. Da die Anzahl der möglichen Kombinationen recht hoch ist, ist es nicht möglich, statische Dateien für alle Kombinationen zu erstellen, sondern wir müssen das Schiff dynamisch zur Laufzeit im Spiel erstellen, wenn ein Schiff erstellt wird, d.h. wir berechnen, an welchen Positionen welcher Slot installiert wird und platzieren es visuell und logisch an diesem Slot-Index.
Wie das geschieht, ist durch ein paar Regeln definiert, die wir sehr oft iterieren mussten. Außerdem mussten wir das System in einen logischen Teil („Wo und wie sollen die Module verbunden werden?“), und einen visuellen Tei („Welche 3D-Modelle werden in welchen Situationen verwendet?“) aufteilen. Ein Mast an der Vorderseite des Schiffes muss zum Beispiel anders aussehen als ein Mast in der Mitte des Schiffes. Dies ermöglicht es uns, modulare Schiffe effizient aufzubauen, jede mögliche Konfiguration zu validieren und verschiedene visuelle Variationen z.B. für spezielle Teilnehmer wie Piraten zu erstellen.“
Das bedeutet, dass jedes Modul nicht nur eine andere Funktion hat, sondern auch eine andere Priorität im Verhältnis zu anderen Modultypen. Diese Priorität beeinflusst den Platz, den das Modul bei der Konfiguration des Schiffes einnimmt: Jedes Modul hat einen bevorzugten Platz; ist der Platz jedoch bereits durch ein Modul mit höherer oder gleicher Priorität belegt, wird das Modul auf den nächsten freien Platz gesetzt, der weiter außen liegt. Sind alle weiter außen liegenden Steckplätze belegt, wird es auf den nächsten freien Steckplatz in der Mitte des Schiffes gesetzt. Damit soll sichergestellt werden, dass die Platzierung der Module eine schöne, gut aussehende Struktur auf dem Schiff ergibt.