Spelideeën en functies

Je volgende functie

Gevalideerde acties

Laat de server spelacties valideren.

SDK: developSpelerssessie vereist
Unity
Je zichtbare resultaat

Een geldige actie wordt geaccepteerd en een ongeldige actie wordt afgewezen.

Video volgt

Voor deze stap is nog geen video. De handleiding en MCP-opdracht zijn al bruikbaar.

Spelacties valideren

Bouw deze functie

Je kunt de handleiding bekijken. Voor uitvoering heb je een actieve projectsleutel nodig. Project voorbereiden

SDK geïnstalleerd, projectconfiguratie geïmporteerd en speler aangemeld.

Dit SDK-voorbeeld gebruikt develop. Controleer of de benodigde API's in je geïnstalleerde SDK bestaan.

C#
Assets/Scripts/ValidatedActionsDemo.cs
horizOn-aanroepVoorbereiding
1using UnityEngine;
2using PM.horizOn.Cloud.Core;
3using PM.horizOn.Cloud.Manager;
4​
5// Koppel dit script aan een GameObject in je eerste scène.
6public class ValidatedActionsDemo : MonoBehaviour
7{
8 async void Start()
9 {
10 // Voorbereiding: initialiseren, verbinden en een speler aanmelden.
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: een run starten, de invoer opnemen, de gevalideerde
18 // score indienen.
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}

Test je nieuwe functie.

Een geldige actie wordt geaccepteerd en een ongeldige actie wordt afgewezen.

Kies in het dashboard hetzelfde project als in de configuratie van je spel.

Eindpunten
  • POST/validated-actions/runs
  • POST/validated-actions/submit
Alle eindpunten in de API-referentie
Onze suggestie voor je volgende stap

Geef elke ronde een topscore.

Sla de score na een ronde op en laat zien wie vooropstaat. Blijf je verbinding en de sessie van de speler gebruiken.