Install Steam
login
|
language
简体中文 (Simplified Chinese)
繁體中文 (Traditional Chinese)
日本語 (Japanese)
한국어 (Korean)
ไทย (Thai)
Български (Bulgarian)
Čeština (Czech)
Dansk (Danish)
Deutsch (German)
Español - España (Spanish - Spain)
Español - Latinoamérica (Spanish - Latin America)
Ελληνικά (Greek)
Français (French)
Italiano (Italian)
Bahasa Indonesia (Indonesian)
Magyar (Hungarian)
Nederlands (Dutch)
Norsk (Norwegian)
Polski (Polish)
Português (Portuguese - Portugal)
Português - Brasil (Portuguese - Brazil)
Română (Romanian)
Русский (Russian)
Suomi (Finnish)
Svenska (Swedish)
Türkçe (Turkish)
Tiếng Việt (Vietnamese)
Українська (Ukrainian)
Report a translation problem
Basically, a couple weeks ago the leaderboards just randomly stopped working. I'm still not exactly sure why, but the best I can figure is that some minor thing changed with Steam that made it so the leaderboards couldn't communicate with them properly anymore.
To handle the leaderboards, achievements, and the whole Steamworks integration for Impossible Soaring, I use an API called Facepunch.Steamworks. The version I was using in the game was pretty old, so I tried to upgrade to a newer version, in hopes of solving the leaderboard problem. And it did!
But, the new Facepunch.Steamworks version wasn't compatible with the .Net scripting runtime version the game was using. The game is built in Unity, and switching the .Net version wasn't a big deal (I just needed to switch from 3.5 to 4) but it came with a catch - existing save files would no longer work.
The game's save files are saved using a binary formatter built into Unity. When the .Net version was changed, it apparently made changes to the way the binary formatter worked as well, which meant the game would no longer be able to read the old save files.
The solution required two parts. First, was to switch to an entirely different method of saving files with JSON instead of using the binary formatter. This works regardless of the .Net version. Then the second part was to make a separate, simple Unity application that used the old 3.5 .Net version to read files, but the new JSON system to write them. So, it takes the old files and converts them into JSON, which the new version of Impossible Soaring can actually read. Kind of convoluted, but it works.