Logros
Logros creados como assets, desbloqueados por condiciones en lugar de código, guardados donde tú elijas y sincronizados con Steam mediante un wizard que inicia sesión por código QR.
Para qué sirve este sistema
Casi todos los juegos incluyen logros, y casi todos los proyectos los construyen igual: una lista estática en el código, llamadas de desbloqueo repartidas por los scripts de gameplay y una segunda copia de cada nombre, descripción e icono escrita a mano en el sitio de partners de la tienda. Cuando un nombre cambia en un sitio y no en el otro, nadie lo nota hasta que lo nota un jugador.
El módulo Achievements de Serenity convierte cada logro en un asset, deja que las condiciones decidan cuándo se desbloquea y mantiene el registro local de desbloqueos independiente de cualquier tienda. El wizard Achievement Platform Sync cierra después el círculo con Steam: trae al proyecto la copia de tus logros que tiene Steam para revisarla y envía los tuyos de vuelta, así que cada logro se escribe una sola vez.
El problema en Unity
Los logros improvisados acoplan la lógica de desbloqueo al código de gameplay. Cada logro nuevo obliga a encontrar el script adecuado, añadir un contador, guardarlo en algún sitio y acordarse de reiniciarlo. Las barras de progreso, los logros ocultos y los totales de puntos añaden cada uno otro fragmento de estado a medida, y el resultado es difícil de probar y todavía más difícil de entregar a un diseñador.
Las tiendas añaden una segunda fuente de verdad. Los nombres, las descripciones, los indicadores de oculto, los iconos y todas las traducciones viven en Steamworks además de en tu proyecto, y Steam no ofrece una forma cómoda de crearlos en bloque. Mantener ambos al día a mano es lento, fácil de hacer mal y empeora con cada idioma que añades.
Cómo lo aborda Serenity
Serenity modela cada logro como su propio asset: el texto que lee el jugador, los puntos que otorga, si está oculto, un objetivo de progreso opcional y los identificadores de tienda a los que se asocia. El Achievements Studio los lista todos en una sola ventana, y el wizard Create Achievements deja el módulo montado con ajustes, un backend y una vista de logros que se abre como cualquier otro menú. Un árbol de condiciones opcional en cada logro lo desbloquea sin nada de código, a partir de señales, umbrales de puntuación, progreso global, duraciones y cantidades acumuladas, combinados con And, Or, Not y Sequence. Un logro sin árbol se desbloquea con una única llamada desde código o con una señal sin código.
Achievement Platform Sync trae al proyecto la copia de tus logros que tiene una tienda mediante un wizard de seis pasos: Platform, Connect, Scope, Review, Apply y Done. En Review aceptas u omites cada campo y cada idioma, no se escribe nada hasta que confirmas, y antes puede hacerse una copia de seguridad del manifiesto actual. Para Steam inicias sesión escaneando un código QR con la aplicación móvil de Steam, y al traer datos llegan los nombres y las descripciones a tus tablas de localización, con una entrada por cada idioma que aceptes, junto con los iconos. Un envío manda los tuyos de vuelta, y cada campo enviado llega sin publicar, de modo que publicar sigue siendo un paso deliberado en el sitio de partners de Steam. El modo Copilot ofrece una lista de pasos, campo a campo, para el editor propio de Steam siempre que un envío no se pueda completar.
Cómo encaja en Serenity
Achievements se construye alrededor de un almacén local siempre presente: cada desbloqueo se escribe en un backend de persistencia identificado por jugador y logro, así que un juego que no sale en ninguna tienda tiene igualmente logros que funcionan. El backend es el mismo almacén estructurado intercambiable que usan Leaderboard y los guardados de partida — almacenamiento del dispositivo por defecto, o archivos locales, SQLite, HTTP, Postgres, MySQL o MongoDB — y elegir otro es un cambio de configuración. Los puntos de cada desbloqueo se reflejan en Score, y un desbloqueo nunca espera a una captura de pantalla ni a una llamada a la tienda.
Las tiendas son destinos de sincronización, no la fuente de verdad. Un gateway de plataforma envía los desbloqueos hacia fuera y lee la cuenta de vuelta para reconciliar, y una consulta fallida nunca se confunde con una cuenta vacía. El gateway de Steam se entrega como código real, y las definiciones de Xbox, Epic y PlayStation se entregan como plantillas para SDKs con licencia. Desbloquear y mostrar logros funciona a través del Event Dispatcher, de modo que un SignalEmitterComponent puede otorgar un logro o abrir la vista de logros sin código de juego.
Flujo de trabajo práctico
- Ejecuta Create Achievements para dejar montado el módulo: ajustes, un backend y una vista de logros.
- Abre el Achievements Studio y crea cada logro: texto, puntos, indicador de oculto, objetivo de progreso y, donde quieras, una condición de desbloqueo.
- Desbloquea desde código con el servicio de logros, o lanza la señal de desbloqueo sin código desde un SignalEmitterComponent.
- Muestra la vista de logros desde un menú, y deja que los avisos de desbloqueo y la captura opcional de pantalla aparezcan solos.
- Abre Tools ▸ Serenity ▸ Browse ▸ Achievements ▸ Achievement Platform Sync e inicia sesión en Steam escaneando el código QR con la aplicación móvil de Steam.
- Trae los datos para revisar la copia de Steam con sus traducciones e iconos, aplica lo que aceptes y envía los tuyos de vuelta; publica en el sitio de partners de Steam cuando estés listo.
Qué incluye
- Un asset por logro, con texto, puntos, indicador de oculto, objetivo de progreso e identificadores de tienda
- Achievements Studio para crear y revisar todos los logros en una sola ventana
- Wizard Create Achievements para los ajustes del módulo, un backend y una vista de logros
- Condiciones de desbloqueo sin código — señales, puntuación, progreso global, duraciones y cantidades acumuladas, combinadas con And, Or, Not y Sequence
- Registros locales de desbloqueo sobre un backend intercambiable, independientes de cualquier tienda, con los puntos reflejados en Score
- Wizard Achievement Platform Sync que trae y envía definiciones con paso de revisión, copia de seguridad opcional y opción Snapshot file para ensayar
- Inicio de sesión en Steam por código QR, con traducciones e iconos incluidos y el modo Copilot como alternativa paso a paso
- Señales sin código para desbloquear y mostrar la vista, además de avisos de desbloqueo y capturas de pantalla opcionales
Cuándo usarlo
- Juegos que salen en Steam y quieren crear los logros una sola vez en lugar de escribirlos dos veces.
- Equipos donde los diseñadores definen logros y reglas de desbloqueo sin tocar el código de gameplay.
- Proyectos que necesitan barras de progreso, logros ocultos y totales de puntos sin estado a medida para cada uno.
- Juegos que quieren logros locales hoy y una tienda o un backend de servidor más adelante, sin cambiar el código del juego.
Sistemas relacionados
Usa Serenity cuando quieras logros creados como assets, desbloqueados por reglas en lugar de código disperso y mantenidos al día con Steam desde un único wizard.
English
Español
Català