Jaka funkcja score / level jest często używana?


9

W wielu grach poziom osiąga się po osiągnięciu określonego wyniku, a później poziomy są trudniejsze do osiągnięcia niż na początku.

Podejrzewam, że jest to jakaś funkcja wykładnicza używana np. W WoW.

Czy ktoś wie o dobrej funkcji wykładniczej do tego celu?



Odpowiedzi:


11

Nie ma żadnego standardu, ani też nie ma żadnego powodu, by istniał. Wydaje się, że ludzie lubią wzrost wykładniczy, ponieważ sprawia, że ​​czują, że stają się coraz silniejsi i za każdym razem stają przed proporcjonalnie większym wyzwaniem, ale w rzeczywistości jest to prawdą tylko wtedy, gdy sposób zbierania punktów również nie zmienia się proporcjonalnie . Jeśli doświadczenie za zwycięstwo wzrośnie w takim samym tempie, jak doświadczenie za poziom, to nie ma też większego sensu - oba mogą pozostać niezmienne.

Co więcej, implikacja jest taka, że ​​nie można po prostu wybrać funkcji, według której ma przebiegać krzywa doświadczenia, nie wiedząc, jak powinna przebiegać kumulacja doświadczenia. I to jest decyzja dotycząca projektu gry oparta na rodzaju pożądanego doświadczenia, a nie takiej, którą możemy zapewnić.

Jednak, aby odpowiedzieć na twoje pytanie: typ funkcji, którą widziałeś gdzie indziej, jest po prostu czymś takim: trywialny wielomian ze współczynnikiem skali:

próg_dla_następnego poziomu = x * aktualny poziom y

Typowe wartości mogą wynosić x = 1000, y = 1,5. na przykład:

level 1 = 1000
level 2 = 2828
level 3 = 5196
...
level 10 = 31623
etc.

Jeśli chcesz, aby nachylenie było bardziej strome, zwiększ y. Jeśli chcesz, aby liczby były większe, zwiększ x.

Możesz chcieć mieć zaokrąglone liczby, w takim przypadku wystarczy zaokrąglić wynik końcowy do 2 lub 3 cyfr znaczących lub do najbliższego tysiąca, cokolwiek chcesz.

Pamiętaj tylko, że te wartości są bez znaczenia w oderwaniu. Jeśli przejście z poziomu 15 na poziom 16 wymaga 15 000 punktów doświadczenia, musisz upewnić się, że projekt gry umożliwia postaci 15 poziomu zdobycie 15 000 punktów doświadczenia podczas normalnej gry. Nie ma sensu po prostu poprawiać krzywej po testach, ponieważ jest to na ogół zbyt czasochłonne - musisz zacząć od krzywej, która pasuje do nagród przyznawanych przez twoją grę w sposób, który pasuje do zamierzonego projektu.


4

Moria / Angband (i wszystkie ich spin-offy, w tym - debatujące - Diablo) opierają swoje systemy na dopasowywaniu poziomu potwora do poziomu gracza, aby zobaczyć, co zarabiasz, wraz ze wzrostem wymagań XP na poziom ponad to.

W Diablo istnieją optymalne poziomy potworów, które można zabić, w granicach 5 poziomów w postaci dodatniej i ujemnej. To wygląda mniej więcej tak (przeprosiny, jeśli to nie jest dokładne, fani Diablo):

XP Gain = monsterBaseXP * (5-|(characterLevel-monsterLevel)|) / 5
(where result cannot drop below 0)

Przykłady postaci Poziom 16: Poziom potwora A: 16. Zyskaj 100% bazowej XP potwora. Poziom potwora B: 13. Zdobądź 40% bazowej XP potwora. Poziom potwora C: 20. Zdobądź 20% bazowej XP potwora. Poziom potwora D: 23. Zdobądź 0% bazowej XP potwora.

W Angband (preferowany mnie model) wygląda to tak:

XP Gain = monsterBaseXP * monsterLevel / characterLevel.

Więc jeśli zabiłeś potwora na poziomie 50, gdy byłeś na poziomie 5, zyskałbyś 10 razy więcej XP niż postać 50 poziomu, która zabiła tego potwora. Podoba mi się to, jest to wysokie ryzyko, wysoka nagroda. Straciłem do tego tysiące postaci w Angband. Ale ci, którzy to robią, są legendarni. Myślę, że raz osiągnąłem poziom 29 natychmiast od poziomu 1;) Podobnie postać na poziomie 50 zabijająca potwora na poziomie 5 zyskałaby 1/10 XP doświadczenia, którą postać zdobędzie na poziomie 1 za zabicie tego potwora. Co więcej, ponieważ podstawowe XP również rosną, oznacza to, że zabicie potwora niskiego poziomu wciąż może przynieść ci pewną nagrodę, ale zejdzie zbyt daleko w dół i stanie się całkowicie bezcelowe.

W obu grach dodatkowo wykorzystują mnożniki potrzebnej XP (w rosnącej skali), a stosunek między tym a optymalnym poziomem podanego XP potwora stopniowo się zwiększa.

Najprostszą formą tego pomysłu jest wykonanie następujących czynności. Zdecyduj, ile potworów jest na tym samym poziomie, musisz zabić każdy poziom do oceny (ignorując nagrody za zadania itp.). Powiedzmy 100 - niezależnie od twojego poziomu. Powiedz, że jeśli gracz zabije potwora na tym samym poziomie, zyskuje 1XP.

Używając formuły podobnej do Angband, aby nagradzać wzrost i redukcję w zależności od poziomu potwora, twoja tabela poziomów jest liniowa:

1: 100xp
2: 200xp
3: 300xp

...I tak dalej. Uważam, że jest to najłatwiejszy punkt do zeskoczenia - odpowiednio dostosuj, dołącz XP bazowych potworów, poziomy odcięcia itp. Do zadowolenia twojego serca.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.