Weil es mich nicht locker ließ, hatte ich mal angefangen mir selbst einen Generator in php/js/html zu scripten. Dieser sollte dann natürlich auf meine speziellen Wünsche zugeschnitten sein:
1. Alle Königreich-Karten sollen möglichst gleich oft ausgewählt werden, damit man auch alle immer mal wieder spielt.
Hier hatte ich zuerst überlegt, jedes generierte Königreich zu speichern und so einen Zähler pro Karte zu haben, wie oft sie verwendet wurde. Das habe ich aber verworfen und statt dessen eine viel einfachere Lösung umgesetzt; es wird bei jedem Aufruf nicht nur ein Königreich gebildet, sondern so viele dass jede Königreichkarte genau einmal verwendet wird. Einige ersetzte Karten (wie der Holzfäller, usw.) können aber müssen nicht enthalten sein, sodass immer vollständige Königreiche garantiert sind. Aktuell werden bei mir so immer 39 Königreiche generiert (zweite Edition von Basis/Intrige/Seaside, erste Edition von allem anderen) und jede Karte ist genau einmal enthalten.
2. Karten, die Zusatzmaterial (wie Trank, Pferd oder Tableaus) benötigen, sollen nicht zu zerstreut verteilt werden.
Dazu habe ich beim Karten-Array immer mit angegeben, welches Zusatzmaterial eine Karte benötigt. Man kann einstellen, auf wie viele Spiele jedes Zusatzmaterial aufgeteilt werden darf. Beispiel Trank (10 Karten): Aufteilen auf 3-4 Spiele. Beispiel Pferd (8 Karten): Aufteilen auf 2-4 Spiele. Das ist natürlich rein subjektiv von mir festgelegt und muss noch etwas erprobt werden. Ich erstelle dann eine Art Schablone bei dem ich das Zusatzmaterial nach den Vorgaben auf die 39 Spiele aufteile. Die Verteilung der einzelnen Karten ist dann zufällig, beachtet aber die Vorgaben der Schablone. Auf diese Art gibt es dann genau 2-4 Spiele mit Wirtshaus-Tableau und nicht im schlimmsten Fall 9.
3. Dörfer und Entsorger sollen einigermaßen gleichmäßig verteilt werden.
Da wir zu Hause ja "nur so" spielen und es nicht um offizielle Turniere oder Meisterschaften geht, möchte ich die Zusammensetzung Königreiche noch etwas mehr nach unseren Vorlieben steuern. Wir spielen nicht gerne ohne Dorf und/oder ohne Entsorger, deswegen werden diese noch einmal gesondert behandelt. Natürlich darf auch immer mal ein Spiel ohne Dorf/Entsorger dabei sein, aber hauptsächlich lieber mit. Da es eh mehr Dörfer und Entsorger gibt als Spiele, ist das ja kein Problem.
4. Es soll optisch einigermaßen ansprechend und druckbar dargestellt werden.
Hieran fummel ich derzeit noch. Aus Spaß an der Freud setze ich die Karten (wie in dominion.online) in der Mini-Version selbst zusammen, sodass man nicht nur die Namen angezeigt bekommt, sondern auch die Illustration usw. Allerdings soll es auch möglich sein, die Königreiche vernünftig auszudrucken. Wir machen immer eine Liste mit x Spielen auf einem Blatt und es geht dann nicht nur darum die einzelnen Spiele, sondern eben auch das ganze Blatt zu gewinnen. An der Umsetzung hapert es noch etwas. Derzeit teile ich die 39 Spiele auf 3 Seiten à 13 Spiele auf. Ich würde gerne mehr auf eine Seite bekommen, aber dann werden die Grafiken zu klein.
Beispiel Screenshot der ersten 8 Königreiche einer willkürlichen Generierung:
Umgesetzt sind Bannstapel, eine Regel für Kolonie/Platin und Unterschlüpfe und die Auswahl der Querkarten. Es gibt aber auch noch einige offene Punkte. Schwarzmarktstapel und Weg der Maus-Karte habe ich noch nicht umgesetzt. Und manchmal gibt es eine Konstellation bei dem Erstellen der Schablone, die nicht sauber funktioniert (die Karten aus Nocturne machen Probleme). Dann gibt es eine Fehlermeldung und man muss mittels F5 neu generieren. Und noch ein paar andere Dinge, die ich gerne noch verbessern möchte. Aber es ist auf jeden Fall schön, dass das grundsätzliche Prinzip bereits funktioniert und verwendet werden kann.