Skip to main content

Using GameSparks to Streamline Your Game

Sep 16 '15

I think any good developer enjoys the challenge of building out a solution of their own, but sometimes the time it takes to roll your own technology diminishes the drive to finish the projects we are truly passionate about. In college, every three months or so, I would have some great idea for a game and I would sit down and start programming an engine for it as I wanted to create everything from scratch. That being said, I never finished a single one of those games.

In several of the game ideas I had in college, many of them shared common traits. More often than not I wanted to build an item system. I also wanted to build out an achievement system. If it was a competitive, point-based game, then it would often require a leaderboard. Each time I started a different idea, the core mechanics would be different enough where I would almost completely need to rewrite all of the code I had already written. My main problem was that I wanted to be as close to writing the actual engine as possible. Wouldn’t it be great if there was a platform to do this for you, but wasn’t a full scale game engine?

Enter, GameSparks. GameSparks is a cloud-based game management solution. They provide many SDKs for things like Unity and Unreal Engine, but they also provide some generic ones for JavaScript and even C++. If those don’t fit the ticket for your project, I’m sure you could roll your own connector in your language of choice, as GameSparks can do all of its operations through web sockets.

GameSparks makes it easy as they provide methods of creating and tracking users. They also can do virtual currency management. In addition, they have support for an online store and leaderboards. It also integrates your game with Facebook, Twitter, Google, Apple, Steam, Twitch, and the list goes on. To use these features, all you have to do is call the existing methods they provide in their SDKs and you will be off to a running start.

After the web socket handshake is complete, this is all the code you would have to write in order to add a new user to the game (it is technically less as this is exposed as a single method in the JavaScript SDK).

var request = {};
request["displayName"] = displayName;
request["password"] = password;
request["userName"] = userName;
gamesparks.sendWithData("RegistrationRequest", request, onResponse);

Oh yeah, did I mention they provide the backend too? GameSparks comes with a NoSQL database, a test harness to test any code you have written that runs in the cloud, and programmable admin screens. That’s right, you can extend their backend system to create screens that you can use to edit player, add virtual goods, or anything else that you feel like programming. On top of all that, they even give you multiple server instances. You get a dev server and a live server.

With all of the features provided by GameSparks, I think any game developer would benefit from the system (they even offer a free tier to let you get started). I think they have a neat solution that can be adapted to fit the needs of almost any game.

You can learn more about the system here:

Read more about: