Ett komma i stället för en punkt fick hela nätverkskoden i VR-spelet Iron Rebellion att kollapsa.
I månader kliade utvecklarna på Black Beach Studio sig i huvudet. Spelare på Steam och på Meta Quest Store rapporterade återkommande krascher mitt i matcher, men i de automatiska felrapporterna dök absolut ingenting upp, rapporterar tyska Gamestar.
Först när teamet började rekonstruera exakta spelsituationer föll pusselbitarna på plats. Kraschen inträffade bara när fyra specifika villkor uppfylldes samtidigt: en mech blev förstörd, vraket föll åt vänster, det skedde på en bestämd punkt på en viss karta, och två tyskspråkiga spelare var med i matchen.
En siffra som byggde en osynlig fälla
Bakom det absurda felet låg en av programmeringens klassiska fällor: lokala inställningar för hur decimaltal skrivs. I engelskspråkiga länder används punkt som decimaltecken (3.14), medan tyska system i stället använder komma (3,14).
När en mech störtade skickade den tyska klientens position via nätverket, och positionsdatan följde med det tyska formatet med komma i stället för punkt. Mottagarnas nätverkskod förväntade sig punkt och kunde inte tolka paketet. Resultatet: spelet frös eller kraschade omedelbart.
Eftersom felet låg i själva paket-tolkningen och inte i spelmotorn, dök det heller aldrig upp i de automatiska rapporterna. Utvecklarna sammanfattar hela historien kort och koncist i en video: ”Det tyska språket förstörde vårt spel”.
Åtta år i utveckling, sänkt av ett skiljetecken
Iron Rebellion är en VR-mech-shooter som släpptes i version 1.0 den 12 december 2024 efter åtta år i utveckling. Spelet stöder både SteamVR och Meta Quest, med 8-mot-8-matcher i cockpit-baserade sammandrabbningar, enligt Steam-sidan.
Bakom titeln står den lilla indie-studion Black Beach Studio, som grundades 2016 och består av fem personer enligt studions egen presentation. Att en så pass komplex titel skulle knäckas av ett enda skiljetecken är ett typexempel på det som mjukvaruutvecklare kallar ”locale bugs”: fel som bara uppstår när koden och användarens regionala inställningar drar åt olika håll.
Rent tekniskt hade även polska spelare kunnat trigga samma bugg, eftersom polska system också använder komma som decimaltecken. Men det var de tyska spelarna som gjorde att mönstret till slut gick att spåra, enligt Gamestar.
Buggen är nu åtgärdad. Men den har säkrat Iron Rebellion en plats i den lilla hall of fame över spelbuggar där ett enda tecken räckte för att sänka ett helt onlinespel.