I have this curious situation where I can upload and play my game via the sim but not after I went back to the game menu.
The only error that is shown to me is the following: "Update Needed This game must be updated to run on the current system version."
I'm compiling on Windows 11 inside VSCode with the lates SDK version and the gnu embedded toolchain 10 2021.10. Is this version to old? But if so, why am I able to play it when I load it the first time to the console?
I also tried to upload the game via the website but the same error occurs. Also there are no logs inside the crashlog.txt or the errorlog.txt file inside the playdate device.
if you want it to stay 'installed' on the sim, you need to copy the pdx into the SDK's PlaydateSDK\Disk\Games folder. Then it will look like it's installed.
Hello,
I am facing this exact same problem, except I'm building the game on Linux.
I am compiling my game for the device via CMake as described here and I can use the Upload Game to Device function from the Simulator.
Everything works fine when I launch it that way, but when I exit to the home and try to launch the game manually it says "This game must be updated to run on the current system version".
Curiously this only happens if I explicitly add a pdxinfo to the game: if I let the build system generate its own it will work fine (but then of course I don't get a custom image, metadata etc).
I tried copying the game to the SDK/Disk/Games folder and also tried manually copying the pdx to the playdate data disk after mounting it, but to no avail.
If you're manually adding pdxinfo to a game.pdx folder/bundle, you'll need to include the pdxversion=<version> field to the file so that the runtime knows which version SDK the game was compiled against. The version tag is in major-minor-patch form, with two digits for the minor and patch; i.e., 2.6.2 is 20602.
Thanks for your reply.
I added pdxversion=20602 to my pdxinfo but I'm having the same issue as before, except that now the error message became "A system update is required to play this game".
I have the SDK version 2.6.2 installed on my device so I'm not sure why it's not working.
oops, right, I forgot we don't usually bump pdxversion in patch-level updates. But it should be ignoring that.. ohhhh. I bet it's because in Lua / is always floating point division, unlike C. We need to be using // instead here:
elseif (gameInfo.pdxversion ~= nil) and ((gameInfo.pdxversion / 100) > (pdxVersion / 100)) then
-- firmware too old to run this game
Alert.show("Update Needed", "A system update is required to play this game.", "OK", nil, function(okSelected) end)