First time Catalog release having issues with the Scoreboard API

Hi all,

I have my first Catalog release coming up soon (The Princess and the Portals coming to you June 9th!), but I am struggling adding my global leaderboards. I have been doing research into other dev posts on the topic and some reddit threads, but I am still stuck.

My Setup

I have 6 separate leaderboards (3 for normal difficulty and 3 for hard difficulty) that are set up on the game’s page in my dev account.

My Results

When I attempt to retrieve a scoreboard using

playdate.scoreboards.getScores(boardID…) I get
{ [code] = ERROR, [message] = Internal Error: -1, }

Attempting to retrieve all scoreboards using

playdate.scoreboards.getScoreboards also yields the same
{[code] = ERROR,[message] = Internal Error: -1,}

and when I try to write to the scoreboards using playdate.scoreboards.addScore(boardID…) I get

{ [code] = ERROR, [message] = Failed to access score cache, }

Neither on device or on the simulator (which I have registered to my account) has resulted in any luck.

Assorted Things I have learned/tried

I have attempted to shorten the boardIDs as I have seen that mentioned as a problem in the past (went from things like “deathsnormal” to “deathsn” but was not too crazy to start with).

I also have learned that I will need to chain the 3 scores I submit to the callbacks for each previous call to get them to work once I can actually add scores. It does not really matter now, but once I can finally add a score, I know this will be important as I submit 3 separate scores at the end of each run (time, deaths, and number of portals used).

My Guess For Next Steps

Now, I am wondering if it’s something like the bundleID for the game does not match what the scoreboard is expecting. I have not changed this value since submitting my initial build to Playdate when I applied to the catalog. But I also have not uploaded a new build since then.

Should I upload a new build to help with this? Does uploading a not quite ready build matter before the actual release date (just not quite ready since scoreboards are not working. The game is otherwise finished)?

Is there any way to check what the bundleID for my game is in my account, so I can see if there is a discrepancy?

Thanks for any help y’all can provide. I am guessing it is something just slightly off somewhere.

Internal Error is strange, maybe there was an error Panic side? Errors I encountered were:

  • bad access token: because the simulator wasn't registered
  • invalid scoreboard id: because the ID I used in the code was not the same I had set up on the website.

Yeah, I am fairly certain something is just misconfigured like maybe I had assumptions of how the game’s info was set up based on my submission build that are wrong.

Is your bundle ID set inside of pdxinfo?

as I remember:

1 - you need to have the exactly bundle id on your pdx file
2 - if you're on the simulator, it should be registered on playdate dev
3 - create the scoreboard on the game page and use its id the code to retrieve:

the code to retrieve:

local pd <const> = playdate
local sb <const> = pd.scoreboards

sb.getScores(boardID, function(status, result)
-- print("status code: " .. status.code)
-- if status.code == "OK" then
-- printTable(result)
-- end
-- print("values fetched for: " .. boardID)
end)

Just posting some updated things from a thread in the discord for Catalog Devs (#get-help channel) for anyone following who is not in there.

I have confirmed the bundleID matches on both my game’s page on the playdate site and in my pdxinfo. The simulator has been registered to my account, and the boardID matches as well.

There is currently a theory that my bundleID might be too long causing an error since similar issues were observed when boardID was too long.

I will try to potentially upload a new copy and get a tester code from Playdate as one person has mentioned only ever being able to successfully test on a release build this way.

Currently boardID is 6 characters
bundleID is 52 characters

Ok it looks like the bundleID may have been the culprit. I renamed my bundleID by shortening it to 20 characters from 52 characters and now I am connecting to the scoreboards I made in the dev page!