Unicorn Battle is a simple, yet fully-featured game, that we built to help us demonstrate the various systems and features of PlayFab. It has turned out to also be a very useful testing and debugging tool, and a great sandbox for playing with new PlayFab features. Today we are happy to release on GitHub the full source code for Unicorn Battle. Playing around with Unicorn Battle is a great way to experiment with what PlayFab can do.
We’ve updated Cloud Script with several changes, to make using it easier and to provide a better development experience. First, in case you missed it, we recently enabled GitHub synchronization for Cloud Script, so that you can manage your Cloud Script code with real source control tools. Definitely worth checking out. Second, we have a new Client API call, ExecuteCloudScript, which replaces the previous calling pattern of GetCloudScriptUrl followed by RunCloudScript.
We’re thrilled to be able to unveil PlayStream, our latest addition to the PlayFab platform, and one that makes sophisticated, high-end automation of live game operations available to all game developers. PlayStream offers the following features to developers: An event pipeline which unifies the entire data flow from your game into a single data stream. The PlayFab Game Services will automatically insert events into PlayStream, and you can add custom events from your using our new WriteEvent API client and server methods.
It’s no big secret that PlayFab allows you to upload and run a Game Server build for free. It’s super easy to do; you just go to the servers tab in Game Manager click on the Builds subtab and then upload a .exe file. Sounds simple right? We even have a nice and informational “how to” tutorial for Custom Game Servers, which explains the essentials of how game servers are hosted in PlayFab, and how to upload and manage them via our Admin API and Game Manager.
I spent a wonderful week at the STARWEST testing conference earlier this month. The conference was excellent, and I know I’ve picked up plenty of new tips and tricks to help us at PlayFab build and run our service to our exacting standards of quality. Thank you to everyone who came to my technical talk, Integration Testing as Validation and Monitoring, which explained the cool technical pipeline behind our growing status page. Though I was initially selected as a speaker for the technical side of the conference, the highlight of my week by far was being selected to participate in the [I spent a wonderful week at the STARWEST testing conference earlier this month.
Imagine if a big Hollywood film turned people away on its opening weekend due to technical problems. Now imagine it happened so often that it wasn’t even a surprise anymore. That’s the situation we find ourselves in the game industry, where it has become more and more common over the last ten years for games to have major launch problems affecting the gameplay experience or even rendering them completely unplayable.
Every API we add to the PlayFab service gets tested over and over again: at the unit level, at integration, and in production. We’ve now gone one step further and are using those same integration tests to monitor the status of all our services. This gives customers even more detail about our uptime, while allowing us to quickly pinpoint if there are issues with any of our 3rd-party integrations, such as Facebook.
To run the best backend platform, you need the best tools. This is so important to us at PlayFab that we recently decided to create a new API for a third-party tool, simply because we really wanted to use it. The tool is Consul, we made the API in C#, and we’re now sharing this resource with the rest of the development community. (See below for links.) Here’s how and why we did it:
One of the challenges of growing a Software-as-a-Service company is forecasting costs at scale. It’s one thing to lose money when you’re just starting out and dealing with unavoidable fixed costs. But get your costs wrong at scale, and that attractive pricing table can become a death sentence under the weight of negative margins. At PlayFab, we’ve tackled the problem of forecasting costs by relying on a tool very familiar to us as backend engineers: Automated load testing.
At PlayFab, one of our core tenets is no downtime. This makes challenges like the recent overhaul of our AWS topology particularly interesting. When you’re a backend-as-a-service, you can’t just turn everything off for six hours. (Or six minutes.) This, then, is a postmortem of how we migrated from AWS EC2-Classic to AWS Virtual Private Cloud (VPC) without losing our data, our customers, or our minds. Most postmortem blog posts are teary affairs explaining how something went wildly wrong and how this will not happen again, but we think postmortems are useful for any major change, whether a success or failure.
Page 1 of 2