Hey everyone! I wanted to share the project I’ve been working on: a set of tools for building games faster and a dashboard to learn more about your players. In short, it’s an open source alternative to services like Playfab or Unity Game Services.
Talo is the easiest way to add leaderboards, player authentication, socket-based multiplayer and more to your game. The Godot plugin securely authenticates players, works online and offline, and only takes a few minutes to setup.
Here are some of the things you can do with Talo:
Player management (persistent data, groups and authentication)
Socket-based multiplayer with persistent data
Leaderboards
Game analytics (global stats, player stats and event tracking)
Load game config from the cloud
Game saves (online and offline)
Game feedback from players
Player presence (see if players are online and set custom statuses)
I would love to hear any feedback on Talo - especially if there’s something missing that you would find valuable for your own game. We also have a Discord for support, roadmap discussions and to show off your game. Thanks!
We just released game channels! Game channels are a way of sending messages between players that are subscribed to a topic in real-time using sockets. You can use them for chat systems or even game state updates.
Channels can be created by players, joined and left. A channel’s owner can update channel information, transfer ownership and delete the channel.
They also have props which let you store extra custom data about your channel. For example, you could create a public channel for all players to join or a private channel where players need to reach a certain level before they can join.
There’s also a new demo showing off how to build a chat system with just one script.
You can get the latest version of Talo from the Godot Asset Library or GitHub.
Talo 0.18.0 has now been released with an update to live config! Previously, you would need to poll for live config updates but you can now get real-time config updates via the Talo Socket. Check out the live config docs here for more info.
Live config is Talo’s way of updating your game’s config from the web dashboard.
You can grab the latest release on GitHub or the Godot Asset Library.
Some highly requested features have been added to Talo in the last few days: editing player stat values and leaderboard scores.
To update a player’s stat value, you can visit their profile, choose a stat, and click the edit button:
For editing leaderboard scores, you can go via a player’s profile or the leaderboard’s entries page:
We’ve also added a new “find player” API, allowing you to search by a player’s unique ID.
The new find player API lays the groundwork needed for the upcoming Presence API: a new way of seeing online/offline/custom status players. This opens up new features like friends lists, player parties and more.
Player presence is here!
Talo will now automatically track player online statuses. You can also provide custom statuses for players like “In a match” or “In a lobby”.
The dashboard will now display stats about your players - namely how many players you have and how many are online. You can also see if a player is online directly from the dashboard.
We’ve also added “refresh intervals” to our leaderboards, allowing you to easily create daily, weekly monthly and yearly leaderboards.
For the Godot plugin, there’s a new flag to fetch archived leaderboard entries (e.g. from the previous day with daily leaderboards), as well as much easier ways to listen for game channel messages.
The chat and leaderboards demos have been updated to reflect all the new functionality in this release.
General updates
It’s been a little while! Since last month there’s been quite a few updates and optimisations to the Talo Godot plugin including:
Extending RefCounted instead of Node for better memory management
Significantly improving typing by preferring to return internal classes with strictly defined properties
New signals for when game channels (our socket-based way of sending messages between players) are joined, left, deleted or their ownership is transferred
A new signal for when a Talo Socket error is received, allowing you to gracefully handle situations like rate limiting or invalid data being sent
Game stats updates
In addition to this, our game stats APIs have been significantly improved with the following additions:
You can now fetch available stats for your game via the stats API
Stats now have history and you can fetch this for an individual player or globally
Stat history can be filtered by start and end dates
Global stat history contains metrics about the global value like the minimum, maximum, average and median values during the filtered period
We’ve also written a short guide about how to track stats in your game using Talo which you can find here. The Godot game stat docs have been updated to include these new APIs.
Leaderboards overview
For anyone curious about Talo’s leaderboards we’ve also published a YouTube video with a quick overview of all the leaderboards features and demos:
Hey everyone, there’s been lots of updates in the last 3 months - here’s a quick overview:
Game channels (socket-based multiplayer)
Channel members API: fetch all the players in a channel
Private channels: invite-only channels that are not publicly listed
Temporary membership: if enabled, players are removed from the channel when their session ends
By far the biggest release is channel storage: a shared space where all members can read/write/update and delete data. For example, in a channel created for a guild, you could store the “shared gold” value. All guild members would be able to read and update this value. Check out the docs for Godot here or take a look at the new demo to learn more.
This Godot demo is less than 100 lines and shows how to easily drop-in socket-based multiplayer mechanics into your game:
Game analytics
Game stat metrics page: view global game stat metrics: