Idées et fonctionnalités de jeu

Votre prochaine fonctionnalité

Actions validées

Faites valider les actions de jeu par le serveur.

SDK : developSession de joueur requise
Unity
Votre résultat visible

Une action valide est acceptée et une action invalide est rejetée.

Vidéo à venir

Cette étape n’a pas encore de vidéo. Le guide et la demande MCP sont utilisables.

Valider les actions du jeu

Intégrer cette fonctionnalité

Vous pouvez consulter le guide. Son exécution nécessite une clé de projet active. Préparer le projet

SDK installé, configuration du projet importée et joueur connecté.

Cet exemple du SDK utilise develop. Vérifiez que les API nécessaires existent dans votre SDK installé.

C#
Assets/Scripts/ValidatedActionsDemo.cs
Appel horizOnMise en place
1using UnityEngine;
2using PM.horizOn.Cloud.Core;
3using PM.horizOn.Cloud.Manager;
4​
5// Attache ce script à un GameObject de ta première scène.
6public class ValidatedActionsDemo : MonoBehaviour
7{
8 async void Start()
9 {
10 // Mise en place : initialiser, se connecter et connecter un joueur.
11 HorizonApp.Initialize();
12 await new HorizonServer().Connect();
13 await UserManager.Instance.SignUpAnonymous("PlayerName");
14​
15 byte[] inputLog = System.Array.Empty<byte>();
16​
17 // horizOn : démarrer une partie, enregistrer les entrées, envoyer
18 // le score validé.
19 // 1. Dashboard: turn on "Validated submissions only" for the board "weekly"
20 var va = ValidatedActionsManager.Instance;
21​
22 // 2. Round start: single-use ticket plus server seed
23 var run = await va.StartRun("weekly");
24 if (run == null) { Debug.Log(va.LastErrorCode); return; } // e.g. RUN_RATE_LIMITED
25 var random = new System.Random(run.seed);
26​
27 // ... play, record the inputs into inputLog (byte[]) ...
28​
29 // 3. Round end: score plus input log (the SDK sends its SHA-256 hash)
30 var result = await va.SubmitValidated(18250, inputLog);
31 if (result == null)
32 {
33 Debug.Log($"{va.LastErrorCode}, run kept: {va.HasActiveRun}"); // e.g. DURATION_TOO_SHORT
34 }
35 }
36}

Testez votre nouvelle fonctionnalité.

Une action valide est acceptée et une action invalide est rejetée.

Sélectionnez dans le tableau de bord le même projet que dans la configuration de votre jeu.

Points de terminaison
  • POST/validated-actions/runs
  • POST/validated-actions/submit
Tous les points de terminaison dans la référence API
Notre suggestion pour la suite

Donnez un meilleur score à chaque partie.

Enregistrez le score après une partie et montrez qui est en tête. Continuez avec votre connexion et la session du joueur.