# Erfahrungspunkte bei Spielen berechnen



## Gamer090 (25. April 2013)

Hi zusammen 

Ich habe mich mal gefragt wie in Spielen die Erfahrungspunkte berechnet werden. Wird sowas mit einer bestimmten Prozentzahl berechnet ?

Zwar finde ich schon auf manchen Webseiten zu spielen bei welchem Level man welche Punkte bekommt aber nicht wie sie ausgerechnet werden.

Jemand eine Idee?


----------



## ParaD0x1 (25. April 2013)

Wie meinst du ausgrechnet? ... Sie werden addiert .. ?


----------



## Coldhardt (25. April 2013)

Wahrscheinlich nach Zielgenauigkeit, Combos, Munitionsverbrauch, Zeit etc.


----------



## Veriquitas (25. April 2013)

Das kommt auf das Spiel an, generell kann man so eine Rechnung nicht aufstellen.


----------



## Malkolm (25. April 2013)

Ich frage mich manchmal, wo das maximale Level bei einem Spiel wäre, wenn die Programmierer keine Grenze ziehen würden :O


----------



## crizzler (25. April 2013)

Bei Level 65535 wäre Schluss. Wenn das Level vom Datentyp ein unsigned Integer wäre.


----------



## Gamer090 (25. April 2013)

ParaD0x1 schrieb:


> Wie meinst du ausgrechnet? ... Sie werden addiert .. ?


 Was meinst du mit addiert?



Veriquitas schrieb:


> Das kommt auf das Spiel an, generell kann man so eine Rechnung nicht aufstellen.


 Könntest du evtl. ein Beispiel machen?



crizzler schrieb:


> Bei Level 65535 wäre Schluss. Wenn das Level vom Datentyp ein unsigned Integer wäre.


 
Kannst du mir mal genauer sagen wie du auf diese 65535 kommst?


----------



## Shona (25. April 2013)

Gamer090 schrieb:


> Kannst du mir mal genauer sagen wie du auf diese 65535 kommst?


 Das ist der maximale Werte den ein unsigned Integer haben kann -> Integer (Datentyp) <- also der Datentyp in dem das Level (in diesem Sinne) gespeichert wird

Das wäre dann aber 16bit und die meisten Spiele heut zu tage werden doch in 32bit gemacht oder nicht?^^ Somit wäre der max Wert 4.294.967.295


----------



## Veriquitas (26. April 2013)

Gamer090 schrieb:


> Könntest du evtl. ein Beispiel machen?


 
Deine Frage ist halt sehr undefiniert. Nehmen wir mal nen Rollenspiel du kloppst dich da durch ein Gebiet, gegen die selben Monster etc. Du hast 20 Monster gekillt und 2000 Erfahrungspunkte bekommen. Nicht weil der Entwickler bestimmt hat das jedes Monster 100 Erfahrungspunkte gewährt, sondern weil dieser das Ergebnis 2000 gewählt hat. 20x=2000, er hat in diesem Beispiel die 2000 gewählt weil das Gebiet nicht mehr hergeben soll. Er kennt das Gesammtergebnis und die 2000 werden davon abgezogen für die Maximalstufe. 

Die Maximalstufe besteht aus 10000 Erfahrungspunkten. Das wäre für den Entwickler ein Anhaltspunkt zu sagen es gibt 5 Gebiete, 5*2000=10000. Er kann natürlich sagen 5 Gebiete sind zu wenig und modifiziert das ganze. 10000*2=20000 also hat er jetzt doppelt so viele Gebiete. Jetzt kann er natürlich die restlichen Monster setzen, wenn es überall die selben Monster sein sollen. Oder er sagt sich ich will ein paar stärkere Monster und modifiziert die Rechnung wieder. Das ist jetzt nen simples Beispiel und alleine durch Rechnungen könnte man das jetzt nicht fest machen.

Das wird dann getestet im Spiel. Durch das testen und das rechnen baut sich das Spiel von alleine auf. Die Fragen kommen dann von alleine. Die müssen dann halt beantwortet werden. Warum gibt der Gegner so viele Erfahrungspunkte obwohl der schwächlich ist ?  usw. und dann wird wieder modfiziert....

Das hängt halt von vielen Faktoren, man muss sich auch vorher schon die Frage stellen wofür werden die Erfahrungspunkte gebraucht ?


Das Ergebnis wird immer zuerst gewählt, in Spielen verselbständigen sich Rechnungen nicht sondern sind immer vordefiniert. Alles was du im Spiel machst, egal in welchem Spiel ist vorgesehen. Wenn das nicht vorgesehen ist handelt es sich um ein Bug.


----------



## bofferbrauer (26. April 2013)

Shona schrieb:


> Das ist der maximale Werte den ein unsigned Integer haben kann -> Integer (Datentyp) <- also der Datentyp in dem das Level (in diesem Sinne) gespeichert wird
> 
> Das wäre dann aber 16bit und die meisten Spiele heut zu tage werden doch in 32bit gemacht oder nicht?^^ Somit wäre der max Wert 4.294.967.295



Und das ganze dann bitte mit doppelter Erfehrungspunktzahl, die zum Levelup benötigt wird. Dazu bräuchte man dann bloß 2^4.294.967.295*10^3 (oftmals kommt der erste Levelup bei 1000 Erfahrungspunkten, jedenfalls in RPGs) auszurechnen um zu wissen wieviel Erfahrungspunkte man denn nun sammeln müsste... bzw wieviele Menschenleben lang man Zocken müsste um überhaupt so hoch kommen zu können 

Wer das resultat ausgerechnet hat darf dieses übrigens gerne posten


----------



## Gamer090 (26. April 2013)

Veriquitas schrieb:


> Deine Frage ist halt sehr undefiniert. Nehmen wir mal nen Rollenspiel du kloppst dich da durch ein Gebiet, gegen die selben Monster etc. Du hast 20 Monster gekillt und 2000 Erfahrungspunkte bekommen. Nicht weil der Entwickler bestimmt hat das jedes Monster 100 Erfahrungspunkte gewährt, sondern weil dieser das Ergebnis 2000 gewählt hat. 20x=2000, er hat in diesem Beispiel die 2000 gewählt weil das Gebiet nicht mehr hergeben soll. Er kennt das Gesammtergebnis und die 2000 werden davon abgezogen für die Maximalstufe.
> 
> Die Maximalstufe besteht aus 10000 Erfahrungspunkten. Das wäre für den Entwickler ein Anhaltspunkt zu sagen es gibt 5 Gebiete, 5*2000=10000. Er kann natürlich sagen 5 Gebiete sind zu wenig und modifiziert das ganze. 10000*2=20000 also hat er jetzt doppelt so viele Gebiete. Jetzt kann er natürlich die restlichen Monster setzen, wenn es überall die selben Monster sein sollen. Oder er sagt sich ich will ein paar stärkere Monster und modifiziert die Rechnung wieder. Das ist jetzt nen simples Beispiel und alleine durch Rechnungen könnte man das jetzt nicht fest machen.
> 
> ...


 
Ok ja das hilft schon etwas, Danke. 
Erfahrungspunkte werden in Spielen benötigt damit du bestimmte Items verwenden kannst was in RPG sehr üblich ist.
Bei anderen Genres von Spielen ist sowas eher im Hintergrund wenn es überhaupt vorhanden ist.



bofferbrauer schrieb:


> Und das ganze dann bitte mit doppelter Erfehrungspunktzahl, die zum Levelup benötigt wird. Dazu bräuchte man dann bloß 2^4.294.967.295*10^3 (oftmals kommt der erste Levelup bei 1000 Erfahrungspunkten, jedenfalls in RPGs) auszurechnen um zu wissen wieviel Erfahrungspunkte man denn nun sammeln müsste... bzw wieviele Menschenleben lang man Zocken müsste um überhaupt so hoch kommen zu können
> 
> Wer das resultat ausgerechnet hat darf dieses übrigens gerne posten


 
Kommt darauf an ob diese Menge EP als wenig oder viel zu betrachten sind, je nachdem was Monster so an EP hergeben. 

Nein ich will mir das Ergebniss nicht ausrechnen


----------



## Veriquitas (26. April 2013)

Gamer090 schrieb:


> Ok ja das hilft schon etwas, Danke.
> Erfahrungspunkte werden in Spielen benötigt damit du bestimmte Items verwenden kannst was in RPG sehr üblich ist.
> Bei anderen Genres von Spielen ist sowas eher im Hintergrund wenn es überhaupt vorhanden ist.


 
xD Ich glaub du hast das nicht richtig verstanden, mir persönlich ist schon klar wofür Erfahrungspunkte gut sind . Die Frage bezog sich auf den erfundenen Entwickler in dem Beispiel. Das ganze kann man noch komplexer ausführen was so ne Entwicklung angeht aber ohne spezifischen Grund ließen sich damit merehre Seiten an Text schreiben.


----------



## Gamer090 (26. April 2013)

Veriquitas schrieb:


> xD Ich glaub du hast das nicht richtig verstanden, mir persönlich ist schon klar wofür Erfahrungspunkte gut sind . Die Frage bezog sich auf den erfundenen Entwickler in dem Beispiel. Das ganze kann man noch komplexer ausführen was so ne Entwicklung angeht aber ohne spezifischen Grund ließen sich damit merehre Seiten an Text schreiben.


 
Na dann kannst ja ein Buch darüber schreiben  

Ich habe schon verstanden was du meinst, aber die maximal EP kommen auch irgendwo her die Frage ist nur wie die Entwickler auf eine Anzahl Punkte kommen.


----------



## Veriquitas (26. April 2013)

Diese nehmen sich irgendeine Zahl, also ein Ergebnis. Durch die Modifkationen ergibt sich daraus eine andere Zahl, das wäre dann das Gesammtergebnis. Es hat keinen bestimmten Grund warum das ausgerechnet die Zahl ist.

Das einzige worauf vieleicht geachtet wird ist das die Zahl vom Kopf her sofort registirert werden kann.


----------



## Gamer090 (26. April 2013)

Das heisst also mal als Beispiel, ich habe 10lvl und will für den Aufstieg auf lvl2 100 haben, dann würde ich es wohl so rechnen:

lvl 1 auf 2 = 100
lvl 2 auf 3 = 110
lvl 3 auf 4 = 121
lvl 4 auf 5 = 133
...
lvl 9 auf 10 = 215 gerundet 

Wenn jedes lvl 10% mehr als das vorherige haben soll die Frage ist nur noch wie viel die Monster an EP geben sollen aber jedes lvl soll ja länger dauern als das vorherige sonst wird es langweilig.


----------



## Veriquitas (26. April 2013)

Wenn du 10% mehr Erfahrung bei jeder Stufe einbüßen willst, muss dein Charakter bei Stufe 1 bei 100% anfangen. Das bedeutet dieser bekommt 100% Erfahrung ab stufe 2 nur 90% usw.. Dabei ist es egal wieviel Ep du pro Monster bekommst den Prozentual ist es immer statisch.


----------



## Gamer090 (26. April 2013)

Veriquitas schrieb:


> Wenn du 10% mehr Erfahrung bei jeder Stufe einbüßen willst, muss dein Charakter bei Stufe 1 bei 100% anfangen. Das bedeutet dieser bekommt 100% Erfahrung ab stufe 2 nur 90% usw.. Dabei ist es egal wieviel Ep du pro Monster bekommst den Prozentual ist es immer statisch.


 
Das heisst also wenn ein lvl1 Monster mir  10% EP gibt dann muss ein Stufe 2 Monster mir 9% geben von den 100% der Menge die benötigt werden um aufs nächste lvl zu kommen. richtig so?


----------



## Veriquitas (26. April 2013)

Richtig das Monster welches du mit Level 1 tötest gibt dir 100% Erfahrung, meinetwegen sind das 10 Erfahrungspunkte. Nach 10 Monstern erreichst du Stufe 2. Bis stufe 3 bekommst du nur noch 9 Erfahrungspunkte, dann 8 usw.


----------



## Gamer090 (26. April 2013)

Endlich ist das Rätsel gelöst  naja zumindest das Grundlegende. Dann muss natürlich alles noch angepasst werden im Spiel und das ist dann je nach Anzahl Level ein langer und mühseliger Weg. 

Ich will nicht wissen wie lange die Entwickler dabei waren die EP zu optimieren wenn ein Spiel 105 lvl hat 
Und ja ich spiele so ein MMO das aktuell 105lvl hat, zumindest auf den Internationalen Servern bei den Asiatischen Servern bei 150


----------



## Veriquitas (26. April 2013)

Es ist relativ gelöst.... Prozentual wird das häufig angewendet für Rollenspiele weil die Monster und der Held eigene Stufen haben. Es spielen halt zig Faktoren eine Rolle. Wenn du nen Entwickler fragst warum hat dies und jenes diesen Wert wird er dir das in den meisten Fällen nicht beantworten können. Es sei den es geht um Attributte oder ähnliches wo das logisch ohne Formel nachvollziehbar ist.


----------



## Shona (26. April 2013)

bofferbrauer schrieb:


> Und das ganze dann bitte mit doppelter Erfehrungspunktzahl, die zum Levelup benötigt wird. Dazu bräuchte man dann bloß 2^4.294.967.295*10^3 (oftmals kommt der erste Levelup bei 1000 Erfahrungspunkten, jedenfalls in RPGs) auszurechnen um zu wissen wieviel Erfahrungspunkte man denn nun sammeln müsste... bzw wieviele Menschenleben lang man Zocken müsste um überhaupt so hoch kommen zu können
> 
> Wer das resultat ausgerechnet hat darf dieses übrigens gerne posten


Moment...Du versucht gerade nicht das Ergebnis von 2^4.294.967.295*10^3 in ein 32bit Integer zu drücken das den max. Wert 4.294.967.295 hat? 
Also entweder sind meine Assembler/C/C++ Kentnisse mitlerweile so eingerostet das ich auf dem Schlau stehe oder du nimmst für das Ergebnis dann einen anderen Datentyp bzw. einen größeren was dann der BigInteger sein muss und somit das ganze auf _n_bit geschrieben ist (wer bitte würde sowas tun O.O). Da _n_ eine unendliche Zahl ist, ist es vollkommen egal wie das Ergebnis ist da nie jemand das maximal Level erreichen würde. 

Mal davon abgesehen würde sich der maximal Wert eines 32bit unsigned Integer bei einer doppelter Erfahrungspunktzahl nicht ändern  der maximal Wert (in dem Fall das Level) bleibt immer gleich egal wieviele Erfahrungspunkte man bekommt.


----------



## DarkMo (26. April 2013)

mir stellt sich hauptsächlich die frage, was genau du meinst ^^ wieso ist ein level bei 1000, 1500, 2250...xp erreicht? oder wieso gibts für mob A 100xp und für mob B 150? beides ist doch ganz simpel erklärt...

wieso ein mob (oder was auch immer) so und soviel xp liefert, wird ganz einfach vom spiel-designer festgelgt >< wo die levelgrenzen liegen ist genau das gleiche. irgendwer definiert die ganz einfach und gut ^^ die levelgrenzen (bei 60 oder so kanns auch aufwändig werden) kann man auch einfach berechnen lassen: man gibt nen startwert an und nen steigerungswert. startwert als bsp 1000 und steigerungswert 0,5 -> bei level0 brauchst du dann startwert + (lastLevelXP * steigerungswert) -> 1000 + (0 * 0,5) = 1000 (man selbst ist level 0 und will 1 erreichen). für level2 (man selbst ist noch level 1) wäre es dann also 1000 + (1000 * 0,5) = 1500. für level 3 dann 1000 + (1500 * 0,5) = 2250 usw usf...

die einzelnen mob-xp können sich natürlich auch aus irgendwas zusammen setzen. also ein stärke-buff noch zum bsp oder die mob art (spinne, humaniod, caster, melee...). mobLevelXP * mobKind * mobAttack * mobStrength. so könnte es für mobs der stufe 1 20xp geben. elite-bonus sei 3, spinnen bekommen nen 1,5er faktor, menschen nur 0,9. caster 1,2 und melees 0,9. ne melee lvl1 spinne elite würde also 20 * 1,5 * 0,9 * 3 = 81xp. man bräcuhte also 13 davon für level 1. ein normaler humanoider zauberer (caster) von level1 würde hingegen also 20 * 0,9 * 1,2 * 1 = 22xp (aufgerunded) geben. für den levelup bräuchte man also "gerademal" 46 davon.

so elite mobs sind selten und 46 mobs klatchen fürs erste level gefällt dem spieldesigner nich, also macht er aus den 20xp für lvl1 mobs halt 50 und schaut sich die ergebnisse nochmal an. ist er zufrieden, fertig ^^

wie gesagt, die frage an sich is irgendwie komisch, da alles einfach nur bestimmte werte in bestimmten kombinationen sind. kennt man ein spiel, kann man sich die kombinationen doch selber zusammen reimen >< bei wot zum bsp gibts xp für den ausgeteilten schaden welcher noch modifiziert wird durch die gegnerstufe (ist der gegner höher, bekommt man mehr, ist er kleiner weniger, für den selben schaden). man kann sich da die unterschiedlichsten zusammenhänge basteln und ausdenken. da sind der fantsie keine grenzen gesetzt. eine allgemeine antwort auf deine frage lässt sich also einfach nicht geben.


----------



## bofferbrauer (26. April 2013)

Shona schrieb:


> Moment...Du versucht gerade nicht das Ergebnis von 2^4.294.967.295*10^3 in ein 32bit Integer zu drücken das den max. Wert 4.294.967.295 hat?
> Also entweder sind meine Assembler/C/C++ Kentnisse mitlerweile so eingerostet das ich auf dem Schlau stehe oder du nimmst für das Ergebnis dann einen anderen Datentyp bzw. einen größeren was dann der BigInteger sein muss und somit das ganze auf _n_bit geschrieben ist (wer bitte würde sowas tun O.O). Da _n_ eine unendliche Zahl ist, ist es vollkommen egal wie das Ergebnis ist da nie jemand das maximal Level erreichen würde.
> 
> Mal davon abgesehen würde sich der maximal Wert eines 32bit unsigned Integer bei einer doppelter Erfahrungspunktzahl nicht ändern  der maximal Wert (in dem Fall das Level) bleibt immer gleich egal wieviele Erfahrungspunkte man bekommt.



Nein, ich wollte nur mal zum Ausdruck bringen, was für eine Wahnsinnszahl das ergeben würde, wenn ein Spiel ganze 4 Milliarden und ein paar zerquetsche Levels hätte. Und wie lange man da Powerleveln könnte . Jedenfalls bräuchte ein Spiel mit diesem Levelcap nicht zu befürchten, dass Spieler dieses nach kurzer Zeit erreichen 

Dass ein 32bit Integer das nicht darstellen könnte weiß ich auch so . Wie gesagt, war ein reines Gedankenspiel.


----------



## Gamer090 (26. April 2013)

DarkMo schrieb:


> mir stellt sich hauptsächlich die frage, was genau du meinst ^^ wieso ist ein level bei 1000, 1500, 2250...xp erreicht? oder wieso gibts für mob A 100xp und für mob B 150? beides ist doch ganz simpel erklärt...
> 
> wieso ein mob (oder was auch immer) so und soviel xp liefert, wird ganz einfach vom spiel-designer festgelgt >< wo die levelgrenzen liegen ist genau das gleiche. irgendwer definiert die ganz einfach und gut ^^ die levelgrenzen (bei 60 oder so kanns auch aufwändig werden) kann man auch einfach berechnen lassen: man gibt nen startwert an und nen steigerungswert. startwert als bsp 1000 und steigerungswert 0,5 -> bei level0 brauchst du dann startwert + (lastLevelXP * steigerungswert) -> 1000 + (0 * 0,5) = 1000 (man selbst ist level 0 und will 1 erreichen). für level2 (man selbst ist noch level 1) wäre es dann also 1000 + (1000 * 0,5) = 1500. für level 3 dann 1000 + (1500 * 0,5) = 2250 usw usf...
> 
> ...


 
Du kennst dich aber bei sowas gut aus  klar ist es bei jedem Spiel anders aber wenn ich mir die EP Tabelle bei Spielen anschaue werde ich davon nicht schlau.
Sieh dir mal diese an und vielleicht findest du da den Wert mit dem gerechnet wurde, ich habe den nicht gefunden. Musst ganz runter scrollen ist die Riesige Tabelle mit den 105 lvl


----------



## DarkMo (26. April 2013)

nuja, hier wird wohl von hinten her angefangen. die glatten 1,75mrd sehen mir so aus. also die haben halt das max angegeben, was man brauch. jetzt könnte man als ersten schritt mal einfach mim 3satz anfangen ^^

100 zu 1.750.000.000 wie  was (x) zu 1.339.080.000

-> 100 / 1.750.000.000 = x / 1.339.080.000
* 1,339.080.000
-> x = 100 * 1.339.080.000 / 1.750.000.000
x = 76,52% in etwa.

jetz nochmal mit der nächsten stufe:
-> x = 100 * 535,632,000  / 1.339.080.000
x = 40%

und nochmal mit der nächsten stufe:
-> x = 100 * 267,816,000  / 535,632,000
x = 50%

das wars also schonmal nich ^^ aber man kann jetzt vieles ausprobieren. zum bsp die absolute steigerung vergleichen (also nich in prozent, sondern in xp direkt). vllt ergibt sich hier ein system. und ganz vllt gibts auch garkein system und jemand hats per hand gerechnet - pi mal daumen ^^ oder man hat sich ne kurvenfunktion gebastelt und liest daran die steigerungswerte ab... es gibt viele möglichkeiten. wie gesagt, da gibts keine feste regel, nur die freie kreativität  und 76-40-50 sieht generell sehr verworren aus ^^ vllt gibts wirklich kein ordentliches system und alles ist wirklich frei schnauzze gebastelt


----------



## Gamer090 (26. April 2013)

DarkMo schrieb:


> nuja, hier wird wohl von hinten her angefangen. die glatten 1,75mrd sehen mir so aus. also die haben halt das max angegeben, was man brauch. jetzt könnte man als ersten schritt mal einfach mim 3satz anfangen ^^
> 
> 100 zu 1.750.000.000 wie  was (x) zu 1.339.080.000
> 
> ...


 
Auch wenn da mit den EP etwas erfunden wurde, glaub mir manche brauchen 1 Jahr oder mehr um auf 100 zu kommen und von 100 auf 105 dauert so lange das es fast keiner macht.


----------

