Assoliments

Assoliments creats com a assets, desbloquejats per condicions en lloc de codi, desats on tu triïs i sincronitzats amb Steam mitjançant un wizard que inicia sessió per codi QR.

Per a què serveix aquest sistema

Gairebé tots els jocs inclouen assoliments, i gairebé tots els projectes els construeixen igual: una llista estàtica al codi, crides de desbloqueig repartides pels scripts de gameplay i una segona còpia de cada nom, descripció i icona escrita a mà al lloc de partners de la botiga. Quan un nom canvia en un lloc i no en l'altre, ningú no ho nota fins que ho nota un jugador.

El mòdul Achievements de Serenity converteix cada assoliment en un asset, deixa que les condicions decideixin quan es desbloqueja i manté el registre local de desbloquejos independent de qualsevol botiga. El wizard Achievement Platform Sync tanca després el cercle amb Steam: porta al projecte la còpia dels teus assoliments que té Steam per revisar-la i envia els teus de tornada, així que cada assoliment s'escriu una sola vegada.

El problema a Unity

Els assoliments improvisats acoblen la lògica de desbloqueig al codi de gameplay. Cada assoliment nou obliga a trobar l'script adequat, afegir un comptador, desar-lo en algun lloc i recordar-se de reiniciar-lo. Les barres de progrés, els assoliments ocults i els totals de punts afegeixen cadascun un altre tros d'estat a mida, i el resultat és difícil de provar i encara més difícil de lliurar a un dissenyador.

Les botigues afegeixen una segona font de veritat. Els noms, les descripcions, els indicadors d'ocult, les icones i totes les traduccions viuen a Steamworks i també al teu projecte, i Steam no ofereix una manera còmoda de crear-los en bloc. Mantenir tots dos al dia a mà és lent, fàcil de fer malament i empitjora amb cada idioma que afegeixes.

Com ho aborda Serenity

Serenity modela cada assoliment com el seu propi asset: el text que llegeix el jugador, els punts que atorga, si és ocult, un objectiu de progrés opcional i els identificadors de botiga als quals s'associa. L'Achievements Studio els llista tots en una sola finestra, i el wizard Create Achievements deixa el mòdul muntat amb ajustos, un backend i una vista d'assoliments que s'obre com qualsevol altre menú. Un arbre de condicions opcional en cada assoliment el desbloqueja sense gens de codi, a partir de senyals, llindars de puntuació, progrés global, durades i quantitats acumulades, combinats amb And, Or, Not i Sequence. Un assoliment sense arbre es desbloqueja amb una única crida des de codi o amb un senyal sense codi.

Achievement Platform Sync porta al projecte la còpia dels teus assoliments que té una botiga mitjançant un wizard de sis passos: Platform, Connect, Scope, Review, Apply i Done. A Review acceptes o omets cada camp i cada idioma, no s'escriu res fins que confirmes, i abans es pot fer una còpia de seguretat del manifest actual. Per a Steam inicies sessió escanejant un codi QR amb l'aplicació mòbil de Steam, i en portar dades arriben els noms i les descripcions a les teves taules de localització, amb una entrada per cada idioma que acceptis, juntament amb les icones. Un enviament mana els teus de tornada, i cada camp enviat arriba sense publicar, de manera que publicar continua sent un pas deliberat al lloc de partners de Steam. El mode Copilot ofereix una llista de passos, camp a camp, per a l'editor propi de Steam sempre que un enviament no es pugui completar.

Com encaixa a Serenity

Achievements es construeix al voltant d'un magatzem local sempre present: cada desbloqueig s'escriu en un backend de persistència identificat per jugador i assoliment, així que un joc que no surt a cap botiga té igualment assoliments que funcionen. El backend és el mateix magatzem estructurat intercanviable que fan servir Leaderboard i els desats de partida — emmagatzematge del dispositiu per defecte, o fitxers locals, SQLite, HTTP, Postgres, MySQL o MongoDB — i triar-ne un altre és un canvi de configuració. Els punts de cada desbloqueig es reflecteixen a Score, i un desbloqueig mai no espera una captura de pantalla ni una crida a la botiga.

Les botigues són destinacions de sincronització, no la font de veritat. Un gateway de plataforma envia els desbloquejos cap a fora i llegeix el compte de tornada per reconciliar, i una consulta fallida mai no es confon amb un compte buit. El gateway de Steam es lliura com a codi real, i les definicions de Xbox, Epic i PlayStation es lliuren com a plantilles per a SDKs amb llicència. Desbloquejar i mostrar assoliments funciona a través de l'Event Dispatcher, de manera que un SignalEmitterComponent pot atorgar un assoliment o obrir la vista d'assoliments sense codi de joc.

Flux de treball pràctic

  1. Executa Create Achievements per deixar muntat el mòdul: ajustos, un backend i una vista d'assoliments.
  2. Obre l'Achievements Studio i crea cada assoliment: text, punts, indicador d'ocult, objectiu de progrés i, on vulguis, una condició de desbloqueig.
  3. Desbloqueja des de codi amb el servei d'assoliments, o llança el senyal de desbloqueig sense codi des d'un SignalEmitterComponent.
  4. Mostra la vista d'assoliments des d'un menú, i deixa que els avisos de desbloqueig i la captura opcional de pantalla apareguin sols.
  5. Obre Tools ▸ Serenity ▸ Browse ▸ Achievements ▸ Achievement Platform Sync i inicia sessió a Steam escanejant el codi QR amb l'aplicació mòbil de Steam.
  6. Porta les dades per revisar la còpia de Steam amb les seves traduccions i icones, aplica el que acceptis i envia els teus de tornada; publica al lloc de partners de Steam quan estiguis a punt.

Què inclou

  • Un asset per assoliment, amb text, punts, indicador d'ocult, objectiu de progrés i identificadors de botiga
  • Achievements Studio per crear i revisar tots els assoliments en una sola finestra
  • Wizard Create Achievements per als ajustos del mòdul, un backend i una vista d'assoliments
  • Condicions de desbloqueig sense codi — senyals, puntuació, progrés global, durades i quantitats acumulades, combinades amb And, Or, Not i Sequence
  • Registres locals de desbloqueig sobre un backend intercanviable, independents de qualsevol botiga, amb els punts reflectits a Score
  • Wizard Achievement Platform Sync que porta i envia definicions amb pas de revisió, còpia de seguretat opcional i opció Snapshot file per assajar
  • Inici de sessió a Steam per codi QR, amb traduccions i icones incloses i el mode Copilot com a alternativa pas a pas
  • Senyals sense codi per desbloquejar i mostrar la vista, a més d'avisos de desbloqueig i captures de pantalla opcionals

Quan fer-lo servir

  • Jocs que surten a Steam i volen crear els assoliments una sola vegada en lloc d'escriure'ls dues vegades.
  • Equips on els dissenyadors defineixen assoliments i regles de desbloqueig sense tocar el codi de gameplay.
  • Projectes que necessiten barres de progrés, assoliments ocults i totals de punts sense estat a mida per a cadascun.
  • Jocs que volen assoliments locals avui i una botiga o un backend de servidor més endavant, sense canviar el codi del joc.

Sistemes relacionats

Fes servir Serenity quan vulguis assoliments creats com a assets, desbloquejats per regles en lloc de codi dispers i mantinguts al dia amb Steam des d'un únic wizard.

Tornar a la pàgina principal