Jakie są konsekwencje dodania statystyki postępu do osiągnięcia Steam na żywo?

10

Powiedzmy, że mam w swojej grze osiągnięcie „Zbierz swoją pierwszą rzecz” i opublikuję to w wersji na żywo bez statystyk postępu. Później decyduję się na dodanie kilku nowych osiągnięć w aktualizacji, w tym jednego opartego na poprzednim osiągnięciu: „Zbierz 10 rzeczy”.

Tworzę statystykę postępu dla tego, który jest aktualizowany w kodzie, ale edytuję również oryginalne osiągnięcie, aby odblokować je za pomocą statystyki postępu, a nie funkcji AwardFirstThingamajigAchievement () w kodzie.

Jakie są tego konsekwencje? Czy gracz, który już odblokował to osiągnięcie, zostanie ponownie zablokowany, ponieważ osiągnięcie zostało edytowane, co technicznie czyni go nowym? Czy pozostanie odblokowany, ale nadal będzie powodował małe okienko wyskakujące dla pierwszego osiągnięcia w następnym zebranym Thingamajig? A może Steam po prostu nie dotknie już odblokowanych osiągnięć?

użytkownik109671
źródło
Zakładam, że zmiana nazwy osiągnięcia spowoduje, że pozostanie ono odblokowane dla tych, którzy je zdobyli. Usunięcie osiągnięcia, aby zastąpić je nowym, powinno zrobić odwrotnie.
Rudey,

Odpowiedzi:

1

Z tego, co pamiętam o Steam API, możesz ustawić / zresetować postępy graczy poprzez Steam API ręcznie, co pozwala rozwiązać problem na wiele sposobów.

Dopóki identyfikatory osiągnięć w backendie odzwierciedlają wartości w kodzie, wszystko powinno być w porządku, a nowe osiągnięcie powinno odzwierciedlać już osiągnięty postęp w starej statystyce.

jeśli chcesz przenieść już działające osiągnięcie do nowego typu, możesz go „wycofać”.

  • Ustaw stary jako „ukryty” i usuń kod gry, który aktualizuje wartość.
  • Utwórz nowe osiągnięcie w backendie Steam
  • Utwórz kod gry, który weźmie wartość graczy ze starego osiągnięcia i zapisz go w nowym plus, a ustawisz starą wartość na 0.

Myślę, że rozumiesz. To podejście ma pewne wzloty i upadki, ale jest dość bezpieczne i prawdopodobnie spowoduje wyskakujące okienko. Ale jestem mniej więcej pewien, że możesz ustawić wartość osiągnięcia bez powodowania wyskakującego okienka.

Z drugiej strony nie sądzę, że para wyczyści dane graczy, jeśli zmienisz oryginalne osiągnięcie na „progresywne”. Jest to tylko flaga, która powoduje, że pasek postępu wyskakuje i nawet jeśli zmienisz wartość maksymalną lub zmodyfikujesz osiągnięcie w inny sposób, nadal powinieneś zachować istniejące dane. Więc po prostu zrób to i obserwuj!

Jeśli nie chcesz ryzykować, zrób mały eksperyment. Jeśli poważnie traktujesz wdrożenie Steam, powinieneś mieć identyfikator testApp.

Mam nadzieję że to pomoże!

Gęba
źródło
-1

Nie jestem zaznajomiony z tym, jak Steam radzi sobie z różnymi rzeczami (jeszcze tam nie publikuje), ale zakładam, że każdy gracz, który odblokował osiągnięcie, zachowałby to osiągnięcie. Jest tak, ponieważ osiągnięcia nie są jak zmienne boolowe, które są włączane i wyłączane. Osiągnięcie zostanie zarejestrowane na serwerze Steam jako osiągnięte. Dlatego wszelkie dodatkowe postępy dokonane po tym, niezależnie od jakichkolwiek zmian w kodzie, nie powinny mieć znaczenia. W ten sposób, nawet jeśli usunę grę, moje osiągnięcie nadal tam będzie. Jeśli Steam tego nie zrobił (tzn. Osiągnięcie musiałoby zostać ponownie odblokowane po zmianie kodu), osiągnięcie zniknęłoby również po ponownym pobraniu gry - ponieważ wszystkie lokalne dane o warunkach osiągania zostałyby usunięte. Jednak,

Mam nadzieję że to pomoże.

Daniel Wilkes
źródło