Spieldesign - Expotentialfunktion für stufenlose Steigerung von Eigenschaften
Inhaltsverzeichnis
Aufgabe[Bearbeiten | edit source]
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[Bearbeiten | edit source]
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)
- = (A / B) * (eB * N * eB - eB * N)
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[Bearbeiten | edit source]
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[Bearbeiten | edit source]
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[Bearbeiten | edit source]
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 |