Skip to content

Commit e8ad075

Browse files
authored
Merge pull request #131 from TaloDev/develop
Release 0.32.0
2 parents 45e57b6 + 7adaecb commit e8ad075

File tree

4 files changed

+30
-31
lines changed

4 files changed

+30
-31
lines changed

README.md

Lines changed: 19 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,22 @@
1-
# Talo Godot Plugin: self-hostable game dev tools
1+
# Talo Godot plugin: self-hostable game dev tools
22

3-
Talo is a collection of tools and APIs designed to make game development easier and to help you make better data-driven decisions.
4-
5-
From essentials like player management, stats and leaderboards to advanced APIs for game saves, event tracking and player authentication.
6-
7-
The Talo Godot Plugin is a lightweight wrapper around the [REST API](https://docs.trytalo.com/docs/http/authentication). It also includes handy utilities and a collection of ready-to-use samples.
3+
Talo is the easiest way to add leaderboards, player authentication, socket-based multiplayer and more to your game. Using the Talo Dashboard, you can visualise and analyse your game data to make data-driven decisions.
84

95
## Get the plugin
106

117
- [Godot Asset Library](https://godotengine.org/asset-library/asset/2936)
8+
- [Godot Asset Store](https://store-beta.godotengine.org/asset/talo/talo-game-services/)
129
- [GitHub releases](https://github.com/TaloDev/godot/releases)
1310
- [itch.io](https://sleepystudios.itch.io/talo-godot)
1411

15-
## Talo's key features
12+
## Features
1613

1714
- 👥 [Player management](https://trytalo.com/players): Persist player data across sessions, create segments and handle authentication.
1815
- ⚡️ [Event tracking](https://trytalo.com/events): Track in-game player actions individually and globally.
1916
- 🕹️ [Leaderboards](https://trytalo.com/leaderboards): Highly customisable leaderboards that can sync with Steamworks.
2017
- 💾 [Game saves](https://trytalo.com/saves): A simple and flexible way to load/save game state; also works offline.
2118
- 📊 [Game stats](https://trytalo.com/stats): Track global or per-player stats across your game; also syncs with Steamworks.
22-
- 💬 [Game
23-
channels](https://trytalo.com/channels): Send real-time messages between players subscribed to specific topics.
19+
- 💬 [Game channels](https://trytalo.com/channels): Send real-time messages between players subscribed to specific topics.
2420
- ⚙️ [Live config](https://trytalo.com/live-config): Update game settings from the web with zero downtime.
2521
- 🔧 [Steamworks integration](https://trytalo.com/steamworks-integration): Hook into Steamworks for authentication and ownership checks.
2622
- 🗣️ [Game feedback](https://trytalo.com/feedback): Collect and manage feedback from your players.
@@ -29,26 +25,24 @@ channels](https://trytalo.com/channels): Send real-time messages between players
2925

3026
## Samples included with the plugin
3127

32-
- 🔒 Authentication: a registration/login/account management flow, showing how to create player accounts and authenticate them.
33-
- 🎮 Playground: a text-based playground allowing you to test identifying, events, stats and leaderboards.
34-
- 🕹️ Leaderboards: a basic leaderboard UI, allowing you to add and update entries.
35-
- 💾 Multi-scene saves: a small game showing how to persist save data across multiple scenes.
36-
- 💾 Persistent buttons: a simple demo showing how to save and load game state.
37-
- 💬 Chat: showing how to send messages between channels in a chat room.
38-
- 🤝 Channel storage: showing how to store data that can be accessed by other players using channels.
28+
- 🔒 **Authentication**: a registration/login/account management flow, showing how to create player accounts and authenticate them.
29+
- 🎮 **Playground**: a text-based playground allowing you to test identifying, events, stats and leaderboards.
30+
- 🕹️ **Leaderboards**: a basic leaderboard UI, allowing you to add and update entries.
31+
- 💾 **Multi-scene saves**: a small game showing how to persist save data across multiple scenes.
32+
- 💾 **Persistent buttons**: a simple demo showing how to save and load game state.
33+
- 💬 **Chat**: showing how to send messages between players in a chat room using channels.
34+
- 🤝 **Channel storage**: showing how to store data that can be accessed by other players using channels.
3935

40-
## Documentation
36+
## Links
4137

42-
Check out the [full Talo docs](https://docs.trytalo.com) for setup instructions, detailed API docs/examples and configuration options.
38+
- [Website](https://trytalo.com)
39+
- [Godot plugin docs](https://docs.trytalo.com/docs/godot/install)
40+
- [Self-hosting examples](https://github.com/talodev/hosting)
4341

44-
## Self-hosting your own Talo instance
42+
## Contributing
4543

46-
Talo is designed to be easily self-hosted. Take a look at our [self-hosting guide](https://docs.trytalo.com/docs/selfhosting/overview) and the [GitHub repo](https://github.com/TaloDev/hosting) for examples on how to get started.
44+
Thinking about contributing to Talo? We’d love the help! Head over to our [contribution guide](CONTRIBUTING.md) to learn how to set up the project, run tests, and start adding new features.
4745

48-
## Join our community
46+
## Join the community
4947

5048
Have questions, want to share feedback or show off your game? [Join us on Discord](https://trytalo.com/discord) to connect with other developers and get help from the Talo team.
51-
52-
---
53-
54-
Find all the details about Talo on our [website](https://trytalo.com)!

addons/talo/apis/feedback_api.gd

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,16 @@ func get_categories() -> Array[TaloFeedbackCategory]:
1717
_:
1818
return []
1919

20-
## Submit feedback for a specific category.
21-
func send(category_internal_name: String, comment: String) -> void:
20+
## Submit feedback for a specific category. Optionally add props for extra context.
21+
func send(category_internal_name: String, comment: String, props: Dictionary[String, String] = {}) -> void:
2222
if Talo.identity_check() != OK:
2323
return
24+
25+
var props_to_send := props \
26+
.keys() \
27+
.map(func (key: String): return { key = key, value = str(props[key]) })
2428

2529
await client.make_request(HTTPClient.METHOD_POST, "/categories/%s" % category_internal_name, {
26-
comment = comment
30+
comment = comment,
31+
props = props_to_send
2732
})

addons/talo/plugin.cfg

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
[plugin]
22

33
name="Talo Game Services"
4-
description="Talo (https://trytalo.com) is an open-source game backend with services designed to help you build games faster. You can currently:\n\n- Identify and authenticate players\n- Store persistent data across players\n- Track events (levelling up, finding loot, etc)\n- Display high scores with leaderboards\n- Store and load player saves\n- Load game config options and flags from the cloud\n- Get feedback directly from your players\n- Keep your data in-sync even when players are offline\n- Send channel messages between players\n- See if players are online and set custom statuses"
4+
description="Talo (https://trytalo.com) is an open-source game backend. Talo's Godot plugin is the easiest way to add leaderboards, player authentication, socket-based multiplayer and more to your game."
55
author="trytalo"
6-
version="0.31.0"
6+
version="0.32.0"
77
script="talo_autoload.gd"

addons/talo/talo_client.gd

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
class_name TaloClient extends Node
22

33
# automatically updated with a pre-commit hook
4-
const TALO_CLIENT_VERSION = "0.31.0"
4+
const TALO_CLIENT_VERSION = "0.32.0"
55

66
var _base_url: String
77

0 commit comments

Comments
 (0)