We accidentally region-locked our game… with a comma. 🫠 A tiny punctuation bug wrecked our first 48h of Steam Next Fest. Here’s how we found it, fixed it, and what we improved. #SteamNextFest #gamedev #indiedev
We were super excited to launch our Survivor Roguelike on steam after starting it 1 year ago. It's our first game, so we were excited to see people play it! After two days though...we suspected something was wrong.
We had reports by some players who couldn’t get past character select. The Characters were missing! Median session dipped to ~3 minutes. We had three reports (Twitter, Steam forums, a friend) and still couldn’t reproduce it locally.
We got in contact with one of the users, swapped configs and save files. Nothing. So we shipped a debug build with deep logging. That’s when the lights came on 💡
Root cause: locale-sensitive number parsing in our YAML loader. If your OS used a decimal comma (“0,2”) instead of a decimal point (“0.2”), the parser failed → the game didn’t load
We proved it by flipping Windows → Region → Additional settings → Decimal symbol to a comma. Instant repro. One punctuation mark. Whole launch day vibe = gone 😭
Why it hit hard: our game is fully data-driven. Levels, weapons, characters, unlocks, passives, permanent upgrades, enemies, state machines, pickups—all YAML, packed into an encrypted .pak file. The game literally was toast!
We follow a Sakurai-style (yep the guy who made Super Smash Brothers!) parameter workflow (YAML → game). Great for fast tuning… bad if your parser trusts the player’s locale. He even uses spreadsheets to store character data, allowing non-devs to update without a rebuild!
The fix: a single parsing utility for everything. Normalize input → parse with a culture-agnostic format → validate schemas. Then we swept the codebase.
The cleanup was huge: hundreds of call sites across 60+ files. We handled lists, ranges, scientific notation.
While we were in there we hardened string handling (hello Turkish İ/i) and made sure we always format and parse with the same rules.
Verification: we shipped a beta to the affected player → ✅ confirmed. Then we published the fix along with QoL + performance improvements we built during the hunt.
Timing hurt: Next Fest front-loads discovery; those first days matter. Our fix landed around day 3, and the visibility window had cooled. That comma cost us.
If you bounced on day 1–2: totally fair. That’s on us. The build is fixed and the game feels way better now. Try the new build in the final hours! #SteamNextFest #gamedev #indiedev #i18n
We want your ideas: weapons, abilities, enemies—drop them below. If it fits the vibe, we’ll try to add it during the fest. Collaboration > commas. 🔧✨
Takeaways for devs: never rely on player locale for parsing; centralize parse/format in one utility; validate schemas on load; test with comma & dot locales; add CI checks to block mixed separators. Checkout our steam page below ^_^!











