Bisher war die Schifffahrt in meinem Hafen eine ziemlich sture Angelegenheit: Ich hatte Wegpunkte von Hand im Editor platziert, und die Schiffe sind diese Punkte der Reihe nach abgefahren — Punkt eins, Punkt zwei, Punkt drei, Reede. Das funktioniert genau so lange, wie nichts dazwischenkommt. Und in einem Hafen kommt ständig etwas dazwischen.

Deshalb habe ich das in dieser Session umgebaut, und zwar von Grund auf.

Ein Netz statt einer Perlenkette

Aus den einzelnen Wegpunkten ist ein Fahrwassernetzwerk geworden: ein zusammenhängendes Netz, das Ein- und Auslauf des Hafens mit den Reeden und den Anlegern verbindet. Die Schiffe suchen sich ihren Weg durch dieses Netz, statt einer fest verdrahteten Punkteliste zu folgen.

Das Netz im Godot-Editor: Kanten mit Pfeilen sind Einbahnstrecken, die Flächen sind Reeden.
Das Netz im Godot-Editor: Kanten mit Pfeilen sind Einbahnstrecken, die Flächen sind Reeden.

Zum Arbeiten daran gibt es ein Debug-Overlay, das ich im laufenden Spiel mit der N-Taste ein- und ausblenden kann — so sehe ich jederzeit, auf welchen Bahnen die Schiffe gerade unterwegs sind und wo das Netz noch Lücken hat.

Verkehrsregeln

Ein Netz allein macht noch keinen Verkehr. Damit sich die Schiffe nicht gegenseitig durchfahren, gelten jetzt Regeln:

Die MS Koi auf dem Weg zur Reede — das Fahrwassernetz per N-Taste als Overlay eingeblendet.

Einbahnstraßen und Gegenverkehr

Nicht jede Wasserstraße ist gleich breit. Die Wege im Netz lassen sich deshalb als Einbahnstrecke oder als zweispurige Trasse definieren, und die Schiffe verhalten sich entsprechend:

Das Ziel hinter alldem ist simpel zu benennen und erstaunlich viel Arbeit: Es sollen nie zwei Schiffe ineinander clippen.

Kais, Piers und Liegeplätze mit Namen

Die zweite große Baustelle war die Kai-Struktur. Bisher war ein Kai ein Kai — fertig. Jetzt kann ich die Größe eines Kais ändern und zum Beispiel einen Pier bauen. An Kai oder Pier hänge ich dann beliebig viele Liegeplätze, die als Child-Nodes dem Bauwerk zugeordnet werden und sich automatisch beschriften: aus Pier 17 wird Pier 17 – L1, Pier 17 – L2 und so weiter. Genau so tauchen sie auch in der Anlegerliste auf — die Namen vergeben sich selbst, und ich kann keinen doppelt vergeben oder vergessen.

Man sieht jetzt, wo man baut

Dazu passend gibt es visuelle Guides: Sowohl im Baumodus als auch in der Anlegerauswahl werden Schiffsumrisse an den Liegeplätzen angezeigt — anklickbare Silhouetten, die zeigen, wo ein Platz ist und was dort hinpasst.

Liegeplätze als anklickbare Schiffsumrisse an den Kais — hier zusammen mit den Richtungspfeilen des Fahrwassernetzes.
Liegeplätze als anklickbare Schiffsumrisse an den Kais — hier zusammen mit den Richtungspfeilen des Fahrwassernetzes.

Vorher war das Anlegen ein Klick auf einen abstrakten Listeneintrag. Jetzt klickt man auf einen Umriss im Wasser — und im Baumodus sieht man schon beim Platzieren, wie viele Schiffe an den neuen Pier passen werden.

Was noch fehlt

Die Kollisionsbehandlung ist, wie gesagt, erst der Anfang — Anhalten ist eine Lösung, aber keine elegante. Als Nächstes sollen die Schiffe vorausschauender miteinander umgehen: wer wartet, wer darf zuerst, wer weicht wie weit aus. Der Hafen wird voller, und das Netz muss das aushalten.


← Zurück zur Übersicht