UNITED/ST - das Programm zur Regel

(Michael Schröpl)

Prähistorisches

UNITED/ST ist der Name des Programms, das Lukas Kautzsch und ich im Jahr 1985 geschrieben haben, um dem Ligasystem OBERFOUL, das damals von Clemens Misch im Amtsblatt geleitet wurde, ein weiteres Überleben zu ermöglichen.

Clemens Misch hatte OBERFOUL fast vollständig per Hand geleitet, alle Vereinsdaten auf Zetteln mit Bleistift und Radiergummi verwaltet und lediglich zur Auswertung einzelner Spiele ein Hilfsprogramm verwendet. Unter solchen Voraussetzungen war es nicht verwunderlich, wenn in jeder Auswertung zwischen 5 und 20 Fehlern enthalten waren.

Der GM-Wechsel in OBERFOUL

1985 brach Clemens Misch unter dem Aufwand von drei Ligen, Endspurt im Studium und Jobben nebenbei zusammen. Lukas Kautzsch, der mit seinen Odenwald Rangers gerade den Durchmarsch von der 2. Liga zur Meisterschaft der 1. Liga geschafft hatte, trat sein Team an Roland Schediwy ab und erklärte sich bereit, das GMing zu übernehmen.

Um eine Fülle von Fehlerursachen grundsätzlich auszuschalten, beschlossen Lukas und ich, in einer Gewaltaktion (14 Tage Ferien) ein Programm zu schreiben, das die Verwaltung aller(!) Daten des Spiels übernehmen sollte. Jegliche manuelle Datenverwaltung lehnten wir als zu fehleranfällig ab. Das Programm würde eine gewisse Reifephase durchmachen müssen, danach aber Spielern wie Spielleiter eine faire und fehlerlose Auswertung garantieren.

Die Implementierung

In den zwei Wochen Schichtarbeit in Walldorf (täglich zwischen 13 Uhr und ca. 5 Uhr morgens) schafften wir es, die Grundlagen für das Auswerteprogramm zu legen. Das Programm wurde auf Lukas' damaligen Rechner, einem Apple II+- kompatiblen Nachbau ohne erkennbaren Firmennamen (liebevoll 'Birne' genannt) mit UCSD-Pascal erstellt.

Die erste Fassung enthielt bereits alle Mechanismen, die für eine vollständige United-Auswertung benötigt wurden. Beim Implementieren stießen wir auf eine Fülle von interpretierbaren Stellen in den United3- Regeln, die den Entwurf einer eigenen Regelfassung nach sich zogen.

Am Ende dieses Prozesses standen ca. 300 KByte Quelltext, die sich in der nachfolgenden 4. Saison als funktionsfähig erwiesen. Nach wenigen Runden waren kleine Programmfehler gefunden und ausgemerzt. (Ein paar hübsche Überraschungen traten allerdings erst in späteren Saisons zutage, z. B. eine falsche Abfrage in der Härteauswertung, die zu auffällig wenigen Elfmetern führte.)

Am 15. Januar 1986 fand die erste Auswertung mit unserem Programm (das damals noch keinen Namen hatte) statt.

Die ersten Erweiterungen

In den folgenden Jahren kamen immer neue Erweiterungen hinzu, die im wesentlichen nicht den Spielmechanismus betrafen, sondern den Komfort für Spieler und Spielleiter erhöhten:

An den Basismechanismen änderte sich weniger: Hinzu kamen tiefgekühlte Talente sowie die Trennung zwischen Ausputzer und Feldspieler. Die innere Struktur der Spielerdaten (z. B. die Erkennung, ob ein Spieler ein Ausputzer ist) änderte sich geringfügig - die Entwicklung hin zu den Sonderspielern wurde vorbereitet.

Der Umstieg auf den Atari ST

Im Herbst 1987 stiegen Lukas und ich auf die 'höherwertige Datenverarbeitung' um (die 'Birne' ist doch ein rechter Klapperkasten, wenngleich sie noch heute in Betrieb ist).

In Karlsruhe wurde der Programmtext von Lukas und seinen Studienkollegen auf den ATARI übertragen und an das dortige PASCAL-ST angepaßt; in Wiesbaden bauten Lukas und ich die ATARI-spezifischen Routinen wie automatisches Erzeugen eines Ordner-Systems bei Gründung des Ligasystems ein.

Der Einsatz in weiteren Ligasystemen

Am 2. Oktober 1987 startete das Ligasystem AUFSTIEG mit der Version 1.00 von UNITED/ST. Im Februar 1988 (8. Saison) wurde dann auch die Auswertung von OBERFOUL auf den ATARI umgestellt; im Mai 1988 fing Michael Schulz mit UNITED/ST das von seinem GM Dieter Fabian Anfang 1988 gedropte Ligasystem ANPFIFF auf. Den Überblick, welche Ligasysteme sonst noch UNITED/ST verwenden, hat höchstens Lukas, der den 'Versand-Service' durchführt. (Wie wäre es mit einem Artikel, Lukas?)

Die aktuelle Organisationsform

Seit einigen Monaten hat sich an UNITED/ST nichts mehr getan, obwohl die Liste der Forderungen, was noch alles einzubauen wäre, immer länger wurde (besonders Frank Altpeter hat einen Katalog von Wünschen eingereicht - danke!) Ich bin ziemlich berufstätig, und Lukas scheint nun doch etwas heftiger studieren zu müssen als zuvor. Damit es überhaupt vorangeht (und damit die Entwicklung des Programms organisatorisch zu packen ist), habe ich die Sache aber nun wieder in die Hand genommen. Alle Wünsche bezüglich UNITED/ST-Entwicklung (den Versand macht weiterhin Lukas) sind also in Zukunft an mich zu richten. Ich verspreche, die dann aktuelle Fassung nach Essen auf die Spieltage mitzubringen - zum Kopieren für 'Kunden' und zum Ansehen für Interessenten.

Geplante Änderungen

Um für die Weiterentwicklung entsprechende Ideen zu bekommen, brauche ich ein Echo von den Programmbenutzern. Auch wäre es hilfreich, wenn mehr Spielleiter über kleine Regelabweichungen berichten, die sie in ihrem eigenen Ligasystem eingebaut haben - so etwas kann in dem inzwischen gebauten Parameter-Service (siehe unten) von UNITED/ST berücksichtigt werden.

Am wichtigsten ist mir aber die Vereinheitlichung aller UNITED/ST-Quelltexte, die im Umlauf sind. Ich weiß, daß Frank Altpeter eigene Änderungen vorgenommen hat; für The Dirty Dozen gibt es (noch) eine Quelltextvariante; die AZ-Liga hat eigene Änderungen von Lukas gebaut bekommen; der Schienbeinschützer hat eine Programmversion mit einem Patch für 3 Basis-WP pro Runde. Diese Inflation von Programmtexten muß schleunigst weg - kein Mensch kann da noch den Überblick behalten. Außerdem kann kein Programmbenutzer mit einer neuen Version etwas anfangen, wenn wir ihm nicht garantieren können, daß er seine eigenen Änderungen in derselben Art und Weise wie zuvor wieder einbauen kann.

Mein Fazit aus dieser Situation: Das Konzept, den Quelltext an jeden Benutzer mit auszuliefern und diesem eigene Änderungen zu erlauben, muß geändert werden. Dafür brauche ich von jedem Benutzer von UNITED/ST (ein entsprechender Aufruf wird auch noch über das Interzine erfolgen) die Angabe (und die Programmtexte) aller eigenen Änderungen. Diese werde ich in den gemeinsamen Quelltext einbauen und über die Parameterdatei jedem Spielleiter optional zur Verfügung stellen.

Das Konzept der Parameterdatei

Als ersten Schritt auf diesem Weg habe ich den Parameter-Service implementiert. Das Programm UNITED/ST erwartet im Ordner BASIS (in dem sich die während der Saison unveränderlichen Konfigurationsdaten wie z. B. Spielplan, Handelswerttabelle usw. befinden) eine Datei namens PARAMETR.DAT, in welcher der Benutzer in einer eigenen Beschreibungssprache sein Szenario konfigurieren kann. Die ersten eingebauten Parameter sind:

Die geschilderten Parameter sind bestimmt nicht alle gleich sinnvoll. Sie sollen dem Leser nur einen Eindruck vermitteln, was ich unter der Parametrisierbarkeit von United verstehe.

Ich möchte eine Menge von Mechanismen festschreiben, die unter dem Namen United nicht geändert werden dürfen (hoffentlich halten sich alle daran). Daneben möchte ich die Vielfalt der Ligasysteme durch die Einführung einer Vielzahl von Parameterwerten fördern.

Insgesamt kann dann eine allgemeine Deutsche United-Regel entstehen, die tatsächlich für alle Ligasysteme Gültigkeit hätte und zu der jeder Spielleiter dann lediglich seine Parameterwerte bekanntgeben müßte. Da der Mechanismus der Parameter-Definition wohl niemals endgültig abgeschlossen sein dürfte, wird diese Regelfassung nicht statisch sein; da neue Parameter aber alte Regeln nicht außer Kraft setzen, sondern lediglich einen konstanten durch einen vom Spielleiter zu definierenden Wert ersetzen würden, wäre es egal, welche Regelfassung ein Spieler besitzt.

Für jeden Parameter gibt es einen Standardwert - dieser hat Gültigkeit, wenn der Spielleiter ihn nicht explizit angibt. Damit ist auch gewährleistet, daß ein Spielleiter bedenkenlos eine neue Programmversion verwenden kann, ohne seine Parameter-Datei anzupassen - in diesem Falle verwendet er eben die Standardwerte für die neuen Parameter.

Der aktuelle Stand

Zu UNITED/ST habe ich einen GEM-gesteuerten Team-Editor geschrieben. Die momentan ausgelieferte Fassung hat die Versionsnummer 1.03 und enthält einen bitterbösen Fehler (beim Bearbeiten von Mannschaftsdaten sind die Buttons 'übernehmen' und 'vergessen' vertauscht). Ich verwende seit längerer Zeit die Version 1.032, die diesen Fehler nicht mehr hat; letztes Wochenende habe ich die Versionsnummer passend zu UNITED/ST auf 1.08 hochgezogen und eingebaut, daß man alle Menü-Einträge auch per Tastatur anwählen kann.

Ich werde in den kommenden Monaten an dieser Stelle berichten, wenn sich weitere Entwicklungen ergeben haben. Ich möchte auch immer neue Spielleiter aufrufen, mit ihre Abweichungen von Oberfoul mitzuteilen, damit die Entwicklung der Parameterdatei weitergeht. Warum sollte es nicht möglich sein, eine Menge weiterer Systeme mit UNITED/ST abzudecken und neue Möglichkeiten für alle Ligasysteme zu schaffen?