Last week I did an informal poll to see how many people could run the game. The failure rate hovered around 4%, which is pretty bad. Bad enough that I don’t think it would be a good idea to put the game up for sale. If 1,000 people bought it, I’d end up with 40 people who paid for a game that didn’t work. And when they emailed me asking for help, I wouldn’t be able to do anything but shrug.
In the old days, Windows would give you quasi-helpful error messages like, “Unable to load foo.dll”. It wouldn’t tell you why. Is foo.dll missing? Or corrupted? Or does it depend on some other thing that the user doesn’t have? Is it for a newer / older version of Windows? You don’t know. But at least you know the problem is with foo.dll, so when the user sends you the bug report you know where to look.
But these newer versions of Windows don’t like to confuse the peasants with things like information, and so now Windows spits out a generic “This program can’t do the thing.” message. Great. Now the user enters the useless error message into Google and gets back a million different possible causes. They don’t know what the problem is or where to look. More importantly, neither does the developer.
All I know is that for some people, one of the many DLL files I depend on isn’t available. Or it is available, but it’s the wrong version. I included all the DLLs I know about with the program, but for some reason some things appear to be missing or incompatible. What I have figured out:
- Windows version doesn’t have anything to do with it.
- 32bit vs. 64bit seems to be irrelevant.
One of my problems is that I have no experience with deployment. In all the years I spent writing software professionally, I never had to package the software up for the end user. I was either writing in-house tools for myself and my colleagues, or I was adding to an existing codebase where someone else was in charge of deployment. (Also, most of my professional work was a decade ago, and I think deployment has gotten more complex since then.)
Let’s look at the parts of this game…
Continue reading 〉〉 “Pseudoku: Tool Chain”
Shamus Young is a programmer, an author, and nearly a composer. He works on this site full time. If you'd like to support him, you can do so via Patreon or PayPal.