RaniSputnik / Flox-GML

A GameMaker port of the fantastic Flox backend service.
Other
4 stars 1 forks source link

Flox SDK - GML (Game Maker Language)

What is Flox?

Flox is a server backend especially for game developers, providing all the basics you need for a game: analytics, leaderboards, custom entities, and much more. The focus of Flox lies on its scalability (guaranteed by running in the Google App Engine) and ease of use.

While you can communicate with our servers directly via REST, we provide powerful SDKs for the most popular development platforms, including advanced features like offline-support and data caching. With these SDKs, integrating Flox into your game is just a matter of minutes. More information about Flox can be found here: Flox, the No-Fuzz Game Backend

Installing the Extension

  1. Sign up to Flox. Add your game when prompted.
  2. Get the extension on the GameMaker Marketplace or download and import from the latest release.
  3. Congratulations! You're ready to start using Flox!

You will notice that the extension is paid on the marketplace and yet the library is open source and freely downloadable. I want the library to be accessible to anyone, however I do need to eat! By all means download for free but please consider purchasing the library on the marketplace. It supports the project and ensures that I can keep giving away code!

How to use the GML SDK

Just by starting up Flox, you will already generate several interesting analytics charts in the web interface.

flox_init("gameID", "gameKey", "1.0");

With Events, you can collect more finegrained data about how players are using your game. Pass custom properties to get a nice visualization of the details.

var event = ds_map_create();
ds_map_add(event,"from","MainMenu");
ds_map_add(event,"to","SettingsMenu");
flox_log_event("MenuNavigation",event);
ds_map_destroy(event);

This is just the tip of the iceberg, though! Use Flox to store custom Entities, make Player Logins via a simple e-mail verification or a social network, browse your game's logs, assign custom permissions, and much more.

Where to go from here?

Publishing the library

  1. Update the fx_sdk_version version in the extensions macros
  2. Run the build.py script (requires python 3.4)

The will generate four files in the ./build directory; flox.constants.txt, flox.scripts.gml, objFlox.object.gmx and flox-gml.{version}.zip. The zip file is simply a distribution of the other three files. Each of these files can be imported into GameMaker without requiring the marketplace extension.

Once those files are uploaded;

  1. Update the examples with the new version of the library (import the three resource files)
  2. Commit changes and tag the version in Git
  3. Merge to master
  4. Publish to marketplace