GAME INFORMATION
- GAME BUILD #: 47820
- GAME PLATFORM: Steam
- OPERATING SYSTEM: Windows 10
ISSUE EXPERIENCED
If you have the game language set to Traditional Chinese (tw) and watch any replay where a tribute happens, the game would freeze and crash while trying to display the tribute notification.
This crash doesn’t happen with any other language. The root cause seems to be the reversed order of the parameters in the tribute string (%s before %d) which is unique in tw:
FREQUENCY OF ISSUE
- 100% of the time / matches I play (ALWAYS)
REPRODUCTION STEPS
- Set the game language to Traditional Chinese
- Start any game and tribute to any player
- Quit and watch replay to the moment of tribute
- Witness a freeze and a crash
VIDEO
GAME FILES (SAVE / RECORDING)
https://drive.google.com/drive/folders/1oKYEHQwSXP44xQVKHVRXgtuUs68e7MFT?usp=sharing
THOUGHTS ON SOLUTION
An easy fix for this particular case would be to use a different translation, like “您進貢了 %d 黃金給 %s”. And we verified that this would avoid the crash.
But it is very common that different languages have different grammar, where the subject and the object are in different orders. A scalable solution should adapt to all cases, i.e. the parameters’ order shouldn’t matter.
I hope this report shows the devs how important it is to test the game. This bug has probably existed since launch. But it is so subtle that you can hardly relate a crash to a tribute string. Players won’t see the string being displayed when the crash. So they would think it’s a random crash and not bother submitting another crash report with no clue.
Credits to @AnneHK for spotting the issue, analyzing the issue and making the video.