Idee e funzionalità per il gioco

La tua prossima funzionalità

Azioni convalidate

Fai convalidare le azioni di gioco dal server.

SDK: developSessione del giocatore richiesta
Unity
Il risultato visibile

Un'azione valida viene accettata e un'azione non valida viene rifiutata.

Convalida le azioni di gioco3:12

Questo tutorial viene riprodotto in inglese.

Apri il video separatamente ↗

Integra questa funzionalità

Puoi consultare la guida. Per eseguirla serve una chiave di progetto attiva. Prepara il progetto

SDK installato, configurazione del progetto importata e giocatore connesso.

Questo esempio del SDK usa develop. Verifica che le API necessarie siano disponibili nel SDK installato.

C#
Assets/Scripts/ValidatedActionsDemo.cs
Chiamata horizOnPreparazione
1using UnityEngine;
2using PM.horizOn.Cloud.Core;
3using PM.horizOn.Cloud.Manager;
4​
5// Aggiungi questo script a un GameObject della tua prima scena.
6public class ValidatedActionsDemo : MonoBehaviour
7{
8 async void Start()
9 {
10 // Preparazione: inizializza, connetti e fai accedere un giocatore.
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: avvia una partita, registra gli input, invia il
18 // punteggio convalidato.
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}

Prova la tua nuova funzionalità.

Un'azione valida viene accettata e un'azione non valida viene rifiutata.

Seleziona nella dashboard lo stesso progetto presente nella configurazione del gioco.

Endpoint dell'API
  • POST/validated-actions/runs
  • POST/validated-actions/submit
Tutti gli endpoint nel riferimento API
Il nostro suggerimento per il prossimo passo

Dai un record a ogni partita.

Salva il punteggio dopo una partita e mostra chi è in testa. Continua a usare la connessione e la sessione del giocatore.

Video tutorial

Azioni convalidateUnity3:28

Questo tutorial viene riprodotto in inglese.

Apri il video separatamente ↗
Valori gestiti dal serverUnity4:44

Questo tutorial viene riprodotto in inglese.

Apri il video separatamente ↗
Log degli inputUnity5:13

Questo tutorial viene riprodotto in inglese.

Apri il video separatamente ↗