Jump to content

Why is it that Runescape has a 200mil xp max limit?


Everyonedies

Recommended Posts

  • Replies 67
  • Created
  • Last Reply

Top Posters In This Topic

  • 1 month later...
Regular skill levels are in short signed variables, going from -127 to 127. The thing is, if they were to accidently put the exp to next level and someone had about 214m exp or w/e (level 127), it would try to calculate exp to level 128 and cause it to do something weird and possibly crazy, depending how its coded.

 

 

 

200m exp is level 126, 14m short of 127. And the above is why this is chosen.

 

 

 

It also makes it so that the leading overall can't just do cooking, fletching, thieving, or any of those fast, cheap skills to get the most exp. They have to do other skills to get high overall experience.

 

 

 

No, a short is a 16-bit integer, e.g. -32,768 to 32,767 signed or 0 to 65,535 unsigned. They use a byte (signed 8-bit) which can store values from -128 to 127. Java does not have unsigned types (except char, which is an unsigned 16-bit integer for dealing with Unicode characters).

 

 

 

Also, the formula for the value range of an n-bit integer is:

 

 

 

Signed: -(2^(n-1)) to (2^(n-1))-1

Unsigned: 0 to (2^n)-1

 

 

 

A signed 8-bit integer would be -128 to 127, not -127 to 127.

 

 

 

Everyone who has been saying 2^32 - 1 is correct. 2^31 (the highest positive number permitted in Jagex's exp code - yes, they do have negatives on the other end too) is 2,147,483,647. Because they must deal with tenths of experience, the exp limit is in fact 214,748,364.7 experience. They simply decided to have a nice round number rather than dealing with an amount would consider obscure. This was explained by a jmod somewhere some very long time ago.

 

 

 

Yay.

 

I remember reading about that. That would mean that it's stored in a double.

 

 

 

Anyway, to those that are saying that the max XP would be too astronomical: Consider that Jagex hasn't stopped releasing new skills...

 

 

 

(2^31)-1 for an int, actually.

 

 

 

Also, the exp limit is not 214,748,364.7, because a float can store values up to 3.40282346638528860e+38 (340282346638528860000000000000000000000)... you just lose more and more precision.

 

 

 

Also floats are 32-bit, and doubles are 64-bit... so no, it wouldn't mean it's stored in a double.

  • Never trust anyone. You are always alone, and betrayal is inevitable.
  • Nothing is safe from the jaws of the decompiler.

Link to comment
Share on other sites

Everyone who has been saying 2^32 - 1 is correct. 2^31 (the highest positive number permitted in Jagex's exp code - yes, they do have negatives on the other end too) is 2,147,483,647. Because they must deal with tenths of experience, the exp limit is in fact 214,748,364.7 experience. They simply decided to have a nice round number rather than dealing with an amount would consider obscure. This was explained by a jmod somewhere some very long time ago.

 

 

 

Yay.

 

So... How do they deal with thirds of xp in some cases?

Uula.png
Link to comment
Share on other sites

Lol.. I wonder when somebody will get all of their levels to 200mil exp. They probably be invited to work @ Jagex for their extreme dedication to the game ;)

 

 

 

Off-topic-ish: Does anyone else think that Combat level 138 is an ugly number? :-# :P

signature2inverted.png

[hide=Stats]nytestryke24.gif

[109 combat with Summoning ;)][/hide]

Link to comment
Share on other sites

i think it has something to do with how slow some skills are trained. i hate that hp doesn't go up at least a littler faster. setting it at some 1.33749562.../point of damage is ridiculous. i do know the number limitations of java and the max number in java is the money cap on runescape. but just think of how long it would take to get the amount of hp exp you have up to 999,999,999. it would take at least 10 years if you were to play nonstop without sleep. if not longer. no1 wants to spend that long playing a game, except me. but im going into the process of making video games cause thats what i know best. I couldn't have a life even if I wanted to cuz everybody, including all of my family which includes even my own brother and sister, they all pick on me. the only people who don't pick on me are the game geeks at school cuz they don't want to get killed 50 times in halo in under 10 minutes. i've been picked on since the day i was born. I'm lucky to I found a job to get me through college. my parents payed my gas money when i was in high school cuz the whole town hated looking at me and my glasses and my short figure.

Zaderzun.png

Zaderzun.png

Zaderzun.png

Zaderzun.png

Link to comment
Share on other sites

For all of you that have said "the max number in java is 2.14... billion" - you're incorrect.

 

If you want an interger value bigger than that, there's something called a long. It goes from -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807.

 

 

 

Since xp isn't necessarily integer values, Jagex could have used floats or doubles instead. Those numbers get freaking huge too, even bigger than a long. They're not very accurate though.

 

 

 

Also - if you want an integer value that's BIGGER! than that, there's a class called a Biginteger. It allows for absolutely MASSIVE numbers, I don't think there is a limit.

 

So, capping the amount of xp one can have at 200mil is something Jagex did, which they didn't have to do.

99 dungeoneering achieved, thanks to everyone that celebrated with me!

 

♪♪ Don't interrupt me as I struggle to complete this thought
Have some respect for someone more forgetful than yourself ♪♪

♪♪ And I'm not done
And I won't be till my head falls off ♪♪

Link to comment
Share on other sites

So... How do they deal with thirds of xp in some cases?
Rounding, i would guess.

 

 

 

 

 

Anyway, to the people who are saying that some guy might reach 2.14b overall exp and break the game etc, consider this: The overall exp isnt part of any skill or anything, it is just calculated from the exp in all of your skills. Hell, its not even in the game so for all we know its just a number the highscore generates and stores in a database. Im sure the highscore has nothing to do with java so none of the games limitiations apply to it. Skill exp might be capped at 200m because of the 1/10th exp thing explained before but overall exp is just a number and nothing more.

Link to comment
Share on other sites

For all of you that have said "the max number in java is 2.14... billion" - you're incorrect.

 

If you want an interger value bigger than that, there's something called a long. It goes from -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807.

 

 

 

Since xp isn't necessarily integer values, Jagex could have used floats or doubles instead. Those numbers get freaking huge too, even bigger than a long. They're not very accurate though.

 

 

 

Also - if you want an integer value that's BIGGER! than that, there's a class called a Biginteger. It allows for absolutely MASSIVE numbers, I don't think there is a limit.

 

So, capping the amount of xp one can have at 200mil is something Jagex did, which they didn't have to do.

 

 

 

Thank you for saving me a post. And of course BigInteger has a limit... it's just super huge. ;)

  • Never trust anyone. You are always alone, and betrayal is inevitable.
  • Nothing is safe from the jaws of the decompiler.

Link to comment
Share on other sites

i think it should of stopped at 99 and you cant get anymore experience and then made more end game content.

 

 

 

I don't agree that the experience should stop at 99, but I do agree that more end game content should be created before we worry about increasing the level cap.

dgs5.jpg
To put it bluntly, [bleep] off.

Link to comment
Share on other sites

For all of you that have said "the max number in java is 2.14... billion" - you're incorrect.

 

If you want an interger value bigger than that, there's something called a long. It goes from -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807.

 

 

 

Since xp isn't necessarily integer values, Jagex could have used floats or doubles instead. Those numbers get freaking huge too, even bigger than a long. They're not very accurate though.

 

 

 

Also - if you want an integer value that's BIGGER! than that, there's a class called a Biginteger. It allows for absolutely MASSIVE numbers, I don't think there is a limit.

 

So, capping the amount of xp one can have at 200mil is something Jagex did, which they didn't have to do.

 

I think you know the chracter long needs more memory space, to be exact the database gets doubled in size. Maybe, it's too huge for Jagex to store all these values in long. I don't really know how much effort they have to put in to convert all these values. Perhaps they are already planning to change it.

[404] Signature not found.

Link to comment
Share on other sites

I think you know the chracter long needs more memory space, to be exact the database gets doubled in size. Maybe, it's too huge for Jagex to store all these values in long. I don't really know how much effort they have to put in to convert all these values. Perhaps they are already planning to change it.

 

 

 

I doubt it; I figure that your bank space is a huge array of shorts. There's probably many more variables included in the game. Plus, we're talking bits here. There may be 100 million accounts, but 32 * 100,000,000 / 8 = <1 gigabyte. And Jagex saves tons of other information about accounts, figure that all of those are strings or character arrays, which are much bigger. Doubling one facet of a character's profile does not double the size of the entire profile.

 

 

 

I suppose my point is that the amount of xp you could have does not need to be capped. When Jagex designed the game they just went with the standard variable size, instead of something else. At that time though, there weren't enough players to justify memory as an issue. Besides, they're probably like, who the hell is going to get 200M xp anyways? And then they got their answer. Now they probably won't change it, because it'll be unfair to those (<50) people who have already maxed out, and have "lost xp" because of it.

99 dungeoneering achieved, thanks to everyone that celebrated with me!

 

♪♪ Don't interrupt me as I struggle to complete this thought
Have some respect for someone more forgetful than yourself ♪♪

♪♪ And I'm not done
And I won't be till my head falls off ♪♪

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.