Hello Everyone!
We’re busy getting everything ready for our next update, 0.20.5. This includes a number of bug fixes.

We know that one bug in particular involving the Wind Paths has caused concern in the community. We’re working on potential fixes and hope to get them into the game as soon as we can. In the meantime, we wanted to share this message from one of our producers, Travis, to give some insight into the process of finding a way to fix this stubborn bug.

—————————

Hi Sky Community, I wanted to take a moment to talk to you all about the Wind Paths bug that has been affecting the game for the last several months. We know this bug is extremely frustrating for our players who encounter it, and it has been equally frustrating for our internal development team. 

We  have a code change that is currently planned to go live on February 23rd that we hope will address the remaining issues with this area. We have also made several code changes in the past few months that we had hoped would fix this issue, but they ended up not being complete solutions. 

The good news is our efforts related to fixing the Wind Paths bug make it less likely that bugs like this one will appear in the future. Given the situation and the complexity of the bug, we wanted to share a little bit about why it has been so difficult for us to nail down and fix.

The Wind Paths bug is in a class of bugs known as “arbitrary code execution”, or ACE for short. To briefly explain ACE, every time you take a game action the game is writing or reading data from memory. In a situation where ACE causes bugs to happen, the game is reading memory with values it isn’t expecting, so when the game runs its normal code with unexpected data, strange results occur. With ACE, for example, you can encounter MissingNo. in Gen 1 Pokémon games, or play Pong and Snake in Super Mario World. 

In a live game that we regularly update, thankfully we can potentially fix these bugs, but they are extremely tricky. Identifying what systems are writing and reading the corrupted data can be difficult because there are dozens of systems and services running as you play Sky. Furthermore, if the system interacts with our servers, the behavior can be different depending on whether it happens on our internal testing servers than on beta or live servers. 

This was the case with the Wind Paths bug. We have been able to reproduce this class of bugs on Live servers with the Live version of the game, but have not been able to reproduce them on our development servers. This severely limits access to debug information we need that’s related to why the bug is happening in the first place, and that makes it difficult to be confident that our changes are fully fixing the issue.

With our next update we believe that we have identified the system which executes the ACE bug in Wind Paths but haven’t been able to fully validate the fix internally. If the bug isn’t fixed with this upcoming patch, we can assure you that it will be back at the top of our list of bugs to investigate and fix. Your reports for how to reproduce these ACE situations have been critical to isolating the issue and identifying potential fixes.

Thank you for your continued feedback and patience—your voice is critical to making Sky the best experience it can be, and we hope that soon you will be able to fully enjoy the Wind Paths again without fear of unintended consequences.

 

As always, we look forward to hearing your feedback, and encourage you to join us in that discussion on our official Discord server at discord.gg/thatskygame!