Spielideen & Features

Euer nächstes Feature

Validierte Aktionen

Spielaktionen serverseitig prüfen lassen.

SDK: developSpielersession erforderlich
Unity
Euer sichtbares Ergebnis

Eine gültige Aktion wird angenommen und eine ungültige abgewiesen.

Spielaktionen validieren3:08
Video separat öffnen ↗

Feature einbauen

Ihr könnt die Anleitung vorab ansehen. Zum Ausführen braucht ihr einen aktiven Projekt-Key. Projekt vorbereiten

SDK installiert, Projekt-Konfiguration importiert und Spieler angemeldet.

Dieses SDK-Beispiel nutzt develop. Prüft, ob die nötigen APIs in eurem installierten SDK verfügbar sind.

C#
Assets/Scripts/ValidatedActionsDemo.cs
horizOn-AufrufEinrichtung
1using UnityEngine;
2using PM.horizOn.Cloud.Core;
3using PM.horizOn.Cloud.Manager;
4​
5// Hängt dieses Skript an ein GameObject in eurer ersten Szene.
6public class ValidatedActionsDemo : MonoBehaviour
7{
8 async void Start()
9 {
10 // Einrichtung: initialisieren, verbinden und einen Spieler
11 // anmelden.
12 HorizonApp.Initialize();
13 await new HorizonServer().Connect();
14 await UserManager.Instance.SignUpAnonymous("PlayerName");
15​
16 byte[] inputLog = System.Array.Empty<byte>();
17​
18 // horizOn: Run starten, Eingaben aufzeichnen, geprüfte Punktzahl
19 // einreichen.
20 // 1. Dashboard: turn on "Validated submissions only" for the board "weekly"
21 var va = ValidatedActionsManager.Instance;
22​
23 // 2. Round start: single-use ticket plus server seed
24 var run = await va.StartRun("weekly");
25 if (run == null) { Debug.Log(va.LastErrorCode); return; } // e.g. RUN_RATE_LIMITED
26 var random = new System.Random(run.seed);
27​
28 // ... play, record the inputs into inputLog (byte[]) ...
29​
30 // 3. Round end: score plus input log (the SDK sends its SHA-256 hash)
31 var result = await va.SubmitValidated(18250, inputLog);
32 if (result == null)
33 {
34 Debug.Log($"{va.LastErrorCode}, run kept: {va.HasActiveRun}"); // e.g. DURATION_TOO_SHORT
35 }
36 }
37}

Testet euer neues Feature.

Eine gültige Aktion wird angenommen und eine ungültige abgewiesen.

Wählt im Dashboard dasselbe Projekt wie in eurer Spielkonfiguration.

Endpunkte
  • POST/validated-actions/runs
  • POST/validated-actions/submit
Alle Endpunkte in der API-Referenz
Unser Vorschlag für den nächsten Schritt

Gebt jeder Runde einen Highscore.

Speichert den Score nach dem Spiel und zeigt, wer vorne liegt. Eure Verbindung und Spielersession nutzt ihr weiter.

Tutorial-Video

Validierte AktionenUnity3:24
Video separat öffnen ↗
Servereigene WerteUnity4:54
Video separat öffnen ↗
EingabeprotokollUnity5:14
Video separat öffnen ↗