Entwicklertagebuch
Wegplanung in ANNO 1404

 

Anno 1404 - es läuft und läuft...

Sebastian Stauß & Christian RöschWie schon in Anno 1701 gehört die Wegplanung zu einem der Features die auch für Anno 1404 das Fundament bilden. Ohne Wegplanung käme kein Schiff zur Startinsel, fände kein Holzfäller zu einem Baum und kein Marktkarren würde eine einzige Tonne einer Endware abholen. Sind sie gespannt wie wir das gemacht haben? Genau wie damals beim letzten Anno! Kommen wir also lieber zu den Neuigkeiten aus Anno 1404.



Die Straße war steil

Abb.1: Eine kleine Siedlung mit eingeblendetem StraßennetzEine der wichtigsten Neuerungen für Anno 1404 ist das überarbeitete Straßensystem. Dies ist der steigenden Wichtigkeit der Straßenanbindungen geschuldet. Ab sofort sind Straßenanbindungen nicht nur für den Transport von Waren nötig sondern auch eine Art Grundvoraussetzung für jedes Wohnhaus. Wo in Anno 1701 nur in Sonderfällen Medikus oder Feuerwehr unterwegs waren sind nun Verbindungen zu allen öffentlichen Gebäuden nötig. Darum gibt es nun ein "echtes" Straßennetz (Abb. 1) bzw. sogar mehrere, da ein Spieler nicht gezwungen ist alle seine Straßen auch untereinander zu vernetzen. Dies ist der Schlüssel zur Funktionsweise der neuen Straße. Jedes Gebäude weiß ob und an welche Netze es angeschlossen ist. Somit gilt es automatisch verbunden mit allen anderen Gebäuden innerhalb dieser Netze.



Hier geh ich, hier wohn ich

Abb.2: Ein Straßennetz im Rastermodus

Abb.3: Verbundene Straßen durch Torhäuser
Nun ist es aber wie im echten Leben. Die Leute mosern zwar, wenn sie keine Straße vor der Türe haben und wollen dann auch keine Steuern berappen. Ist Ihnen aber der Weg zu lang, dann nehmen sie auch gern mal die Abkürzung über die Wiese. Dies darf nun auch in Anno 1404 so sein. Dafür musste das neue Straßensystem mit dem normalen rasterfeldbasiertem Modus (Abb. 2) kombiniert werden. Ein normaler Einwohner bewegt sich daher nicht wie ein Karrenschieber nur entlang der Straße. Von Zeit zu Zeit verlässt er diese auch. Ein anderer wichtiger Punkt war, dass ein Straßennetz auch unter Mauern hindurch funktionieren muss. Dies wird durch Torhäuser (Abb. 3) erreicht. So bilden Mauern quasi eine Brücke über die Straßen.



Wasserstraßen

Abb.4: Das Wegenetz für Schiffe im SpielDa eine typische Anno-Welt grundsätzlich aus Inseln inmitten eines großen, freien Meeres besteht wurde für die Wegplanung der Schiffe ein spezielles Konzept umgesetzt. Dieses wurde notwendig, um den erheblich vergrößerten Inselwelten gerecht zu werden. Die Wegplanung erfolgt hier über einen Sichtbarkeitsgraphen, also einen Graphen, dessen Knoten miteinander verbunden sind wenn eine direkte Sichtbarkeit zwischen ihnen besteht (Abb. 4). Die Knoten des Graphen sind hierbei bestimmte Punkte entlang der Ränder aller Inseln. Auf diese Weise enthält man alle Teilstrecken, die ein Schiff von einem Punkt zum nächsten fahren könnte ohne irgendwo aufzulaufen. Abb.5: Schematische Darstellung eines geplanten Weges im GraphenWenn nun ein Schiff eine Suchanfrage für eine Wegplanung anstößt, müssen der Start- und Zielpunkt des Schiffes in den Graphen eingetragen und alle ihrerseits sichtbaren Punkte gefunden werden. Auf diese Art erhält man ein Netzwerk ähnlich einem Linienfahrplan, wobei jede Haltestelle einen Knoten im Graphen darstellt. Der Weg, den das Schiff nun einschlagen muss, ist die kürzeste Verbindung zweier Haltestellen in diesem Plan (Abb. 5). Der Vorteil, den diese Art der Wegfindung mit sich bringt, ist, dass alle möglichen Teilstrecken eines Weges schon vor Beginn des Spiels berechnet werden können. Nur der Start- und der Endpunkt eines Weges werden noch ausgerechnet, wenn der Spieler den Befehl zum Setzen der Segel gibt.



Bewegungsfreiheit

Abb.6: Tool zum Editieren der ObjekteigenschaftenUm unterschiedliche Einheiten darzustellen wurde auch das System zum Abschreiten der Wege neu erarbeitet. Die Wege werden zunächst in unterschiedliche Abschnitte zerlegt, welche jeweils eigene Eigenschaften haben können. Ein Abschnitt kann etwa eine lineare Bewegung sein, eine beschleunigte Bewegung, ein Drehen auf der Stelle oder eine Kurve entlang eines Kreisabschnitts. Welchen Typ ein Abschnitt hat, wird einerseits durch die sich bewegende Einheit bestimmt und andererseits durch benachbarte Abschnitte. So wird ein Schiff beispielsweise immer einen gewissen Wenderadius anstreben, solange der Weg keine engere Kurve an dieser Stelle erfordert. Ob dies der Fall ist, kann anhand der Nachbarn dieses Bewegungsabschnitts berechnet werden. Um für jede Einheit ein individuelles „Bewegungsprofil“ zu definieren, wurde ein weiteres Tool (Abb. 6) entwickelt, mit welchem diese Eigenschaften editiert werden können. Diese Einstellungen beziehen sich aber nicht nur auf Bewegungen (Geschwindigkeit, Beschleunigung usw.) sondern auch auf alles Andere, was diese Einheit im Spiel einzigartig macht wie etwa ihre Baukosten.



Leinen los

Leinen los? Dazu sollten wir sie erst mal festmachen! Darum fahren die Schiffe nun zur Landungsbrücke (Abb. 7) vorm Kontor und bevorzugen diesen Platz um vor Anker zu gehen. Auch solche kleinen Details sollen zur Atmosphäre in Anno 1404 beitragen. Weiter verbessert wurden auch Schiffsgruppen, die sich nun in einer dynamischen Formation aufstellen (Abb. 8). So befindet sich die Gruppe nach der Ankunft möglichst nah zusammen und passt sich trotzdem während der Fahrt den aktuellen Gegebenheiten an (Abb. 9).

Abb.7: Schiff vor Anker an einem Kontor Abb.8: Formation und Zielpunkte einer Schiffsgruppe Abb.9: Aufgelöste Formation an engen Durchfahrten



von Christian Rösch (Software Developer, Related Designs) & Sebastian Stauß (Junior Software Developer, Related Designs)

 

               

© © 2015 Ubisoft Entertainment. All Rights Reserved. Anno 2205, Ubisoft and the Ubisoft logo are trademarks of Ubisoft Entertainment in the US and/or other countries.
Anno, Blue Byte and the Blue Byte logo are trademarks of Ubisoft GmbH in the US and/or other countries.
Datenschutz | Nutzungsbedingungen | Impressum | Kontakt | Jobs | Presse | Händler | Support | Über Ubisoft