¿Cuáles son las consecuencias de agregar una estadística de progreso a un logro de Steam en vivo?

10

Digamos que tengo un logro en mi juego, "Recoge tu primer juego", y publico esto en la versión en vivo del juego sin una estadística de progreso. Más tarde, decido que quiero agregar algunos logros nuevos en una actualización, incluido uno basado en el logro anterior: "Recoge 10 thingamajigs".

Creo una estadística de progreso para este que se actualiza en código, pero también edito el logro original para que se desbloquee a través de la estadística de progreso en lugar de una función AwardFirstThingamajigAchievement () en el código.

¿Cuales son las consecuencias de esto? ¿Un jugador que ya tenía esto desbloqueado encontrará que el logro se ha vuelto a bloquear porque el logro ha sido editado, técnicamente haciéndolo uno nuevo? ¿Permanecerá desbloqueado, pero aún causará una pequeña ventana emergente para el primer logro en el próximo Thingamajig recogido? ¿O Steam simplemente no tocará los logros ya desbloqueados?

usuario109671
fuente
Supongo que cambiar el nombre del logro hará que permanezca desbloqueado para aquellos que lo obtuvieron. Eliminar el logro para reemplazarlo por uno nuevo debería hacer lo contrario.
Rudey

Respuestas:

1

Por lo que recuerdo de la API de Steam, puede configurar / restablecer el progreso de los jugadores a través de la API de Steam manualmente, lo que le permite resolver el problema de varias maneras.

Siempre que los identificadores de logros en el backend reflejen los valores en su código, debería estar bien y el nuevo logro debería reflejar el progreso ya alcanzado en la estadística anterior.

si desea migrar el logro que ya se está ejecutando a un nuevo tipo, puede "desaprobarlo".

  • Haga que el antiguo esté "oculto" y elimine el código del juego que actualiza el valor.
  • Crea nuevos logros en el backend de steam
  • Cree un código de juego que tomará el valor de los jugadores del logro anterior y guárdelo en uno nuevo más establecerá el valor anterior en 0.

Creo que entiendes mi punto aquí. Este enfoque tiene algunos altibajos, pero es bastante seguro y probablemente provocará la ventana emergente. Pero estoy más o menos seguro de que puede establecer el valor del logro sin provocar la ventana emergente.

Por otro lado, no creo que Steam borre los datos de los jugadores si cambias el logro original a "progresable". Es solo una bandera que hace que aparezca la barra de progreso emergente e incluso si cambia el valor máximo o modifica el logro de otra manera, aún debe mantener los datos ya existentes. ¡Así que hazlo y observa!

Si no quieres arriesgarte, haz un pequeño experimento. Si está tomando en serio la implementación de Steam, debe tener una ID de testApp de todos modos.

¡Espero que esto ayude!

Trozo
fuente
-1

No estoy familiarizado con cómo steam maneja las cosas (aún no se ha publicado allí), pero supongo que cualquier jugador que haya desbloqueado un logro ya lo mantendría. Esto se debe a que los logros no son como las variables bool que se activan y desactivan. Se registrará un logro en el servidor de vapor como alcanzado. Por lo tanto, cualquier progreso adicional realizado después de eso, independientemente de cualquier cambio en el código, no debería importar. De esta manera, incluso si eliminara el juego, mi logro aún estaría allí. Si Steam no hizo esto (es decir, el logro tendría que volverse a bloquear cuando cambies el código), el logro también desaparecería cuando volvieras a descargar el juego, ya que todos los datos locales sobre las condiciones de logro se habrían eliminado. Sin embargo,

Espero que esto ayude.

Daniel Wilkes
fuente