Im PB-Forum ist eine Diskussion darüber entstanden, wie man Algorithmen und Metriken bei der Kartenerstellung nutzen kann, um möglichst faire Ausgangsbedingungen zu schaffen. Es geht dabei nicht (vorrangig) um komplette Skripts, die selbständig eine Karte generieren, sondern erstmal um Teilaufgaben (später kann man daraus vielleicht ein Komplett-Skript basteln).
Ich schlage vor, wir fangen mit den Grundlagen an. D.h. bevor wir über Algorithmen reden, die irgendwas automatisch generieren, brauchen wir Metriken, die die Qualität des Generierten bewerten (die Metriken können auf Algorithmen zurückgreifen, wenn es nicht anders geht).
Ich habe eine Metrik implementiert, die prognostiziert, welche Ziv ein bestimmtes Feld unter ihre Kontrolle bringen wird. Die kam bereits bei der Erstellung der Karte für das PB 72 zum Einsatz. Da die Implementierung relativ unübersichtlich ist, möchte ich aber lieber von vorne anfangen. Deshalb hier nur die grobe Funktionsweise:
- Genutzt wird eine Art Dijkstra-Algorithmus ohne Ziel.
- Ausgehend von der Startposition wird berechnet, wie "teuer" es für eine Ziv ist, ein bestimmtes Feld unter Kontrolle zu bringen.
- Die Kosten steigen mit der Entfernung und erhöhen sich zusätzlich, wenn der billigste Weg vom Startpunkt zum Feld über bestimmtes Gelände verläuft.
- solche Extrakosten entstehen für den Wechsel zwischen Land und Wasser, für den Wechsel zwischen Küste und Ozean, für Dschungel und für Tundra. Hier muss man überlegen, ob man bestimmte Kosten nur einmal anrechnet. Bspw. erfordert die Bewegung über Ozean eine hohe Anfangsinvestition, danach ist es aber relativ egal, ob man über ein Ozean-Feld fährt oder über zehn.
- Schließlich wird prognostiziert, dass die Ziv mit den niedrigsten Kosten für ein Feld dieses unter ihre Kontrolle bringen wird.
Ich bin mir sicher, dass das ausbaufähig ist