Hallo allemaal,
Ik ben samen met een vriend bezig om een private server van een spel op te zetten. Nu willen we deze high rate maken wat wil zeggen dat je sneller dan in de normale server leveled. Het aantal experience dat je nodig hebt om een level up te gaan willen we hetzelfde behouden als in de officiële server.
Maar we willen graag het experience dat je ontvangt van een monster te verslaan verhogen. Het aantal experience dat je ontvangt van een monster ligt aan het level dat het monster is.
Voorbeeld:
Een monster van level 20 geeft 35 experience points.
Een monster van level 45 geeft 320 epxperience points.
Zo te zien is dit een exponentiële groei. We zaten zelf te denken aan een formule zoals:
B is normaal gesproken de startwaarde van de grafiek. Het laagst mogelijke level monster is level 3 en geeft 5 experience points.
Daarom dacht ik aan deze formule:
Dit schijnt toch niet helemaal te kloppen of wel?
Hebben jullie misschien suggesties en/of oplossingen? We zijn best wel gedreven om dit snel af te krijgen dus alle hulp is welkom!
Met vriendelijke groeten,
ZeroSorry (Jesse)
Level tabel exponentiële groei
Re: Level tabel exponentiële groei
Stel je functie:
waarbij
p(l) = je punten (= experience points) afhankelijk van level l
l = level
b, g, c: constanten die we willen bepalen
Je hebt 3 combinaties van p(l) en l gegeven:
l = 3 => p(3) = 5
l = 20 => p(20) = 35
l = 45 => p(45) = 320
Vul deze waarden in in je vergelijking en los de constanten op.
Ik kom dan uit op:
b = 7.2925289548746;
g = 1.0879939690572;
c = -4.391990100683;
ofwel:
P(L) = 7.2925289548746 * 1.0879939690572^L - 4.391990100683;
Noot:
Het nadeel van zo'n functie is dat alle andere waarden voor p afhankelijk van l vastliggen.
Als het aantal levels niet te groot is, kan je de p-waarden per level ook in een array (=tabel) coderen. Per level kan je dan de gewenste p-waarde zelf bepalen.
waarbij
p(l) = je punten (= experience points) afhankelijk van level l
l = level
b, g, c: constanten die we willen bepalen
Je hebt 3 combinaties van p(l) en l gegeven:
l = 3 => p(3) = 5
l = 20 => p(20) = 35
l = 45 => p(45) = 320
Vul deze waarden in in je vergelijking en los de constanten op.
Ik kom dan uit op:
b = 7.2925289548746;
g = 1.0879939690572;
c = -4.391990100683;
ofwel:
P(L) = 7.2925289548746 * 1.0879939690572^L - 4.391990100683;
Noot:
Het nadeel van zo'n functie is dat alle andere waarden voor p afhankelijk van l vastliggen.
Als het aantal levels niet te groot is, kan je de p-waarden per level ook in een array (=tabel) coderen. Per level kan je dan de gewenste p-waarde zelf bepalen.