What’s the holdup with alpha testing?
This past Christmas 2023, Dustin and I were hoping to release a playable alpha for everyone who signed up for the testing process. Since early October, we’ve been working away, getting as many bugs ironed out and key gameplay elements placed. It seemed as though we were well on track!
And then…GameMaker Studio 2 struck. Again. In early 2021 it forced an update on us that changed the way in which arrays worked in the code in the compiler. For anybody experienced with programming, this is a crucial facet that can affect every aspect of a program. GameMaker Studio 2 wouldn’t let us roll back the runtime or the compiler, requiring Dustin to search through for every instance where arrays were used the old way. It took weeks to fix our game, and to this day we’re still encountering issues from the event we now call The Emborkening.
This time around, GameMaker corrupted our project. No big deal. We just have to reload a backup. Except it wouldn’t load. No big deal, we’ve got .YYZs going back for some time. And…for some reason none of them would load either. Each one returned a generic error message. Dustin took all the project files and reloaded everything manually as libraries, but this ended with us getting a bunch of bugs which he took time to iron out, so we could at least have a usable project. This knocked us a good way of course.
We spent all of New Year’s Day trying to work out what was wrong. The YYZ export function wasn’t working, and it’s crucial to ensuring our project could be reloaded on any computer - not just Dustin’s - if something goes wrong.
Browsing the internet for solutions, we found we were not the only people regularly affected by these issues. Some users encouraged everyone to use GitHub because of how frequently GMS 2 corrupts your project. Other users mentioned a YYP Project Creator, which unfortunately didn’t help us. But the biggest problem is that for users of legacy software, which isn’t that uncommon for a long-term project, there was zero support offered for these common problems. The only solution was to upgrade, and either pay by the month or for a brand new version.
The general impression is that Opera purchased YoYoGames and its entire customer base, without a care for those who weren’t sending subscription payments every month.
Nonetheless, we considered getting the newest version of GameMaker, but given our Emborkening Experience with even a minor upgrade, it seemed like a bad idea.
Finally, Dustin worked out what the problem was. There was a function in GMS2 that used ancient, rotting 16-bit file naming conventions. This meant that any time that an asset in our game was stored in a filepath that added up to more than 256 characters, it would bork the path, and the path would get shortened to a tilde ~ like in Windows 95.
I know, right?!?!
But at the very least we had a way to repair our backup process. And hell, some of the bugs that importing as a library brought out were actually indicative of larger problems.
Outdated code. Nearly zero support for legacy customers. Non-specific error messages when loading projects. Hey, at least we’re in a long-term project using Unity!
This is our first game, and we’re not the aged, grizzled game developers who barely flinch at this type of occurrence. But sometimes you’re rolling along a track set to hit all the markers before the deadline, and it can be extremely frustrating. Especially when you’re trying to keep your promise to your supporters.
If you got this far, thanks for reading, and thanks so much for your patience and understanding.
Masha and Dustin