Pinball Arcade: Adding Friends Leaderboards

The fans wanted a lot of stuff to be done on the PS4. They wanted it to closer resemble the PC and mobile release of Pinball Arcade. I got it really close with the previous patch by adding the missing tables, trophies, and challenges. But there was still a ways to go.

One thing that PS4 was completely missing compared to PS3 and Vita was that PS4 didn’t have friends leaderboards. Pinball fans are dedicated to the game, and they often have many friends that they compete against. They want to see how they’re faring against their friends on certain tables. I know of one person on the forums who even uses Pinball Arcade for league with his friends. It was important that I add friends leaderboards.

This was probably my first real challenge with PS4. I had to use Sony API’s to figure out how to get a list of friends, then get their Farsight account, and then get their score for that table and hook it up to our current system. And I also had to get our current system working for PS4 as it was all purposefully disabled on PS4.

In regards to Sony’s API’s, it was a challenge figuring out how to get the friends. I could’ve went with some WebAPI, but WebAPI is so damn finicky. One wrong character is all it takes for the whole thing to not work. This was also my first time working with WebAPI, so that didn’t help. Luckily, I found some other API that was a wrapper for this WebAPI. This API would do all of that WebAPI stuff for me behind the scenes, so I didn’t have to worry about going through the multiple steps of verification.

Still, while this new API made things easier, it would still be finicky to get working. Initializing this API was really picky. You had to verify your product with all types of keys, and trying to figure out which variables needed to be set and which didn’t and what certain variable names referred to was a tough time.

I managed to eventually figure it all out though, and this API was now initialized. So I could call a function to receive all of the current users friends! There was some stuff on my side that I still needed to setup, but it was nothing compared to the first bit.

Working with this was a great introduction to Sony. It gave me a really fun (NOT!) time scouring the documentation for information that would help me, it introduced me to the nightmares of WebAPI, and I got a really cool Sony API working in our engine that I could use later on if I needed to.

In addition to this, I also added some quick things that I thought would be cool. I added a “You beat friend” HUD that would pop up whenever you beat a friend’s score on a table. I was inspired by Rock Band‘s great system, and I thought that people would really enjoy that on Pinball.

Besides all of this, there was another big thing that the users wanted as well. Something they’d been asking for a long time.


You can see the changelog for my second patch here.