Welche Konsequenzen hat das Hinzufügen eines Fortschrittsstatus zu einem Live-Steam-Erfolg?


10

Angenommen, ich habe einen Erfolg in meinem Spiel "Sammle dein erstes Ding" und veröffentliche diesen in der Live-Version des Spiels ohne Fortschrittsanzeige. Später entscheide ich mich, einige neue Erfolge in ein Update aufzunehmen, darunter einen, der auf dem vorherigen Erfolg basiert: "Sammle 10 Dingsbums".

Ich erstelle einen Fortschrittsstatus für diesen, der im Code aktualisiert wird, aber ich bearbeite auch den ursprünglichen Erfolg so, dass er über den Fortschrittsstatus und nicht über eine AwardFirstThingamajigAchievement () -Funktion im Code freigeschaltet wird.

Was sind die Konsequenzen daraus? Wird ein Spieler, der diesen Erfolg bereits freigeschaltet hat, feststellen, dass der Erfolg erneut gesperrt wurde, weil der Erfolg bearbeitet wurde, was ihn technisch zu einem neuen macht? Wird es freigeschaltet bleiben, aber dennoch ein kleines Popup für den ersten Erfolg beim nächsten gesammelten Thingamajig verursachen? Oder wird Steam bereits freigeschaltete Erfolge einfach nicht berühren?


Ich würde davon ausgehen, dass das Umbenennen des Erfolgs dazu führt, dass es für diejenigen, die es verdient haben, freigeschaltet bleibt. Das Entfernen der Errungenschaft, um sie durch eine neue zu ersetzen, sollte das Gegenteil bewirken.
Rudey

Antworten:


1

Soweit ich mich an die Steam-API erinnere, können Sie den Fortschritt der Spieler manuell über die Steam-API einstellen / zurücksetzen, wodurch Sie das Problem auf verschiedene Arten lösen können.

Solange die Leistungskennungen im Backend die Werte in Ihrem Code widerspiegeln, sollte es Ihnen gut gehen und die neue Leistung sollte den bereits erreichten Fortschritt in der alten Statistik widerspiegeln.

Wenn Sie die bereits ausgeführte Leistung auf einen neuen Typ migrieren möchten, können Sie sie "verwerfen".

  • Machen Sie den alten "versteckt" und entfernen Sie den Spielcode, der den Wert aktualisiert.
  • Erstellen Sie neue Erfolge im Steam-Backend
  • Erstellen Sie einen Spielcode, der den Wert des Spielers aus dem alten Erfolg übernimmt und in einem neuen speichert. Außerdem wird der alte Wert auf 0 gesetzt.

Ich denke, Sie verstehen meinen Standpunkt hier. Dieser Ansatz hat einige Höhen und Tiefen, ist aber ziemlich sicher und wird wahrscheinlich das Popup verursachen. Aber ich bin mehr oder weniger sicher, dass Sie den Leistungswert festlegen können, ohne das Popup zu verursachen.

Andererseits glaube ich nicht, dass Steam die Spielerdaten löscht, wenn Sie die ursprüngliche Leistung in "progressiv" ändern. Es ist nur ein Flag, mit dem der Fortschrittsbalken angezeigt wird. Auch wenn Sie den Maximalwert ändern oder die Leistung auf andere Weise ändern, sollten die bereits vorhandenen Daten beibehalten werden. Also mach es einfach und beobachte!

Wenn Sie das Risiko nicht eingehen möchten, machen Sie ein kleines Experiment. Wenn Sie die Steam-Bereitstellung ernst nehmen, sollten Sie trotzdem eine testApp-ID haben.

Hoffe das hilft!


-1

Ich bin nicht mit dem Umgang mit Steam vertraut (muss dort noch veröffentlicht werden), aber ich würde davon ausgehen, dass jeder Spieler, der bereits einen Erfolg freigeschaltet hat, den Erfolg behalten würde. Dies liegt daran, dass Erfolge nicht wie ein- und ausgeschaltete Bool-Variablen sind. Ein Erfolg wird auf dem Steam-Server als erreicht registriert. Daher sollten alle danach erzielten zusätzlichen Fortschritte, unabhängig von Änderungen am Code, keine Rolle spielen. Auf diese Weise wäre meine Leistung auch dann noch da, wenn ich das Spiel gelöscht hätte. Wenn Steam dies nicht getan hätte (dh der Erfolg müsste beim Ändern des Codes erneut freigeschaltet werden), wäre der Erfolg auch beim erneuten Herunterladen des Spiels verschwunden, da alle lokalen Daten zu den Erreichungsbedingungen gelöscht worden wären. Jedoch,

Hoffe das hilft.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.