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.

Vídeo próximamente

Este paso aún no tiene vídeo. La guía y la solicitud MCP ya se pueden utilizar.

Validar acciones del juego

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.