Godot 4 · GDScript
Configuration
Gamdato fournit des services backend prets a l'emploi. Le client Godot est un addon pour Godot 4.5+ (GDScript) qui expose un noeud global appele Gamdato, accessible depuis n'importe quel script sans rien importer.
Creer un Compte
Inscrivez-vous sur gamdato.com. Un lien d'activation est envoye a votre e-mail (il expire en 24 heures). Apres verification, connectez-vous pour acceder au tableau de bord.
Enregistrer un Jeu
Dans votre tableau de bord, creez un nouveau jeu en saisissant un nom. Vous obtenez un panneau pour gerer les classements, le contenu, les recompenses et voir la liste des joueurs.
Conservez le GAME_ID et l'API_KEY : vous en aurez besoin pour connecter votre jeu au serveur.
Activer le Plugin
Copiez le dossier de l'addon dans addons/ de votre projet et activez-le dans Project > Project Settings > Plugins > Gamdato > Enable. Cela enregistre le noeud global Gamdato, accessible depuis n'importe quel script.
Configuration Initiale
Configurez le client une seule fois au demarrage, generalement dans le _ready() de votre scene principale. L'ordre des tables definit leur index (1, 2, 3...).
Gamdato.set_controller("VOTRE-GAME-ID", "VOTRE-API-KEY")
Gamdato.set_leaderboard(["cle_table_1", "cle_table_2"])Securite : ne codez pas en dur et ne committez pas votre API_KEY. Lisez-la depuis une variable d'environnement, var key := OS.get_environment("GAMDATO_API_KEY"), ou un fichier de config ignore par git, puis passez-la a set_controller(). La cle reste incluse dans le build exporte, mais la garder hors du controle de version evite les fuites. Un bon modele : un autoload persistant (p. ex. un noeud "GamdatoController") qui charge les identifiants une fois et appelle set_controller() pour vous.
Connecter les Signaux
Vous ne faites aucun appel reseau : vous appelez des fonctions et ecoutez des signaux pour le resultat. Connectez les signaux dans _ready() avant de configurer. La session est maintenue et renouvelee automatiquement.
func _ready() -> void:
Gamdato.session_started.connect(_on_connected)
Gamdato.tables_loaded.connect(_on_ready)
Gamdato.submit_completed.connect(_on_score_sent)
Gamdato.set_controller("VOTRE-GAME-ID", "VOTRE-API-KEY")
Gamdato.set_leaderboard(["scores_normal", "scores_difficile"])
func _on_ready() -> void:
for ligne in Gamdato.get_table_data(1):
print("#%d %s %d" % [ligne.rank, ligne.player_name, ligne.score])Statut et Connexion
Fonctions de statut pour reagir dans votre UI :
- is_ready() : true quand les donnees sont pretes a afficher.
- is_session_active() : true tant que connecte (ideal pour un indicateur de statut).
- has_connectivity() : true s'il y a internet en ce moment. Ecoutez connectivity_changed pour reagir aux changements.
- reload_info() : rafraichit toutes les tables depuis le serveur.
Fonctionne Hors Ligne
Gamdato est concu pour que votre jeu ne semble jamais casse sans internet :
- Lectures instantanees : classements, votre meilleur score et le contenu telecharge sont servis depuis le stockage local.
- Scores en securite : avec submit_with_retry, un score envoye hors ligne est livre a la reconnexion, meme si le joueur ferme le jeu.
- Reconnexion automatique : le plugin reessaie seul et recupere quand le reseau revient.