Go on Facebook, they said. It's great for games, they said. It'll be fun, they said.
They were, as usual, talking out their backsides, with no practical experience to back their claims. The fact that Facebook is a developer-friendly platform is a myth that just won't die. Let's see if this story changes any minds.
Recently, Facebook made a big push with their Gameroom platform. A native Windows and Mac client for desktop games, but with all of its payments and analytics infrastructure behind it. Sounded like a great idea. Even though we've had negative experiences with Facebook's SDK and their ad policies, we figured it was a great fit for Deep Horizon.
Our decision was partly influenced by a deep integration with Unity's latest client. Since 5.6, Unity fully integrates with Gameroom, building straight to the platform for local testing. So, we went to the Facebook documentation, and sure enough, the first tutorial video showed options that weren't available anywhere on the actual Facebook app page. Here's proof for you just below.
So far, there's nothing new about this. Facebook runs a vast platform, and we're used to their documentation being inaccurate, out of date, and often plain wrong. It's not supposed to be this way, but hey. You do it for the money, not for fun, right? We should have walked away, but didn't. That was our mistake.
We figured out the right switches, and set up the new payments platform. Facebook has a new option called Payments Lite. According to the blurb, it's a feature that allows you to use Facebook payments without running your own server to track refunds and accounting. It sounds amazing. We set it up, followed the instructions, and were left with an error message that read: You are now required to subscribe to Realtime Updates for the Payments Object.
The whole point of using Payments Lite was, if we understood it correctly, to not have to deal with payment objects. So, we contacted Facebook support. Now you can start laughing. After thanking us for our understanding, they dumped a link of the tutorials we'd just followed. When we pressed to show them that it was their tutorial that had landed us in this mess, this was their reply:
A link to a single screenshot on how to change companies. Nothing to do with payments, or products, or even to answer our question as to whether payments lite still require to be tracked. No, welcome to Facebook, use it for your games, it's great! Really!!! Eventually, we figured it out: it was an error at their end. The message disappeared on its own, while Seth, the Payments Operations Specialist, is still sending my links on how to create a new company, because that's going to solve your fucked up SDK, Seth. Sure.
Around this time, we made it through Greenlight on Steam, as part of the last batch of games before the service closed. With heavy hearts, we prepared to deal with another damn SDK to put our game online. We couldn't have been more wrong. After dealing with the cesspool of inefficiency, bad practices, and morons that Facebook presents, Steamworks brought a tear of joy to our weary eyes. It opened up doors labelled "hope" and "dreams" that we had thought forever buried in the crap of Facebook's SDK.
Say what you will about Valve no longer being a games company, we sure have. But those guys know how to run a service. Within four hours (FOUR HOURS), we had downloaded a wrapper for Steamworks, implemented achievements, started a store page, submitted all kinds of things, and were actually running a Steamworks-enabled build of Deep Horizon.
It took us more than four hours just to try and figure out what it was that Payments Lite does, on Facebook.
Here's the tale, children. Deep Horizon is on Steam, less than four days after we first gained access to the platform. Facebook Gameroom can rot in the pile of dishonest marketing Facebook's trying to run with. We can smile again, and try to get some actual work done. Long live Steam.