Spieldesign - Expotentialfunktion für stufenlose Steigerung von Eigenschaften

Aus Notebook
Zur Navigation springen Zur Suche springen

Aufgabe

Wertebereich: 0 - unendlich Steigerung: 0 bis 1 kostet S, 1 bis 2 kostet S * E, 2 bis 3 kostet S * E2 usw. Grundsätzlich: N bis N+1 kostet S * EN

Berechnung

Die Kosten sind ein Integral einer Expotentialfunktion A * eB * x.

Das unbestimmte Integral davon ist dann (A / B) * eB * x.

Das bestimmte Integral von x = N+1 bis x = N ist dann:

(1) (A / B) * (eB * (N + 1) - eB * N)
= (A / B) * (eB * N * eB - eB * N)
= (A / B) * eB * N * (eB - 1) = S * EN (laut unserer Aufgabe)

Das bestimmte Integral von 0 bis 1 (N = 0) ist insbesondere:

(2) (A / B) * (eB - 1) = S (laut unserer Aufgabe)

Wir versuchen nun A' und B zu bestimmen. S aus (2) in (1) eingesetzt ergibt:

(A / B) * eB * N * (eB - 1) = (A / B) * (eB - 1) * EN

A kann nicht 0 sein (weil dann einfach konstant keine Kosten entstehen würden), B kann nicht 0 sein ausser in dem Fall gleich bleibender Kosten (dieser Fall ist trivial mit E = 1) und damit ist (A / B) nicht 0 und definiert und damit können wir es kürzen:

eB * N * (eB - 1) = (eB - 1) * EN
(eB - 1) kann aus demselben Grund nicht 0 sein und kann ebenso weggekürzt werden:
eB * N = EN
eB = E
(3) B = ln E

Wir fügen das Ergebnis in (2) ein:

(A / ln E ) * (eln E - 1) = S
(A / ln E ) * (E - 1) = S
(4) A = (S * ln E) / (E - 1)

Konstanten und Funktionen

Insbesondere sind die Hilfs-Konstanten

(5) (A / B) = S / (E - 1)
(6) (A / B) * (eB - 1) = S

Damit ist die Berechnung eines Intervalls von N bis N + 1:

int(N, N + 1) = S * eB * N

Die Berechnung eines Intervalls von N bis N + M:

int(N, N + M) = S / (E - 1) * eB * N * (eB * M - 1)

Die Berechnung eines Intervalls von 0 bis N:

int(0, N) = S / (E - 1) * (eB * N - 1)

Rückberechnungen

Berechnung von E (via B) bei gegebenen S und Steigerunswert W bei der Steigerung eines gegebenen N auf N + 1

W = S * eB * N
eB * N = W / S
B * N = ln (W / S )
N * ln E = ln ( W / S )
(7) E = eln ( W / S ) / N


Beispielberechnung

S = 100 E = 1,1
A = 95,310179804324860043952123280765 B = 0,095310179804324860043952123280765
A / B = S / (E - 1) = 1000

N -> M Kosten
0 -> 1 100,000
1,5 -> 2,5 115,369
2 -> 3 121
0 -> 30 16.449,402
99 -> 100 1.252.782,940
0 -> 100 13.779.612,340

S = 100 E = 1,01
A = 99,503308531680828482153575442607 B = 0,0099503308531680828482153575442607
A / B = S / (E - 1) = 10000

N -> M Kosten
0 -> 1 100,000
1,5 -> 2,5 101,504
2 -> 3 102,010
0 -> 30 3.478,489
99 -> 100 267,803
0 -> 100 17.048,138

Berechnung des E für verschiedene gewünschte Steigerungswerte (Kosten) der Steigerung von 99 auf 100

S = 100

W
(für 99 -> 100)
E
20.000 1,054976
100.000 1,072267
250.000 1,082238
1.000.000 1,097499
10.000.000 1,123324