Jak określić ilość doświadczenia potrzebnego do zdobywania poziomów


29

Powiązane pytania w tym temacie mogą obejmować:

  1. Jak powinienem ustalić, ile punktów doświadczenia potrzeba, aby przejść do następnego poziomu?
  2. Jakie czynniki są w to zaangażowane?
  3. Jak sprawić, by gracz nie bawił się wystarczająco długo, dopóki nie awansuje?
  4. Jak mogę zmienić sposób, w jaki gracz otrzymuje punkty doświadczenia?

Dlaczego głosowanie w dół?

+1, ponieważ spędziłem dużo czasu próbując tutaj różnych rzeczy.
Casey

1
Głosowałem za odrzuceniem, ponieważ uważałem, że pytanie jest zbyt niejasne. Spójrz na większość odpowiedzi - „nie ma jednej formuły”, „możesz zrobić to, co chcesz”, „zależy to od rodzaju doświadczenia, które chcesz stworzyć dla gracza”. Ojej, czy możesz być bardziej niejednoznaczny ? Ale najwyraźniej nikt się ze mną nie zgadza, więc jest ...
Cyklop

@Cyclops: Tak to wygląda, dzięki czemu możemy określić rzeczy związane z punktami doświadczenia. Czy wolisz mieć mnóstwo pytań opartych na punktach doświadczenia za każdym razem, gdy ktoś pyta o swoją grę, czy wolisz mieć jedno odniesienie, które mówi o wszystkich różnych aspektach, które musisz wziąć pod uwagę. Zaakceptowałem odpowiedź programisty, ponieważ jest to świetne miejsce początkowe.

Odpowiedzi:


13

Zasadniczo są one wykonywane jako krzywe wykładnicze. http://kol.coldfront.net/thekolwiki/index.php/Advancement#Advancement_Requirements_Overview pokazuje formuły Kingdom of Loathing, które są dość standardowe dla gatunku MMO.


Miły! Nie miałem pojęcia, że ​​istnieje rzeczywiste równanie!

Nie ma jednej formuły, której wszyscy używają, ale od tego powinny zacząć.
coderanger

Ważne jest również, aby wziąć pod uwagę liczbę punktów doświadczenia zdobywanych za każde spotkanie, ponieważ będzie to odgrywać równie ważną rolę w tym, jak długo zajmuje osiągnięcie poziomu.
Henk

11

Właściwie omawiam ten temat, mówiąc o relacjach liczbowych w grach: http://gamebalanceconcepts.wordpress.com/2010/07/14/level-2-numeric-relationships/

Możesz zrobić to, co chcesz, chociaż zazwyczaj rośnie na krzywej (więc każdy poziom wymaga więcej XP niż ostatni), ponieważ spotkania / zadania dają więcej PD w miarę postępów.

Kluczem nie jest koncentrowanie się wyłącznie na krzywej poziomu XP lub krzywej XP na spotkanie, ale porównanie obu z nich. Jeśli krzywa poziomu XP wzrośnie szybciej niż XP na spotkanie, gracz zauważy, że z czasem zyskuje kolejne poziomy, co jest dość standardem dla gatunku. Niebezpieczeństwo polega jednak na tym, że jeśli zdobywanie poziomów będzie ZBYT niewiele i znajduje się daleko w końcowej fazie gry, ostatnie wspomnienie twojej gry będzie kolosalnym grindem, którego prawdopodobnie nie chcesz. Dowiedz się, ile spotkań na poziom jest do przyjęcia w końcowej grze i ile spotkań na poziom chcesz we wczesnej fazie gry, i interpoluj stamtąd.

Powinienem również wspomnieć, że MOŻESZ mieć nakładające się systemy nagród inne niż tylko XP / poziomy. Niektóre gry RPG mają punkty pracy (więc masz wiele systemów wyrównywania / awansowania), więc może to być jakiś czas między (powiedzmy) wyrównywanie umiejętności walki lub umiejętności leczenia, ale przy wystarczającej liczbie różnych poziomów wyrównywania zawsze jesteś tylko kilka minut od zwiększenia COŚ. Inne gry RPG mają losowe upuszczenia przedmiotów / wyposażenia, więc każde nowe spotkanie nie tylko daje XP, ale także małą szansę na wygenerowanie epickich łupów, więc dostajesz dodatkowe losowe nagrody za samą grę.


3

Powiedziałbym, że zależy to, przynajmniej częściowo, od rodzaju doświadczenia, które chcesz stworzyć dla gracza. Rozważ dwa przykłady, z których pierwszy to klasyczna turowa gra RPG, a drugi to Gradius III typu , w której chcesz, aby moc gracza skalowała się w zależności od postępu od jego śmierci na liście, a nie od ulepszeń (nie powiedzieć, że to dobry system, tylko przykład).

W przypadku RPG twój system prawdopodobnie działa przy założeniu, że gracz nigdy nie traci doświadczenia. Podobnie prawdopodobnie będzie chciał działać w oparciu o założenie, że stosunkowo łatwo jest osiągnąć pewien poziom biegłości w czymś, ale trudno go opanować (jak większość rzeczy w prawdziwym świecie). W takim przypadku możesz opracować formułę (jak sugerowany program kodujący), która pod pewnym względem ma charakter wykładniczy. Gdzie ilość doświadczenia wymagana do osiągnięcia następnego poziomu jest w jakiś sposób wykładniczo oparta na twoim obecnym poziomie. Ważne jest, aby wziąć pod uwagę, jednak szybkość, z jaką twój gracz będzie otrzymywać doświadczenie podczas gry. Na przykład gracz zabijający Ognistego Demona na poziomie 63 oczekiwałby więcej doświadczenia za zabicie, niż gdyby zabił Lady Bug na poziomie 2. Projektując formułę, pamiętaj, aby wziąć pod uwagę swój system XP. Zwłaszcza, że ​​jeśli tego nie zrobisz, zabicie biedronki będzie tak samo opłacalne jak zabicie trudniejszych wrogów.


Przykład 1 (prawdopodobnie nie byłby to formularz, którego byś użył): XP_TO_LEVEL = ((CURRENT_LEVEL + 1) ^ SCALE) * XP_BASE

Przykład 2: XP_TO_LEVEL = (XP_BASE * CURRENT_LEVEL) ^ SCALE

Gdzie XP_TO_LEVEL to XP potrzebne do osiągnięcia następnego poziomu. CURRENT_LEVEL to aktualny poziom gracza. XP_BASE to dowolna liczba decydująca o tym, ile każdy poziom jest „wart” w XP. SKALA to wykładnik określający szybkość skalowania XP potrzebnego do wyrównania. Jeśli SCALE ma wartość 1, każdy poziom będzie wymagał doświadczenia XP_BASE. Jeśli SKALA jest mniejsza niż 1, to każdy poziom będzie wymagał mniej doświadczenia niż ostatni poziom. Jeśli SKALA jest większa niż 1, to każdy poziom zajmie więcej doświadczenia niż ostatni poziom.

W poniższej tabeli przyjęto SKALĘ 1.1 i XP_BASE 100 na przykładzie 2.

Current Level   XP Needed   Increase from Last Level
1               158         0
2               339         181
3               530         191
4               728         198
5               930         202
...
10              1995        218

Przykład 3: XP_TO_LEVEL = ((CURRENT_LEVEL * SCALE) ^ 1,5) * XP_BASE

Gdzie SCALE wciąż określa, jak szybko skalować XP_TO_LEVEL, ale działa nieco inaczej.

W poniższej tabeli przyjęto SKALĘ 22 i XP_BASE 10 na przykładzie 3.

Current Level   XP Needed   Increase from Last Level
1               28          0
2               80          52
3               146         66
4               226         80
5               316         90
...
10              894         130

W przypadku klona Gradius możesz wybrać inną strategię. Możesz chcieć, aby gracz konsekwentnie zdobywał kolejne poziomy, co około dwie minuty. Ponadto, po tym, jak gra straci życie i w konsekwencji straci wszystkie swoje nabyte moce, możesz mu pomóc, podnosząc go na wyższy poziom, aż osiągnie odpowiedni poziom dla jego postępu w grze. W takim przypadku Twoja formuła będzie prawdopodobnie bardziej liniowa, zwłaszcza że użytkownik nie zobaczy, ile doświadczenia dostaje na zabójstwo. Coś w rodzaju, potrzeba 50 XP, aby osiągnąć nowy poziom, a każdy wróg jest wart 1 XP. Działa to świetnie, pod warunkiem, że zaopatrujesz go w stosunkowo stały strumień wrogów. Ale kiedy gracz umiera, traci wszystko! Co teraz robisz? Każdy wróg powinien być wart więcej niż 1 XP, aby osiągnąć cel, jakim jest dogonienie go, aby gra znów była sprawiedliwa.

Przykład: XP_FROM_EACH_ENEMY = BASE_XP + (CURRENT_LEVEL - DESIRED_LEVEL) Gdzie XP_FROM_EACH_ENEMY to ilość PD, którą wróg przyznałby po zabiciu. BASE_XP to domyślnie wartość XP wroga (może różnić się w zależności od typu). CURRENT_LEVEL to poziom gracza. DESIRED_LEVEL to poziom, na którym Twoim zdaniem powinien być ten gracz.


2

Osobiście korzystam.

C / (A x B)

Gdzie: A = czas na spotkanie / zabicie (średnio łatwych, normalnych i twardych wrogów) B = Exp na zabicie. (średnia łatwych, normalnych i twardych wrogów) C = Czas spędzony na awansie gracza.

Uwaga: Wszystko to zależy od tempa i punktu w grze.

Myślę, że może to być bardzo uproszczone, ale pamiętaj, że ustawiasz również inne elementy. Za pomocą prostego równania można łatwo dostosować się do zmian w połowie.

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.