October 10, 2020

Fun with Switches and Crashes

Before talking about a nasty crash haunting my game, let's have a look at some gameplay and its switch mechanics. This video shows how to solve the optional switch puzzle at the end of the level "Odd World Of Goo" and how to unlock the "High wire artist" Awardment along the way.

There are some gameplay tips at the end of the video, too, that should help accomplishing this high wire act easily. Now that we got the fun part out of the way, let's talk about a problem that was not so much fun to figure out.

The past two weeks have been a little worrisome. Two of my testers reported a mysterious crash right after starting up the game. While checking the save game the program would throw an exception, but the error message was not really giving me any clue as to what caused the issue. At first I assumed some problem with the creation of the save file, a permissions problem maybe, but after deactivating saving altogether the crash still occurred, which ruled out this angle. I also suspected backwards compatibility issues of the .NET framework. The original game was built using XNA 4.0 and .NET 4.0, my tester's PC is running on .NET 4.8. So I looked into ways of avoiding potential compatibility issues but didn't really get anywhere with this approach.

"Face-Plant Adventures RE isn't working anymore."

But I kept searching the interwebs and read many not very helpful forum threads until I finally stumbled upon an entry in the Steam forums that sounded a lot like the issue I was dealing with. It turned out that several other XNA games would also crash after startup or have audio issues when the Windows Media Player was not installed on a user's machine. To verify this I uninstalled the player on my machine and then was able to reproduce the crash. After checking and creating/loading the save file, the game starts playing back music and with Windows Media Player not available this would cause the crash. I was not aware of this dependency and wouldn't know how to avoid it, but at least I can include this information in the game's readme file now. And now that my remaining two testers can finally check out the game, I will just wait for their feedback before I will finally get the game ready for release.

No comments:

Post a Comment