Flox is 1.0! Pop Open The Champagne!

It’s done! Today Flox has left its beta cocoon and became a “1.0”. I can not even begin to describe how happy I am to be able to write this blog post today. To the trained eye I may also happen to appear slightly tipsy later this evening. But before that, let me introduce you to the current state of things…

Fun With Facts

Given this great occassion I think it’s time to have a look at some facts and figures:

The first Flox commit dates back to 2012-04-02. This means that the big 1.0 arrives after exactly 18 months of coding.

It took us a total of 1203 commits (server-side + AS3 SDK) to arrive at 1.0.

As of right now there are a total of 1.4k users which run 1.8k games on the service.

Your games execute about 500k requests per day. In other words: the Flox engine continuously runs at about 350 RPM.

Your games are played by at least 700k players. And, by the way, that is only the number of player entities that have actually been saved. There are a lot more players out there playing games without a corresponding entity in the database.

Your games gatling-gun our database with about 40 million operations per month. That’s about 1k per minute. *throwing the horns*

By the way … did I already mention that Flox is cloud-based? Let me assure you that it can cope with a lot more traffic. Our engineering team is eagerly waiting for your games.

What’s New

Flox has shown to be a reliable companion for a lot of games. The new version brings many stability enhancements and fixes and that’s why we decided that now is the time to go 1.0. However, we were not able to find it in our hearts to release a 1.0 that brings bug fixes only. That’s why the new version comes with these sweeties:

It is now possible to sort query results using an sql-like ‘order by’ clause. This is going to be a life saver when you need to visualize list data.

It is now possible to view, add, remove and edit all types of properties on entities and players in the web interface.

The SDK now drops redundant requests. This increases performance on player devices and reduces costs for you.

The SDK now offers a comprehensive way of hashing IDs and keys. This helps when you integrate with external player systems like the iOS GameCenter.

The AS3 documentation is now available from within the SDKs SWC.

Serverside task execution (e.g. entity purges) is much more responsive now. (Thanks for the hint, gohloum!)

Several performance improvements (e.g. less temporary objects) have been added to the SDK.

A lot of other under-the-hood enhancements and fixes have been added.

What’s In There Now

All in all the service now offers quite some interesting feats for game developers. Here’s a quick reminder of what you can do now:

Players: Make use of a player system that lets you authenticate your players with any existing system like the GameCenter or Facebook as well as via emails.

Entities: Save and retrieve any form of objects directly from your game code by using the powerful entity system. Use this for Savegames, Purchases, Invitations, Messages and whatnot.

Permissions: Every entity saved to Flox is subject to a permission system that allows you to elegantly separate your player’s data.

Leaderboards: Equip your game with global leaderboards in only a few minutes.

Logs: Inspect the log files from your game installations around the world.

What’s Yet To Come

Many games already show that you can do incredible things with the features listed above - but this is only the beginning. We will include a set of additional features that have either been requested in the forums or which we deem useful for game development ourselves. I’ll even dare to list some of them here … in no particular order and without any promises:

More SDKs: Expect the arrival of an Objective-C as well as a JavaScript/TypeScript version of the SDK.

Super-Users: Manage your data via the SDK using super-user rights. In other words: Manage players and entities using a form of “admin player” who is not subject to permission restrictions.

Exportable Backups: Export all of your data for backup or analysis purposes.

Configs: Manage the settings and configurations of your game installations directly from the web interface. Need to update the reward for besting level 3 quickly? Change it in an instant.

Translations: Manage your game’s localizations and translations directly in the web interface. Add new localizations on the fly.

La Fin

Last but not least I’d like to thank you for your input over the past few months. I feel quite fortunate to be part of such a smart and kind community that has evolved around Sparrow, Starling and Flox.

I’m very much looking forward to helping you with (as well as playing ;-)) all the cool Flox games you can come up with. Hack on!