Ideas y funciones para tu juego

Tu próxima función

Acciones validadas

Haz que el servidor valide las acciones de juego.

SDK: developRequiere una sesión de jugador
Unity
El resultado visible

Se acepta una acción válida y se rechaza una acción inválida.

Validar acciones del juego3:12

Este tutorial se reproduce en inglés.

Abrir vídeo por separado ↗

Implementa esta función

Puedes consultar la guía. Para ejecutarla necesitas una clave de proyecto activa. Preparar el proyecto

SDK instalado, configuración del proyecto importada y jugador conectado.

Este ejemplo del SDK usa develop. Comprueba si las API necesarias están disponibles en el SDK instalado.

C#
Assets/Scripts/ValidatedActionsDemo.cs
Llamada a horizOnPreparación
1using UnityEngine;
2using PM.horizOn.Cloud.Core;
3using PM.horizOn.Cloud.Manager;
4​
5// Añade este script a un GameObject de tu primera escena.
6public class ValidatedActionsDemo : MonoBehaviour
7{
8 async void Start()
9 {
10 // Preparación: inicializar, conectar e iniciar la sesión de un
11 // jugador.
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: iniciar una partida, grabar las entradas y enviar la
19 // puntuación validada.
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}

Prueba tu nueva función.

Se acepta una acción válida y se rechaza una acción inválida.

Selecciona en el panel el mismo proyecto que en la configuración de tu juego.

Endpoints de la API
  • POST/validated-actions/runs
  • POST/validated-actions/submit
Todos los endpoints en la referencia de la API
Nuestra sugerencia para el siguiente paso

Dale una puntuación máxima a cada partida.

Guarda la puntuación después de una partida y muestra quién va primero. Sigue usando tu conexión y la sesión del jugador.

Vídeo tutorial

Acciones validadasUnity3:28

Este tutorial se reproduce en inglés.

Abrir vídeo por separado ↗
Valores gestionados por el servidorUnity4:44

Este tutorial se reproduce en inglés.

Abrir vídeo por separado ↗
Registro de entradasUnity5:13

Este tutorial se reproduce en inglés.

Abrir vídeo por separado ↗