Tot deze wijziging begon elke wedstrijd in elk van de acht landen van Goal Legends op hetzelfde vaste tijdstip. Het werkte, maar het maakte plat wat anders hoort aan te voelen: voetbal op zaterdagmiddag en Europese avonden op dinsdag voelen in het echt niet hetzelfde, en hier ook niet.
De dag uitsmeren
Elke competitie heeft nu een eigen standaard aftrapuur, verspreid van 8 uur 's ochtends tot 11 uur 's avonds CET over de acht landen, zodat speelrondes overlappen zoals een echt voetbalweekend en niet allemaal tegelijk afgaan. Daarbovenop kan een manager in Managerinstellingen een eigen voorkeursuur voor aftrap instellen, specifiek voor de thuiswedstrijden van zijn club: competitie, Nationale beker en Elite Champions Cup hebben elk een eigen instelling. Uitwedstrijden blijven bewust buiten de voorkeur van een manager; alleen de instelling van het thuisteam (of het standaarduur van hun competitie als ze niets hebben ingesteld) bepaalt wanneer een wedstrijd begint. Anders zouden de voorkeuren van twee managers om dezelfde wedstrijd strijden.
De zomertijdbug die bijna live ging
De spelwereld draait intern op echte UTC-tijd, maar elk aftrapuur is bedoeld in CET/CEST, Midden-Europese tijd, die twee keer per jaar een uur verschuift. Bekercompetities plannen hun rondes enkele dagen uit elkaar, en de eerste versie van deze functie berekende de aftrap van elke ronde door simpelweg een vaste TimeSpan op te tellen bij de DateTime van de vorige ronde. Dat klopt totdat een overgang naar zomer- of wintertijd toevallig binnen die tussentijd valt, waarna hetzelfde aftrapuur stilletjes een uur opschuift voor elke ronde daarna. Een bug die je bij testen niet zou zien tenzij je toevallig over een tijdsovergang testte, en die anders een of twee keer per jaar ongemerkt zou opduiken als wedstrijden die een uur te vroeg of te laat werden gesimuleerd.
We vingen het tijdens de review voordat het ooit het live spel bereikte, en losten het op door aftraptijden nooit in ruwe UTC te berekenen. Elke datumberekening loopt nu via een kleine CET-bewuste klokhulp die omzet naar een kalenderdatum, hele dagen optelt en terugzet: zomertijdveilig door opzet, omdat het uur altijd opnieuw voor de doeldatum wordt bepaald en niet door rekenwerk wordt meegedragen.
