Ein Fußballmanager ist zu 90 % Buchhaltung, die niemand sieht:
Zuschauerzahlen, Ablösesummen, Terminkalender, Verträge. Wenn
daran etwas nicht stimmt, stürzt nichts ab — es fühlt sich nur
falsch an, und man kommt jahrelang nicht drauf.
Deshalb schreibe ich hier auf, was ich finde. Meistens sind das
Fehler in meinem eigenen Code, und meistens hat sie eine Messung
gefunden, nicht ein Absturz. Kein Marketing, keine
Versprechen, keine Termine — nur das, was diese Woche
auf dem Tisch lag.
Gebaut wird mit KI-Unterstützung — Code, Grafik und Texte entstehen
im Wechselspiel mit Sprachmodellen. Was die KI nicht abnimmt, ist die
Entscheidung, was richtig ist: Die Messungen auf dieser Seite
widersprechen regelmäßig dem, was ich vorher vermutet hatte — und
dann gewinnt die Messung.
Aktien zahlten Dividende doppelt, einmal davon aus dem Nichts
Wer Vereinsaktien besaß, bekam jeden Monat zweimal Geld: einmal einen
festen Zins auf den Kurs und einmal einen Anteil an der Vereinskasse.
Der zweite Weg zog das Geld aber nirgends ab. Die Kasse des Vereins
blieb gleich, und das Konto des Trainers wuchs trotzdem.
Jetzt gibt es genau einen Weg, und der liegt am Saisonende. Ein Verein
schüttet nur aus, wenn er im abgelaufenen Jahr Gewinn gemacht hat und
danach noch genug Rücklage behält. Die Ausschüttung geht von seiner
Kasse ab, wird auf alle Anteile verteilt, und der Kurs sinkt um genau
diesen Betrag. Firmen haben ein schwankendes Jahresergebnis: Mal fällt
die Dividende aus, im nächsten Jahr kommt sie wieder. Beim eigenen
börsennotierten Verein entscheidet man selbst: keine, vorsichtig oder
höher, aber nur so weit, wie Gewinn und Rücklage es hergeben.
Dividendenzahlungen für Vereinsaktien
vorher: zweimal im Monat, eine davon ohne Kassenabzug
jetzt: einmal je Saison, aus dem Gewinn
Dazu kamen vier Fonds aus Firmen, die es im Spiel schon gibt. Ein
ausschüttender Fonds zahlt die Dividenden seiner Firmen aus. Ein
thesaurierender behält sie und wird dadurch mehr wert. Beim Kauf sieht
man den Korb, die Art und wann ausgezahlt wird.
Zwei Stellen, die dasselbe tun, fallen einzeln nicht auf.
Jede sah für sich vernünftig aus. Erst als die Dividende einen
einzigen, saisonweisen Weg bekommen sollte, stand die Frage im Raum,
wo das Geld bisher eigentlich herkam.
Brutto, Steuer, Netto
Bisher kam das Trainergehalt in voller Höhe aufs Konto. Jetzt wird es
brutto vereinbart und netto ausgezahlt, und jede Zahlung landet in
einem Buchungsjournal: Grundlage, Satz, Brutto, Steuer, Netto. Mieten
werden auf den Überschuss nach Kosten und Schäden besteuert. Gewinne
aus Aktien, Fonds, Krypto und Immobilien nur, wenn man wirklich
verkauft, und nur der Gewinn. Ein Verlust kostet nichts, bringt aber
auch keine Gutschrift. Auch die Sparzinsen sind jetzt Kapitalertrag.
Monatsgehalt 10.000 € in Deutschland
vorher: 10.000 € aufs Konto
jetzt: 5.800 € netto, 4.200 € Abgaben
Die Sätze sind Spielwerte, keine Steuerberatung. Zehn
Länder haben eigene, grobe Durchschnittssätze, alle anderen einen
sichtbaren Standard. Wichtiger als die genaue Zahl war, dass es genau
eine Stelle gibt, an der gerechnet wird. Sonst rechnen Gehalt, Börse
und Vermietung nach drei verschiedenen Regeln.
Wohnen hängt jetzt am Verein
Kleine Wohnungen ließen sich nur mieten, nie kaufen. Jetzt ist nur noch
das WG-Zimmer reine Miete. Und wer den Verein wechselt, bekommt eine
Wohnentscheidung für die neue Stadt: mieten, kaufen oder in eine
eigene Immobilie am Ort einziehen. Eigentum wird dabei nie stillschweigend
verkauft. Man entscheidet, ob man es verkauft oder vermietet.
Die Preise hängen am Land und an der Größe des Ortes. Weil die
Spielwelt keine Einwohnerzahlen kennt, wird die Ortsgröße aus den
Vereinen dort abgeleitet: Ein Erstligist mit großem Stadion macht
eine Metropole. Der Preis wird bei Vertragsschluss festgehalten. Ein
späterer Abstieg des Ortsvereins macht die Miete nicht billiger.
Eigentum altert, verliert dabei an Wert und lässt sich renovieren,
wird aber nie mehr wert, als es gekostet hat.
Zwei alte Fehler kamen dabei mit hoch. Der Erfolg
„Eigenheimbesitzer“ wurde bei jedem Umzug freigeschaltet, auch beim
Einzug ins gemietete WG-Zimmer. Und ein Zufallsereignis, bei dem man
ein Haus für 450.000 € kauft, hätte nach der neuen Ortsregel ein Haus
im Wert von 720.000 € hinterlassen, also Geld aus dem Nichts beim
Wiederverkauf. Beides ist behoben.
Eine Ableitung ist kein Messwert. Lübeck gilt bei mir
als Kleinstadt, weil dort kein Verein ab der dritten Liga spielt.
Das steht so in der Dokumentation, statt es zu verstecken.
Pokale, die erst in Saison fünf verschwanden
Jeder Pokal wurde in seiner ersten Saison geprüft, manche auch in
der zweiten. Erst ein Lauf über fünf Spielzeiten zeigte, dass nach
und nach Pokale ausfielen. Zweite Mannschaften großer Vereine steigen
über die Jahre in die unteren Ligen auf und dürfen dort nicht im
Pokal spielen. Wo eine Runde eine feste Größe braucht, fehlte dann ein
Teilnehmer, und das Feld ging nicht mehr auf. In England fiel der
Ligapokal aus, wenn nur wenige Vereine europäisch spielten: Die erste
Runde hatte dann 71 Teams.
Wo die Lücke entsteht, rückt jetzt ein Amateurverein nach, sichtbar
als Ersatz gekennzeichnet. Ungerade Felder bekommen ein Freilos. In
den Niederlanden steht in der Pokalordnung eine harte Grenze: höchstens
34 Profivereine. Mehr ist dort nicht geregelt. Statt still jemanden
zu streichen, lehnt das Spiel den Ablauf in diesem Fall ab und fällt
auf den allgemeinen Pokal zurück.
Pokale mit eigenem Ablauf, je Saison über fünf Saisons
vorher: ab Saison fünf fehlten mehrere
jetzt: 36 von 36 in jeder Saison
Ein Test über eine Saison prüft die Startwelt, nicht das
Spiel. Die Fehler entstanden erst, als sich die Welt durch
Auf- und Abstiege verändert hatte.
Den Fehler hatte meine eigene Prüfung gebaut
In Georgiens dritter Liga standen in meiner Testwelt zehn zweite
Mannschaften unter sechzehn Vereinen. Ich hielt das für einen
Fehler in den Weltdaten und habe ihn so gemeldet. Er stammte aber
aus meiner eigenen Prüfung: Sie sollte eine zweite Mannschaft
anlegen, legte sie aber genau in der Liga an, die sie prüfen wollte.
Weil sie die neue Mannschaft dort nicht mitzählte, legte sie die
nächste an, für jeden der zehn Erstligisten einmal. Die echte
Startwelt hat in Georgien keine einzige.
Eine Prüfung kann die Welt verändern, die sie misst.
Die falsche Meldung ist nicht gelöscht, sondern steht mit der
Berichtigung daneben im Bericht.
Über dreißig Länder spielen ihren echten Pokal
Bisher war ein Landespokal überall gleich: ein Feld nach Ansehen,
gelost, Runde für Runde. Jetzt folgen 34 Landespokale ihrer
Ausschreibung. Unterklassige Vereine fangen früher an, große steigen
später ein, es gibt Freilose, Hin- und Rückspiele und je Runde eine
eigene Regel für Unentschieden. Schweden spielt eine Gruppenphase,
Georgien einen festen Turnierbaum ohne Neuauslosung. England und
Schottland haben zusätzlich ihren Ligapokal.
Wo ein Land in der Spielwelt bisher gar keinen Pokal hatte, ist einer
dazugekommen, mit erfundenem Namen nach einem Fluss oder Berg. Wo die
Ausschreibung nicht vollständig vorliegt oder eine Reform läuft,
bleibt das Land ausdrücklich offen, statt eine Regel zu erfinden.
Pokalprüfungen in einem Durchgang
363 Prüfungen, 1 bekannter offener Fall (Ukraine)
Der Posteingang entscheidet mit
Viele Mails waren bisher nur zum Lesen da. Jetzt kann man aus dem
Posteingang heraus handeln. Eine Leihanfrage eines anderen Vereins
nennt Leihgebühr, Gehaltsanteil und Kaufoption und lässt sich annehmen
oder ablehnen. Eine Vertragswarnung führt direkt in die Verhandlung.
Eine Presseanfrage trägt ihre konkrete Frage. Die Einberufung zur
Nationalmannschaft kommt nicht mehr als Sofortfenster, sondern als
Entscheidung je Spieler.
Beim Trainervertrag tauchte ein Doppel auf: Der Vorstand machte am
Saisonende ein Angebot und eine Mail im Frühjahr ein zweites. Eine
Zusage hätte Laufzeit und Gehalt zweimal ändern können. Jetzt gibt es
nur noch ein Angebot, im Posteingang, mit einer einmaligen
Gehaltsforderung.
Erst Europa, dann der Rest der Welt
Die Ligen, Pokale und Europapokale aller 55 europäischen Verbände sind
jetzt recherchiert. Bis zu einer ersten spielbaren Testfassung bleibt
Europa der einzige geografische Schwerpunkt. Die übrigen Kontinente
bleiben im Spiel, werden aber erst danach so genau nachgezogen.
Danach geht es an alles, was eine Karriere trägt: Training,
Scouting, Transfers, Verträge, Taktik, Personal und Jugend,
Finanzen, Sponsoren, Fans, Vorstand, Medien, Stadion und das
Privatleben. Die Messlatte für die Testfassung: eine frische Karriere
über mehrere Spielzeiten, Speichern und Laden ohne Verlust, eine
stabile Laufzeit und eine bedienbare Oberfläche auf Deutsch und
Englisch.
Für den Frauenfußball liegen jetzt eigene Regelakten für alle 55
Verbände vor, getrennt von den Männerligen. Gespielt werden sie noch
nicht. Sie werden erst angeschlossen, wenn ein Land vollständig
belegt ist.
Umfang schneiden schlägt Umfang bauen. Ein Europa,
das über fünf Spielzeiten sauber läuft, ist mehr wert als eine Welt,
die nur in der ersten Saison stimmt.
Jedes neue Spiel beginnt jetzt mit derselben Welt
Bisher würfelte jeder Programmstart eine eigene Welt. Die Vereinsnamen
kamen aus Dateien und waren immer gleich, aber Spieler, Trainerteams,
Stadiongrößen und Vereinsfarben nicht. Wer zweimal ein neues Spiel
anfing, hatte zwei verschiedene Kader. Jetzt baut sich die Welt immer
mit demselben festen Startwert auf: Wer, wann und wo auch immer ein
neues Spiel beginnt, bekommt dieselben Mannschaften und Spieler.
Der Weg dorthin war länger als die eine Zeile, die es am Ende brauchte.
Am 2. Oktober hatten zwei Läufe mit gleichem Startwert noch
48 Spieler Unterschied, weil der Startwert erst gesetzt wurde, als die
Welt schon stand. Danach habe ich den Aufbau in 15 Schritten
vermessen, auch über den echten Ladebildschirm.
Abweichende Aufbauschritte bei gleichem Startwert
vorher: Welt verschieden
jetzt: 0 von 15
Wer nach einer Karriere über das Hauptmenü neu anfängt, bekam bisher
die schon bespielte Welt untergeschoben. Jetzt fragt das Spiel nach
und startet sich neu.
Gleich ist die Startwelt nur innerhalb derselben
Spielfassung. Jede Änderung an einem Erzeuger verschiebt die
Zufallsfolge. Spielstände sind davon nicht betroffen, sie tragen ihre
Welt selbst.
Österreich spielte fünf Runden zu wenig
Die österreichische Liga teilt sich nach 22 Spieltagen in eine
Meister- und eine Abstiegsrunde. Die beiden Runden spielen Hin und
Rück, zusammen 32 Spieltage. Mein Spiel baute dort nur eine einfache
Runde. Die Regel für die Punkteteilung war angeschlossen, die
Rundenzahl nicht.
Spieltage je Verein
vorher: 27
jetzt: 32
Ein angeschlossenes Regelwerk ist oft nur ein angeschlossenes
Feld. Seitdem schreibe ich dazu, welches Feld einer Regel
wirklich im Spiel ankommt, statt „Österreich ist umgesetzt“.
Regeln von 2026 gelten 2027 weiter, aber sichtbar
Fast alle Ordnungen, die ich lese, gelten für die Saison 2026/27. Das
Spiel beginnt aber 2027/28. Bisher übernahm der Code die gelesene Regel
stillschweigend. Jetzt merkt sich jede solche Regel ihre Quelle und ihre
Saison und wird als fortgeschrieben gekennzeichnet. Ausnahmen
sind eine belegte Reform oder ein ausdrückliches Ablaufdatum.
Dabei sind beim Gegenlesen auch handfeste Fehler aufgefallen: Bei
Gleichstand im Pokal erfand der Code bis zum 6. Oktober ein Tor. Jetzt
gibt es Verlängerung und Elfmeterschießen, je Land nach Ordnung, in
Spanien entscheidet die Ligaplatzierung. In der ersten niederländischen
Liga war die Relegation spiegelverkehrt. Belgien spielt sein
Pokalhalbfinale mit Hin- und Rückspiel.
Niederlande, erste Liga: direkte Absteiger / Relegation
vorher: 1 / 2
jetzt: 2 / 1
Relegationen mit belegter Gleichstandsregel
vorher: 0
jetzt: 25
Eine Lücke ist eine gültige Antwort. Wo keine Ordnung
vorliegt, steht im Spiel eine gekennzeichnete Annahme, keine
erfundene Regel.
Die englische Fassung war besser als gedacht, an anderen Stellen schlechter
Eine Zählung hatte 586 Texte gefunden, die „nicht an die Übersetzung
angeschlossen“ seien. Das stimmte großteils nicht: Die Oberfläche
übersetzt jeden neu erscheinenden Text ohnehin. Der Zähler kannte
diesen Weg nicht. Ein erster, zu breiter Umbau hat eine Zeile sogar
verschlechtert und wurde vollständig zurückgenommen.
Die echten Lücken lagen woanders. Sätze, die im Code aus Stücken
zusammengesetzt werden, hatten nur Übersetzungen für die Stücke.
Großgeschriebene Überschriften mit Umlaut fanden ihre Vorlage nie, weil
die Mustersuche der Engine „Ä“ und „ä“ nicht als gleich ansieht. Und
„Wo.“ (Wochen) stand im Katalog als „Where.“.
Gezielt gesuchte deutsche Texte in der englischen Anzeige (54 Bildschirme)
vorher: 47
nachher: 1
Der eine Rest war kein sichtbarer Text, sondern ein Zwischenschritt,
den das Protokoll mitschrieb. Das habe ich danach behoben, aber noch
nicht mit einem neuen Bildschirmdurchlauf nachgemessen.
Ein Zähler, der einen Weg nicht kennt, zählt das
Falsche. Diesmal war das mein eigener.
Neun Testvorgaben zeigten auf echte Spielstände
Die automatischen Prüfläufe starten echte Karrieren und speichern
dabei. Neun Vorgaben zeigten auf Speicherplätze, die auch normale
Spielstände benutzen, vier davon schreibend. Dazu speichert das Spiel
automatisch in Platz 0. Ein Prüflauf hätte so einen echten Spielstand
überschreiben können.
Jetzt bricht die Prüfsuite ab, bevor sie startet, wenn sie in den
echten Benutzerbereich schreiben würde. Dazu kam eine neue Nulllinie
über 171 Prüfläufe mit 5.354 Prüfungen, gegen die jede spätere
Änderung gemessen wird.
Der Schutz gehört in den Lauf, nicht in die
Gewohnheit. „Ich passe schon auf“ hätte beim zehnten Mal
nicht gereicht.
375 Ligen standen auf Spieltag 1, mit vollen Tabellen
Ligen, in denen der eigene Verein nicht spielt, laufen über einen
schnelleren Weg. Der hat nie weitergezählt, welcher Spieltag gerade
ist. Die Tabellen füllten sich, der Zähler blieb bei 1. Daraus
entstanden 222 Kalenderwarnungen, deren eigener Warntext eine falsche
Ursache nannte.
Kalenderwarnungen je Saison
vorher: 222
jetzt: 0
Gespielte Partien einer Liga nach dem Laden
vorher: 0
jetzt: 288
Im selben Durchgang: Gespielte Partien gingen beim Laden verloren,
eine Saison ließ sich zweimal abschließen, und 543 Prüfungen liefen
wochenlang gar nicht. Eine Zeile sprach ein Systemmodul auf eine Art
an, die in dieser Aufrufart nicht funktioniert. Die Prüfungen waren
nie rot, sie waren unsichtbar.
Eine Prüfung, die nicht läuft, sieht aus wie eine, die
besteht. Seitdem zählt eine Prüfung nur mit ihrer
Abschlusszeile.
1.671 echte Namen ersetzt, und Turniere werden zu Ende gespielt
Im Spiel dürfen keine echten Vereins-, Wettbewerbs-, Personen- oder
Markennamen stehen. Bei einer Durchsicht in sechs Stufen kamen 1.671
Stellen zusammen. Die erste Suchliste hatte Sportgesellschaften nicht
gefunden, weil sie für Personennamen gebaut war.
Daneben: Weltmeisterschaft, Europameisterschaft und die
Kontinentalturniere spielen jetzt ihren K.-o.-Baum bis zum Finale. Und
Pokal-, Europa- und Länderspiele belasten den Kader. Die
Verletzungsrate ist an 600 Vereinspartien gemessen, nicht geschätzt.
Eine Fundliste erbt die Blindheit ihres Erzeugers.
Mehr Suchbegriffe hätten nichts gebracht, es brauchte einen anderen
Blickwinkel.
Neue Spielansichten, konkrete Nacharbeit
Die Anpfiff-Seite zeigt jetzt aktuelle Aufnahmen von Dashboard, Kader, Liga, Stadionbaukasten, Finanzen und Kalender. Sie stammen aus einer isolierten Testkarriere; ergänzte Finanz- und Termindaten sind auf der Seite ausdrücklich gekennzeichnet.
Bei der Durchsicht wurden mehrere Darstellungsfehler bearbeitet: Spieltagsdaten kommen aus dem Ligaspielplan, beendete Pokalspiele erscheinen nicht mehr mit offenem Termin, und die Stadionstufe wird einheitlich angezeigt. Nachrichten bekommen seitlichen Abstand; Trainingslager zeigen genaue Preise.
Die größere Arbeit läuft weiter: verlässliche Speicherstände, passende Wettbewerbsregeln je Liga und Pokal sowie eine durchgehend bedienbare Karriere. Recherchierte Regeln sind dabei noch kein Nachweis ihrer vollständigen Umsetzung. Ältere Messwerte in diesem Tagebuch beschreiben jeweils die damalige Fassung.
Dreimal galt die deutsche Regel für die ganze Welt
19. September
Seit fünf Tagen lese ich Liga- und Pokalordnungen — 62 von 106
Ländern, 1.679 einzelne Vergleiche zwischen dem, was ein Verband
vorschreibt, und dem, was mein Code tut. Noch wird nichts
geändert: Erst die vollständige Analyse, dann die Entscheidung,
was davon ins Spiel gehört.
Der wiederkehrende Befund war kein Tippfehler, sondern eine
Denkgewohnheit. An drei Stellen ist eine deutsche Größe
zur Weltregel geworden: Die Einnahmen eines Pokalspiels
werden überall 45/45/10 geteilt — die Regel des deutschen
Pokalwettbewerbs. Die Winterpause dauert überall zwei Wochen, weil
ich sie am deutschen Spielplan nachgerechnet habe. Und jede
Relegation geht über Hin- und Rückspiel.
Länder, die anders teilen
im Spiel: 0
real: 5
Winterpause Ukraine
im Spiel: 2 Wochen
real: 10 Wochen
Länder mit einspieligem Play-off
im Spiel: 0
real: 9
An zwei dieser Stellen steht der deutsche Bezug im
Kommentar — ehrlich aufgeschrieben und nie als Einschränkung
gelesen. Wer ein Land als Vorlage nimmt, sollte
dazuschreiben, dass es eine Vorlage ist. 44 Länder stehen noch
aus; angepasst wird, wenn alle gelesen sind, und in der
Reihenfolge, wie viele Länder eine Codestelle betrifft.
Ein Kommentar ist kein Nachweis — diesmal erfand er ein Tor
19. September
Zwei Zeilen, die denselben Fehler machen. Steht es nach Hin- und
Rückspiel unentschieden, behauptet der Kommentar darüber
Verlängerung und Elfmeterschießen. Der Code darunter würfelt:
55 Prozent für die Heimmannschaft des Rückspiels.
Die zweite Stelle, beim Spiel um den Supercup, ist schlimmer. Sie
würfelt nicht nur den Sieger — sie addiert ein Tor.
Aus einem 1:1 wird ein 2:1 im Spielbericht. Ein Ergebnis, das nie
stattgefunden hat, und jede Statistik, die Tore zählt, trägt es
mit.
Gefunden hat das keine Fehlermeldung, sondern eine
Verbandsordnung, die zweimal fünfzehn Minuten Verlängerung
vorschreibt. Beide Stellen sind notiert und bleiben
vorerst stehen: Wer mitten in einer Prüfung repariert, misst
hinterher gegen ein bewegtes Ziel.
Mehr Bilder heilen keine Dubletten — die Erweiterung hat einen anderen Grund
18. September
Der Bildkatalog wächst gerade von 21.600 auf 50.400 Gesichter:
200 für jede Kombination aus Herkunft, Alter und Geschlecht. Der
Lauf ist bei gut siebzig Prozent, danach sind Trainer, Stab und
Vorstand an der Reihe.
Was er ausdrücklich nicht löst: doppelte
Gesichter in derselben Mannschaft. Das war ein Zuteilungs-, kein
Mengenproblem und ist seit dem 9. September erledigt. Die
Erweiterung wirkt nur dort, wo der Vorrat knapp gegen die
Kadergröße steht — und das ist die Frauenseite mit über
zweitausend Vereinen.
Bilder im Katalog
21.600
50.400
kleinster Vorrat je Gruppe
40
200
Offen bleibt etwas, das mehr Bilder erst recht nicht
beheben: Zwei der achtzehn Herkunftstypen sind im
Hautton nicht von ihrem Behelf zu unterscheiden — nachgemessen,
nicht geschätzt. Ein geänderter Bildauftrag macht den ganzen
Typ neu fällig, die vorhandenen Bilder eingeschlossen. Deshalb
steht diese Frage getrennt von der Stückzahl.
106 Länder, und die Regeln hatte nie jemand gegengelesen
14. September
Das Spiel führt 612 Ligen in 215 Ländern. Die Auf- und
Abstiegszahlen, Pokalfelder und Spielmodi darin stammen aus
Recherche, aus Analogieschlüssen und an manchen Stellen aus einer
plausiblen Annahme. Nachgelesen hatte sie niemand.
Seitdem läuft genau das: Land für Land die amtliche
Wettbewerbsordnung des Verbandes gegen die zuständige Zeile im
Code. Jeder Vergleich bekommt einen Status — stimmt, weicht ab,
fehlt, ungeklärt — und die Fundstelle dazu. Was sich nicht belegen
lässt, bleibt ungeklärt und wird nicht hübsch geraten.
Was dabei am häufigsten schiefging, war meine eigene
Suche. Von siebzehn Dokumenten, die im ersten
Durchgang als „nicht auffindbar“ notiert waren, lagen fünfzehn
offen bereit — gesucht worden war mit einem Werkzeug, das PDF
gar nicht lädt. Die Kategorie „gibt es nicht“ ist in diesem
Projekt meistens die Kategorie „falsch gesucht“.
Eine zweite Welt mit 61.097 Spielerinnen — die noch nicht spielt
10. September
Die Frauenwelt hat Mannschaften bekommen: 171 Ligen, 2.209
Vereine, dazu Trainerin, Vorstand und Betreuerstab. Getrennte
Bestände, gemeinsame Zugriffswege — ein zweiter Kadererzeuger wäre
der teuerste Doppelgänger geworden, den dieses Projekt je hatte.
Spielerinnen
0
61.097
Vereine ohne Kader
2.209
0
Was nicht passte: Sie wurde überhaupt nicht
gespeichert. Drei Messläufe hintereinander ergaben 61.039, 61.167
und 61.097 Spielerinnen — nach jedem Laden stünde eine andere
Mannschaft auf dem Platz. Derselbe Fehlertyp zum sechsten Mal:
generisch laden, von Hand speichern.
Gespielt wird in dieser Welt noch nicht. Keine
Spielpläne, keine Tabellen, keine Wirtschaft, keine Pokale. Das
ist der nächste große Schritt und berührt Terminplan, Auf- und
Abstieg und den Spielstand gleichzeitig — deshalb steht er
hinter der Länderprüfung und nicht davor.
Vier Jahrzehnte messen, bevor man an einer Schraube dreht
10. September
Vier Läufe über je vierzig Saisons, um zu sehen, ob die
Vereinswirtschaft über die Zeit trägt. Das Ergebnis war kein
Messwert, sondern ein Befund über das Messgerät.
Ligen mit vollständigen 40 Saisons
ungeprüft
118 von 123
Ligen, die nach dem Saisonende zu kurz planen
—
27 von 612
Nach dem Saisonende plant der Spielplan zwei Runden, obwohl 27
Ligen drei oder vier spielen; zwei weitere verlieren ihre Endrunde
am festen Jahreswechsel. Wer darauf die Wirtschaft kalibriert,
eicht an unvollständigen Spielzeiten.
Also keine Kalibrierung, bevor das repariert ist.
Die übrigen Zahlen des Laufs sind als Spanne festgehalten — die
zweite Liga kostet rund 110 Prozent ihrer Einnahmen, die erste
Liga geht in sieben Prozent der Fälle insolvent. Das ist eine
Beschreibung, kein Regler, an dem man dreht.
Jeder fünfte Kader hatte zwei gleiche Gesichter
9. September
Die erste Messung meldete 8,5 Prozent doppelte Gesichter und sah
harmlos aus. Aufgeschlüsselt nach Ligaebene waren es in der ersten
Liga 16 Prozent — ein Erstligist führt dreizehn Mitarbeiter, ein
Neuntligist drei, und ein Durchschnitt darüber ist keine Zahl.
Kader mit Dublette, Ebene 1
19,9 %
0,0 %
alle 8.195 Kader
1.642
0
zusätzliche Bilder dafür
—
0
Es lag nicht an zu wenigen Bildern: Bei 200 Bildern je Gruppe und
26 Spielern sind immer genug da. Sie wurden nur blind gezogen,
jeder unabhängig — das ist das Geburtstagsproblem.
Ein Ausweichschritt je Verein macht daraus null, ohne ein
einziges zusätzliches Bild. Mit doppelt so vielen
Bildern und dem alten Verfahren wären es immer noch drei
Prozent gewesen — die teure Lösung wäre auch die schlechtere
gewesen.
Die Antwort mit dem größten Nachteil machte die Mannschaft am stärksten
8. September
An einem Tag sind 880 neue Ereignisse
dazugekommen — Spieler, Team, Stab, Vorstand, Sponsoren,
Familie, Fans, Medien, Nachwuchs, Verband und der ganz
normale Vereinsalltag. Aus 363 werden 1.243. Beim Abnehmen
fiel etwas auf, das die ganze Lieferung verdorben hätte.
Es gibt eine Wirkung namens „Fokus aufs nächste Spiel". Sie
setzte bisher nur eine Fahne, und die
Spielengine gab dafür pauschal den größten Einzelbonus, den
das Spiel kennt. Die Zahl im Ereignis wurde nie
gelesen.
Von 591 Vorkommen sind 347 als Nachteil
gemeint — „das Team ist abgelenkt", „die
Vorbereitung leidet". Sie alle wirkten als Bonus. Wer die
Antwort mit dem größten Fokusverlust wählte, bekam die
stärkste Mannschaft. Und ausgerechnet diese Größe hatte sich
beim Schreiben als die natürlichste Preis-Achse angeboten;
sie wurde entsprechend oft benutzt.
Eine Wirkung, die ihren eigenen Wert nicht liest,
ist schlimmer als eine, die gar nichts tut. Sie
sieht im Quelltext richtig aus, sie steht im Kommentar
richtig beschrieben — und sie zeigt in die genau
entgegengesetzte Richtung. Jetzt trägt der Wert seine
Bedeutung, gedeckelt, und ein Prüflauf hält es fest.
Die 880 Ereignisse wurden gar nicht geladen
8. September
Die Ladefunktion führte eine von Hand gepflegte
Liste mit 29 Dateipfaden. Im Ordner lagen
inzwischen 40 Dateien. Die Meldung beim Start sagte brav
„363 Events geladen" — also genau so viele wie vorher, und
damit sah sie völlig richtig aus.
Das ist dieselbe Sorte Fehler wie eine veraltete Liste von
Autoloads oder von Namenspools, und sie ist mir in diesem
Projekt jetzt zum dritten Mal begegnet: Eine
handgepflegte Liste veraltet still. Wer eine Datei
hinzufügt, bekommt keine Fehlermeldung — er bekommt nur
weniger Inhalt. Jetzt wird der Ordner durchlaufen, und die
Meldung nennt beide Zahlen: 1.243 Ereignisse aus 40 von 40
Dateien.
Ein Ereignis über einen Spieler konnte diesen Spieler nicht erreichen
8. September
Bis heute war jedes Ereignis anonym — „Ein Stammspieler
kommt zu dir", „Dein Kapitän bittet um ein Gespräch" — und
die Wirkung traf entweder den Trainer oder den
ganzen Kader. Der Mensch, um den es ging, kam darin
nicht vor.
Jetzt lassen sich sechs Rollen im Text besetzen: ein
Spieler, der Kapitän, der Torwart, ein Talent, der Stürmer,
ein Veteran. Aus „Ein Spieler steht unter Dopingverdacht"
wird „Jan Szabó steht unter Dopingverdacht"
— und die Antwort kostet ihn die Moral, nicht die
Mannschaft.
Nachgerüstet wurden 87 Textstellen, und zwar nur die am
Satzanfang. Dort steht die Rolle im Nominativ, und ein Name
passt sicher. Mitten im Satz wäre es riskant: „Du sprichst
mit deinem Kapitän" ergibt mit einem Namen zwar „mit Jan
Szabó", mit dem Rückfalltext aber „mit dein Kapitän".
Der Rest bleibt bewusst anonym. Das ist keine Lücke, sondern
die Grenze dessen, was sich ohne Grammatikprüfung sicher
machen lässt — und eine Grenze, die man kennt, ist besser
als eine, in die man hineinläuft.
Eine Zuordnung „erfunden → echt" wurde mitgeliefert
8. September
Anpfiff benutzt keine echten Vereins- und
Wettbewerbsnamen. Ein Prüfwerkzeug sucht danach und meldete
seit Tagen null Treffer. Es durchsuchte allerdings
ausschließlich Quelltext — der gesamte Textbestand
des Spiels lag außerhalb seiner Reichweite: über
achthundert Ereignisse, die Interviews, die Wettbewerbe.
Die Lehre ist nicht „die Liste war zu kurz". Der Verband
stand die ganze Zeit in seiner Suchliste und viermal im
Ereignisbestand. Ein Sucher, der eine Datei nicht
liest, meldet sie nicht als fehlend — er meldet gar
nichts.
Nach der Erweiterung: 84 Treffer. Darunter Netzwerke und
Marken in Ereignistexten, echte Wettbewerbsnamen in einer
Datendatei — und der unangenehmste Fund: Die Vereinsnamen in
der Wappendatei waren schon erfunden, aber daneben
stand in einem eigenen Feld der echte Verein, dem sie
nachempfunden sind. Eine gepflegte Zuordnung ist
etwas anderes als ein stehengebliebener Name. Ein
zufälliger Treffer ist ein Versehen; eine Zuordnung ist eine
Absichtserklärung.
Aufgeräumt: Das Feld ist raus, die Zuordnung liegt jetzt im
Arbeitsverzeichnis. 82 Wettbewerbe umbenannt — 39 davon auf
Namen, die das Spiel ohnehin schon führte. 97 Bilddateien
umbenannt, weil auch Dateinamen ausgeliefert werden. Der
Prüfer meldet jetzt null Treffer, und diesmal heißt das
etwas.
Beim Umbenennen kam nebenbei heraus, dass die Bildpfade nie
ankamen: Der Lader fragte einen Schlüssel ab, den es in den
Daten nicht gibt. Bei allen 82 Wettbewerben war das Feld
leer. Gefunden hat es niemand, weil ein leeres Feld aussieht
wie ein Feld ohne Bild.
Dreimal angesetzt, zweimal geraten
7. September
Die Frage von außen war, ob bei einem neutralen Ort die
Einnahmen geteilt werden. Beim Nachsehen stellte sich
heraus: Es gab nichts zu teilen. Die Funktion, die
Zuschauereinnahmen bucht, hat genau zwei
Aufrufstellen, und beide stehen im Ligaweg. Ein
Viertligist, der den Meister empfängt, bekam die Prämie —
und keinen Cent an der Kasse.
Wie die Kasse verteilt wird, habe ich dann dreimal gebaut.
Zuerst geraten: ein Viertel an den Gast. Dann kam eine
Rückfrage — im Pokal behalte der Gastgeber doch alles —,
der ich zugestimmt und den Code geändert habe, ohne
nachzusehen. Beides war falsch.
Nachgeschlagen gilt: Im DFB-Pokal wird
geteilt, 45 Prozent Heimverein, 45 Prozent
Gastverein, 10 Prozent Verband — in jeder Runde. Im
Europapokal behält der Heimverein alles;
die UEFA teilt die Kasse nicht, ihr Geld kommt über die
Prämien. Zwei Wettbewerbe, zwei Regelwerke.
Der zweite Anlauf ist der schlimmere von
beiden. Die Antwort klang plausibel und kam von
jemandem, der sich auskennt — aber eine Vermutung wird
nicht dadurch richtig, dass sie von jemand anderem kommt.
Zwei Minuten Nachschlagen hätten beide Fehlversuche
gespart.
Das zweite Messpaar widerlegt die Hälfte des ersten
7. September
Eine neue Geldquelle kann die ganze Wirtschaftseichung
verschieben. Gemessen wurde deshalb im kontrollierten
A/B-Vergleich: gleicher Code, ein Schalter, der die
Einnahme abstellt und damit den Zustand vom Vortag
herstellt. Dreißig Saisons je Lauf.
Insolvenzquote je Saison, Paar 1
2,68 %
2,07 %
… Paar 2
2,55 %
1,77 %
Belegt ist damit die Insolvenzquote — die Spannen
überlappen nicht. Nach dem ersten Paar hatte ich aber auch
gemeldet, die unteren Ligen trügen sich jetzt besser.
Das zweite Paar dreht diese drei Zahlen um.
Die Kostenquoten je Ebene schwanken zwischen zwei Läufen um
mehr, als der Eingriff sie verschiebt.
Das zweite Paar hatte ich genau deshalb
angestoßen — und die Zahlen aus dem ersten trotzdem
schon weitergegeben. Die Regel zu kennen genügt nicht; man
muss warten, bis sie geantwortet hat. Was hält: Das
Kassenbuch stimmt in allen vier Läufen, je rund 337.700
Prüfungen, null Abweichungen.
Jede Weltmeisterschaft fand in Deutschland statt
7. September
Gestern hat das Spiel gelernt, dass bei einem Turnier
niemand zu Hause spielt außer dem Gastgeber. Was fehlte,
war der Gastgeber selbst: Er stand als fester Wert im
Quelltext. Jede WM und jede EM in Deutschland,
für immer — samt deutschem Heimvorteil in jedem
Turnier, das das Spiel je ausgetragen hat.
Jetzt wandert die WM durch die Kontinentalverbände, die EM
bleibt in Europa, und die Ausrichter der letzten drei
Ausgaben sind gesperrt. In gut einem Viertel der Fälle
richten Nachbarn gemeinsam aus — und nur Paarungen, die es
real gab: Japan und Korea, Belgien und die Niederlande,
Österreich und die Schweiz, Polen und die Ukraine, die USA
mit Kanada und Mexiko. Dann spielen beide zu Hause.
Die Endspielorte mussten nicht erfunden werden. Alle 8.203
Vereine tragen längst ihre echte Stadt — nachgemessen,
8.203 von 8.203. Vierundzwanzig Länder haben einen festen
Pokal-Endspielort, Berlin und London und Saint-Denis. Alle
anderen bekommen einen rotierenden, denn in Spanien,
Griechenland und der Türkei wechselt er real jedes Jahr.
Ein Land, das nicht in der Liste steht, ist kein
Versäumnis, sondern eine Aussage.
Und eine Ausnahme, die ich am Vortag übersehen
hatte: Ich hatte jedes einspielige
Pokalendspiel auf neutral gesetzt. Der US Open Cup und der
schwedische Pokal lassen aber den Höhergesetzten zu Hause
spielen. Aus einer Berichtigung wäre sonst eine neue
Ungenauigkeit geworden — und die hätte lange dort
gestanden, weil niemand mehr hinsieht, was gestern schon
behoben wurde.
Der Prüflauf verlangt zweierlei: dass zwei Länder eine
Endrunde nur ausnahmsweise gemeinsam ausrichten —
und dass es mindestens einmal vorkommt. Die zweite
Zeile schlug an: in 24 Auslosungen kein einziges Mal.
Die Länderkennungen kommen groß geschrieben aus den
Ligadaten, meine Nachbartabelle stand klein. Die Bedingung
konnte nie zutreffen.
Mit nur der ersten Zeile wäre der Prüflauf grün
geblieben — null Treffer sind ja höchstens die
Ausnahme. Es ist dasselbe Muster wie die Warnung von
gestern, die in jedem Lauf ansprang, nur spiegelverkehrt:
Eine Bedingung, die nie zutrifft, sieht genauso unauffällig
aus wie eine, die immer zutrifft. Beide Male sagt die
Kennzahl nichts, und beide Male sieht sie ordentlich aus.
Die laufende Weltmeisterschaft überlebte das Speichern nicht
7. September
Beim Einbau fiel auf, dass die Endrunden selbst nie
gesichert wurden. Wer während einer WM speicherte, fand
danach keine mehr vor: Gruppen, Tabellen, K.-o.-Runde,
alles weg.
Derselbe Fehlertyp zum vierten Mal:
generisch laden, von Hand speichern. Was auf der
Speicherseite fehlt, ist lautlos weg — und ein fehlender
Bereich sieht beim Laden aus wie einer, in dem eben nichts
passiert ist. Genau deshalb ist der Fehler so langlebig:
Er erzeugt kein Symptom, sondern eine Leere, die plausibel
wirkt.
Bei der WM hatten alle Heimvorteil — und zwar der Reihe nach
6. September
Die Frage kam von außen und war die richtige: Bei einer
WM oder EM spielt doch nur der Gastgeber wirklich zu
Hause. Die anderen haben Fansupport, aber keinen
Heimvorteil — sie sind Gäste im selben Land.
Das Spiel kannte den Fall nicht. Jede Partie hatte eine
Heimmannschaft, und das war schlicht die, die zuerst
genannt wurde. Ich habe zwei Nationen mit exakt gleichem
Kaderwert 4.000-mal gegeneinander spielen lassen — ohne
diese Kontrolle misst man den Stärkeunterschied statt des
Platzes.
WM-Endrunde: Siege des zuerst Genannten
43,9 %
37,7 %
… des zuletzt Genannten
30,4 %
36,4 %
Die Größenordnung war nie falsch, nur der Ort.
Real gewinnt die Heimmannschaft rund 45 % ihrer Spiele —
für ein echtes Heimspiel stimmt der Zuschlag also, und in
der Qualifikation bleibt er unverändert. Der Gastgeber
behält ihn auch, in jedem seiner Spiele; er spielt das
Turnier ja im eigenen Land.
Der eigentliche Ärger steckte woanders.
In der Gruppenphase werden die Partien der Reihe nach
erzeugt, und an erster Stelle steht der höher gesetzte
Verband. Der Vorteil lag damit nicht zufällig verteilt,
sondern systematisch auf der stärkeren Seite — er
legte sich auf die Setzliste obendrauf. Das ist kein
Rauschen, das ist eine Verstärkung.
Die Arbeit war nicht der Schalter, sondern die Ausnahmen
6. September
Derselbe Zuschlag — 14,5 von rund 100 Punkten
Mannschaftsstärke — lag auch im größten Vereinsspiel des
Jahres auf einer zufällig gezogenen Seite. Neutral sind
jetzt: das Endspiel des Champions Cup, ein einspieliges
Pokalendspiel, die zentral ausgetragene Endrunde in Asien
und das Endspiel in Südamerika.
Und ausdrücklich nicht überall. Das nord- und
mittelamerikanische Endspiel steigt beim Höhergesetzten zu
Hause. Das afrikanische geht über zwei Partien — zwei
echte Heimspiele.
Das ist bei so einer Änderung die eigentliche
Arbeit: nicht der Schalter, sondern die Liste der
Fälle, in denen er nicht umgelegt werden darf.
Alles mitzunehmen wäre bequem gewesen und hätte vier
Wettbewerbe verfälscht. Beide Ausnahmen stehen jetzt als
Gegenprobe im Prüflauf — damit sie nicht beim nächsten
Aufräumen doch noch mitgenommen werden.
Die Warnung sprang in jedem einzelnen Lauf an — und blieb trotzdem unsichtbar
6. September
Zwei Kontinentalpokale spielten ein Format, das es real
nicht mehr gibt. Der CONCACAF Champions Cup hatte eine
Gruppenphase — er ist seit 2024 reines K.o. mit 27
Vereinen, von denen fünf ein Freilos bekommen. Die
asiatische Champions League spielte vier Gruppen zu sechs
statt zweier Regionalzonen zu zwölf. Beides stand im
Quelltext sogar als „vereinfacht" markiert.
Nach dem Umbau lief alles grün. Und meldete bei jedem
Durchlauf: „Länderschutz nicht erfüllbar, wird gelockert."
Der Wettbewerb fiel still auf die schwächere Auslosung
zurück, und sämtliche Prüfungen blieben trotzdem grün —
weil keine von ihnen den Länderschutz überhaupt gemessen
hat.
Die Ursache war keine schwache Suche, sondern eine
Unmöglichkeit, und sie saß in meiner eigenen Annahme. Ich
hatte die Topfregel vom europäischen Wettbewerb
übernommen: die stärksten sechs in Topf eins. Der
asiatische Verband setzt anders — den besten Verein
jedes Landes. Nach Stärke gesetzt landen alle
drei saudischen Vereine gemeinsam in Topf eins, und dann
braucht jeder von ihnen vier Gegner aus einem Topf, in dem
nur drei zulässige stehen.
Läufe mit gelockertem Länderschutz
alle
keiner
Zwei Lehren, und die zweite ist die teurere.
Eine Warnung, die immer anspringt, ist so wertlos wie eine,
die nie anspringt. Und ich habe das Format vorher
nachgeschlagen statt es aus dem Gedächtnis nachzubauen —
genau deshalb ist der Fehler aufgefallen. Wer ein Regelwerk
aus der Erinnerung baut, baut seine Erinnerung nach, nicht
das Regelwerk.
Die halbe Gruppenphase wurde nie gespielt
6. September
Der Fund kam nebenbei heraus, weil die Wochenverarbeitung
für die neue asiatische Ligaphase ohnehin umgebaut werden
musste. Sie spielte je Gruppe ein Spiel
pro Spieltag.
Eine Vierergruppe hat aber zwölf Partien. Nach sechs
Spieltagen waren sechs davon gespielt — jeder Verein hatte
rund drei statt sechs Gruppenspielen. Die Tabelle, die
über das Achtelfinale entschied, stand über einer halb
ausgetragenen Gruppe. In vier von sechs
Kontinentalpokalen, seit es sie gibt.
Gruppenspiele je Verein
rund 3 von 6
6 von 6
Die Zahl der Spieltage wird jetzt gezählt, nicht
geschrieben. Vorher stand dort eine feste Sechs.
Die passte weder zu den zwölf Partien einer Vierergruppe
noch zu den acht Spieltagen der neuen Ligaphase — und eine
Konstante, die zu zwei verschiedenen Dingen nicht passt,
fällt niemandem auf, solange niemand nachzählt.
Jede Insolvenz zog die ganze Liga ein Stück mit hinunter
6. September
Über acht Saisons sah die Wirtschaft gesund aus. Über
dreißig ging jeder zwanzigste Verein pro Jahr pleite, und
die Zahl stieg von Saison zu Saison — von 18 auf 74. Der
Ruf der ersten Liga fiel dabei von 71 auf 41; in acht von
acht Ländern stand am Ende die zweite Liga besser da als
die erste.
Die Ursache war eine Rückkopplung, die niemand gebaut
hatte. Eine Insolvenz kostet den Verein acht Rufpunkte.
Der Ruf ist aber eine relative Größe — er kreist
um den Schnitt seiner Liga, und an diesem Schnitt hängen
Sponsoren, Ticketpreise und Zuschauer. Ein einseitiger
Abzug senkt also nicht nur den Verein, sondern die Liga.
Weniger Sponsorengeld heißt mehr Insolvenzen, und die
nächste Runde beginnt.
Ruf der ersten Liga nach 30 Saisons
41
67
Jetzt wird der Gegenwert punktweise auf die übrigen
Vereine derselben Liga verteilt: Ein Skandal lässt den
Verein hinter seine Rivalen zurückfallen, statt das
Ansehen der Liga zu senken. In beide Richtungen — ein
Stadionausbau hebt genauso einseitig.
Meine erste Vermutung war falsch. Ich
hatte den Verein verdächtigt, der nach einer Auflösung
nachrückt — er bringt ja seinen niedrigeren Ruf mit.
Gemessen ist es umgekehrt: Der Aufgelöste ist der
schwache, der Nachrücker der beste der Liga darunter. Die
erste Liga gewinnt dabei sechs Punkte. Hätte ich
die Vermutung ohne Messung umgesetzt, hätte ich am
falschen Ende gedreht — und der Zähler mit der richtigen
Antwort lief seit Tagen im selben Durchlauf mit.
Ich habe 63 von 109 Prozent gemessen
6. September
Im Fußball gilt: Wer mehr als 60 bis 70 Prozent seiner
Einnahmen für Gehälter ausgibt, hat ein Problem. Die Zahl
stand in meiner Messreihe, sie lag bei gesunden 63
Prozent — und trotzdem ging jeder zwanzigste Verein
pleite. Das passt nicht zusammen, also musste die Kennzahl
falsch sein, nicht die Welt.
Sie war es. Die Marke aus der Wirklichkeit meint den
gesamten Personalaufwand. Ich hatte sie gegen die
Spielergehälter allein gehalten. Mit Trainerstab und
Verwaltung sind es 81 Prozent, mit Prämien, Gebäuden,
Spieltagskosten und Transfers 109 — der Erstligist war in
jedem gemessenen Zustand strukturell defizitär.
Kosten eines Erstligisten, gemessen an seinen Einnahmen
109 %
102 %
Insolvenzen je Saison
5,6 %
2,5 %
Der Fehler ist ein alter Bekannter — eine
Kennzahl aus einer Menge als Maßstab für eine andere. Er
ist mir in diesem Projekt inzwischen elfmal begegnet:
zwischen Ligaebenen, zwischen Testlauf und Welt. Neu war
nur, wo er diesmal saß — zwischen Spiel und Wirklichkeit.
Das ist die Stelle, an der man am wenigsten damit rechnet,
weil die Vergleichszahl ja echt ist.
Die Weltmeisterschaft las ihre eigene Qualifikation nicht
6. September
Die WM-Qualifikation im Spiel ist detailliert: echte
Startplätze je Kontinentalverband, Gruppen, Tabellen,
fünf Spieltage. Am Ende rechnet sie aus, wer sich
qualifiziert hat, legt das Ergebnis ab und meldet es in
der Konsole.
Gelesen hat es niemand. Die Endrunde nahm die 48 besten
der Weltrangliste. Wer sich qualifiziert hatte, aber
schlecht platziert war, blieb draußen; wer gescheitert
war, spielte trotzdem. Als Nationaltrainer konnte man eine
WM nicht verpassen.
Bei der EM war es fester verdrahtet: eine Liste von 24
Ländern im Quelltext, dieselben in jeder Ausgabe, für
immer. Island, Wales, die Slowakei und Georgien konnten
nie teilnehmen. Und eine Auswertung der EM-Qualifikation
gab es überhaupt nicht — zehn Gruppen wurden vollständig
ausgespielt und nie ausgewertet.
Dasselbe Muster wie bei den Sperren, die
verhängt und nie ausgewertet wurden, und den Prämien, die
nur der eigene Verein bekam: Ein System rechnet sein
Ergebnis aus, legt es ab — und niemand holt es ab. Dazu
kam die Nations League, die ihre Ligen A bis D vor jedem
Durchgang neu aus der Weltrangliste schnitt. Ein
Gruppensieg in Liga C war damit folgenlos; genau das ist
der Sinn des Wettbewerbs.
211 Vereine spielten eine ganze Saison, ohne einen Cent Eintrittsgeld zu sehen
5. September
Dauerkarten haben im Spiel einen Deckel: Ein Verein darf
höchstens 55 % seiner Plätze im Sommer verkaufen. Der Rest
ist Tageskasse — und die ist der Grund, warum sportlicher
Erfolg während der Saison Geld bringt.
Der Deckel hing an der Stadionkapazität. In den unteren
Ligen liegt die Auslastung aber bei rund 30 %: Der
Vorverkauf deckte dort die komplette Zuschauerzahl ab, und
für die Tageskasse blieb nichts übrig. Die Vereine haben
also gespielt, gewonnen, sind aufgestiegen — und am
Spieltag kam kein Geld herein.
Vereine mit Eintrittsgeld
365 von 591
591 von 591
Warum das keiner gemerkt hat: Im Kommentar
über der Zeile stand die Gefahr wörtlich beschrieben — „ein
Verein, der sein Stadion voll vorverkauft hat, verdient am
Spieltag nichts mehr, deshalb der Deckel". Der Deckel war
da. Er hat nur nicht das gedeckelt, was er sollte. Ein
Kommentar ist kein Nachweis.
Die Weihnachtsfeier eskalierte im Juli
5. September
Im Spiel passieren Dinge neben dem Platz: Ein Spieler
verpasst das Training, die Familie beschwert sich über die
Arbeitszeiten, der Vorstand wird nervös. Jedes dieser
Ereignisse kann Bedingungen haben — „nur im Dezember", „nur
nach fünf Niederlagen in Folge", „nur wenn die Beziehung
schon schlecht läuft".
Neun dieser Bedingungen wurden nie geprüft. Sie standen in
den Daten, sahen aus wie Bedingungen, und die Funktion, die
sie auswerten sollte, kannte sie schlicht nicht. Unbekanntes
wurde stillschweigend übergangen.
„Entlassung droht" (nach 5 Niederlagen)
feuerte nach 5 Siegen
prüft die Serie
„Weihnachtsfeier eskaliert"
feuerte im Juli
nur im Dezember
„Scheidung droht" (Bindung unter 20)
feuerte bei Bindung 95
prüft die Bindung
Wichtiger als die neun Korrekturen ist der Wächter,
der jetzt danebensteht: Eine Bedingung, die niemand
auswertet, meldet sich künftig von selbst. Sonst passiert
derselbe Fehler beim nächsten Ereignis wieder — und wieder
fällt es fünf Monate lang niemandem auf.
Vereine spielten international und für ihr Land in derselben Woche
5. September
Der Spielplan kennt Europapokalwochen und
Länderspielpausen. In vier Wochen der Saison lagen beide
übereinander — die Vereine spielten dienstags in Europa,
und gleichzeitig waren ihre Nationalspieler unterwegs. Das
gibt es in der Wirklichkeit nicht.
Die Ursache war nicht der Kalender, sondern die
Buchhaltung darüber: Dieselben Termine standen an
vier Stellen im Code, und drei davon waren
Abschriften. Eine trug den Hinweis „abgelesen aus …" im
eigenen Kommentar. Wer eine Liste ändert, ändert die
anderen nicht mit.
Beim Aufräumen fiel auf, dass die Termine auch inhaltlich
falsch lagen: zehn Länderspielpausen statt der realen fünf,
neun davon in der ersten Saisonhälfte, das komplette
Frühjahr frei. Jetzt sind es fünf, verteilt über September,
Oktober, November, März und Juni — und alle liegen auf
Wochen, in denen kein Europapokal stattfindet.
Die WM-Auslosung setzte Gruppengegner gegeneinander — aber nur manchmal
5. September
Nach der Gruppenphase einer Weltmeisterschaft dürfen zwei
Mannschaften aus derselben Gruppe in der nächsten Runde
nicht sofort wieder aufeinandertreffen. Der Prüflauf meldete
genau das — aber nur in zwei von drei Durchgängen. Weil es
unregelmäßig auftrat, sah es nach Zufall aus.
War es nicht. Die Auslosung ging die gesetzten Mannschaften
der Reihe nach durch und gab jeder den ersten passenden
Gegner. Am Ende blieben zwangsläufig Paare übrig, die nicht
mehr durften — und dann wurde die Regel gebrochen. Mehr
Mischen hätte nichts geholfen; das ist kein Zufallsproblem,
sondern ein Zuordnungsproblem.
Jetzt kommt zuerst dran, wer die wenigsten möglichen Gegner
hat, und eine Sackgasse wird durch Tausch mit einer schon
gebildeten Paarung aufgelöst. Fünf Durchgänge, fünfmal
sauber.
„KW 54" stand auf jedem Bildschirmfoto
4. September
Aufgefallen ist es nicht im Spiel, sondern auf dieser
Website: In der Kopfzeile der Bilder stand „Montag,
10. Juli 2028 · KW 54". Ein Jahr hat 52 oder 53
Kalenderwochen. Eine 54. gibt es nicht.
Dort stand die Saisonwoche, beschriftet als
Kalenderwoche. Die Zeile steht auf jedem Bildschirm des
Spiels — und damit auf jedem Bild, das je davon gezeigt
wird.
Nach der Korrektur zeigte der Kopf „KW 27" und der
Wochenkalender darunter „KW 1". Derselbe
Widerspruch, nur umgezogen. Gefunden hat ihn kein
Prüflauf, sondern der Blick auf den fertig gezeichneten
Bildschirm — direkt nach der ersten Korrektur.
Fragen oder Anmerkungen? Schreib mir —
ich antworte selbst, es gibt hier niemanden sonst.