Jump to content

Is RuneScape's technology obsolete?


Jard_Y_Dooku

Recommended Posts

When using a chrome launcher, the browser only uses about 30MB, even I can miss that much although I only have 1 GB RAM. The only visible difference with a native client would be the title bar, but the chrome one doesn't look that bad either.

 

As for the graphics, my lowsy computer still manages to run Runescape HD in full screen with about 39% CPU, so I still have quite some processing power left. I don't see the need for crazy optimizations, I'd rather have them focus on content.

Link to comment
Share on other sites

  • Replies 68
  • Created
  • Last Reply

Top Posters In This Topic

When using a chrome launcher, the browser only uses about 30MB, even I can miss that much although I only have 1 GB RAM. The only visible difference with a native client would be the title bar, but the chrome one doesn't look that bad either.

 

As for the graphics, my lowsy computer still manages to run Runescape HD in full screen with about 39% CPU, so I still have quite some processing power left. I don't see the need for crazy optimizations, I'd rather have them focus on content.

 

The browser may only be using 30MB of memory, but what about java?

wii_wheaton.png

[software Engineer] -

[Ability Bar Suggestion] - [Gaming Enthusiast]

Link to comment
Share on other sites

Mod MMG changed Jagex into Just About the Gaming Experience (http://www.jagex.com/coporate), so moving away from Java is a possibility.

 

Where did you read this? I don't see it. I call bs.

Jagex always caters to low end high mobility games that suite the largest variety of people.

I would look for them to make runescape work on those internet capable mobile phone/computer things.

But, thats as exotic as it will get.

I don't think you'll ever see RS come in dvds you buy at the store and need nvidia 1gb+ graphic gards.

Exclusive Legacy Mode Player

 

Golvellius.png


He just successfully trolled you with "courtesy" and managed to get a reaction out of you. Lol

Link to comment
Share on other sites

Mod MMG changed Jagex into Just About the Gaming Experience (http://www.jagex.com/coporate), so moving away from Java is a possibility.

 

Where did you read this? I don't see it. I call bs.

Jagex always caters to low end high mobility games that suite the largest variety of people.

I would look for them to make runescape work on those internet capable mobile phone/computer things.

But, thats as exotic as it will get.

I don't think you'll ever see RS come in dvds you buy at the store and need nvidia 1gb+ graphic gards.

They changed it ever since WoL, since it's not java

Link to comment
Share on other sites

Mod MMG changed Jagex into Just About the Gaming Experience (http://www.jagex.com/coporate), so moving away from Java is a possibility.

 

Where did you read this? I don't see it. I call bs.

Jagex always caters to low end high mobility games that suite the largest variety of people.

I would look for them to make runescape work on those internet capable mobile phone/computer things.

But, thats as exotic as it will get.

I don't think you'll ever see RS come in dvds you buy at the store and need nvidia 1gb+ graphic gards.

They changed it ever since WoL, since it's not java

 

Unless I'm mistaken, WoL wasn't made by Jagex, they just sponsored it.

 

Also I can't imagine Runescape going of of browsers. They have a near monopoly as far as "browser-based+ MMO's go. In fact the fact that it's browser based and so easily accessible is one point that they make sure to keep at the forefront. That's not to say I wouldn't love to see runescape get a missive update into c++ as it would surely open up countless new avenues. However I think it's fine as is. It's carved out its own niche in the gaming world that absolutely no one can compete with.

 

Runescape's accessibility thanks to java is also a huge boon. You can literally walk into a public library and play, no muss no fuss. If it were played through a downloaded client you couldn't do that. I can't imagine the people in the library would be ok with you walking in and downloading things onto public computers.

[hide]

Damnit, I tripped over Magzar's half inflated blow-up doll and hurt myself. I wish he wouldn't leave that thing lying around. -.-

[/hide]

Link to comment
Share on other sites

I always find it funny when I launch a game, see it running extremely slow so I go and check processes and see Java using 60%+ of my CPU plus the 400MB+ of RAM just sitting on the login screen. While I couldn't care less about the RAM usage, the CPU usage is just stupid. While my CPU is probably the most outdated part of my PC (Being a 2.33Ghz Dual Core), it has no issue dealing with any of the AAA games out there on the highest settings.

 

Lets do a bit of a comparison, back in '04 the requirements for Runescape on the low detail setting was either 350Mhz or 400Mhz and the high detail needing 450Mhz (Along with the other things required, I don't recall exactly what it required beyond CPU requirements.) Now at that time, I had a 400Mhz CPU along with a really odd amount of RAM (64+64+256) and a 64Mb Graphics card (Which was an extremely low end system of the time). I could run it on high detail with no issues at all apart from not being able to log into World 1 or 2 on those setting because of the extreme amount of people. But really, considering I could run High Detail without the minimum requirements, it was perfect, the level of graphics felt acceptable for what sort of PC I could use it on.

 

While now it's the opposite, as I said before I'm using 60%+ of my CPU on the login screen and I feel that the graphics aren't anywhere near where they should be for the chunk of performance that it's using. It really seems that Runescape has overstayed it's welcome on Java and needs to move onto something else. Java works for some things, not for others.

Link to comment
Share on other sites

As much as you hate java, it isn't going away. Java is becoming much more prevalent for... wait for it.... everything.

That's right. From bluray players to cable boxes, to hand held devices such as phones. Do you have any idea how much of a pain in the [wagon] it is to have to compile something 1000s of times for the slightest variation of devices?

Just because Java is used in a lot of places doesn't make it good. (I personally feel its mediocre - very middle of the road. Would never consider it if it weren't that it can go on almost any platform)

SOS_100x100.png

Help drive change Canada

Link to comment
Share on other sites

As much as you hate java, it isn't going away. Java is becoming much more prevalent for... wait for it.... everything.

That's right. From bluray players to cable boxes, to hand held devices such as phones. Do you have any idea how much of a pain in the [wagon] it is to have to compile something 1000s of times for the slightest variation of devices?

Just because Java is used in a lot of places doesn't make it good. (I personally feel its mediocre - very middle of the road. Would never consider it if it weren't that it can go on almost any platform)

 

Well, of course. That's the point of Java in the first place. I wouldn't use Office if I couldn't open documents on it.

~ W ~

 

sigzi.png

Link to comment
Share on other sites

I reckon that Jagex's technology is pretty cutting edge and that we won't see what it's truly capable of until Stellar Dawn is released.

 

And yes, they did re-brand Jagex to mean "Just About the Gaming Experience", probably because they've moved into publishing non-Java games and want to be flexible for the future (which isn't to say they are abandoning Java, just that they aren't limiting themselves to it).

ren_tbv450.png

Mechscape World (the original MechScape fansite)

Link to comment
Share on other sites

One reason why RS works slowly (about 10 FPS at GE) is that it isn't multithreaded, meaning that it can only use one CPU core. For example, if your computer has a quadcore processor, only 25% of its power is available to RS.

Link to comment
Share on other sites

As much as you hate java, it isn't going away. Java is becoming much more prevalent for... wait for it.... everything.

That's right. From bluray players to cable boxes, to hand held devices such as phones. Do you have any idea how much of a pain in the [wagon] it is to have to compile something 1000s of times for the slightest variation of devices?

Just because Java is used in a lot of places doesn't make it good. (I personally feel its mediocre - very middle of the road. Would never consider it if it weren't that it can go on almost any platform)

No, it makes it incredible.

 

I write java code on a windows machine. I compile it to bytecode, jar it up.

I'm then able to put that on a thumb drive, go over to any distribution of Linux, or a Mac, or a Solaris, and run it getting the exact same results as the windows machines (without needing the source code).

 

I can also write an Xlet for my bluray player, burn it to a DVD, and run it on any brand bluray player without having to worry about the inner architecture. If I like what I see on my samsung, I can give the disc to a friend and let them play it on their sony.

Same with mobile phones - it doesn't matter the memory or processor instruction set, if its java, and the phone has a virtual machine, it'll run.

You can't do that with c++.

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

I'm going to disagree with this premise; Java might not be the most ideal choice of language for making an MMO, but its flexibility allows it to be enjoyed no matter where you are, or what machine [made within the last four or so years] you're on.

 

I get that you don't like Java very much, and that you feel that latency would be greatly reduced if the code were ported to C++. But how much do we know about the actual game engine and its disambiguation between server and client?

 

The way I understand it, the client is pretty dumb - it doesn't do much except receive and transfer data between it and the server. The rendering instructions are also passed through, and that much is done on your local machine. It's my belief that the latency comes in the client-server communication pipeline.

 

Of course, this is me making suppositories. I don't know much about how the client/server interacts, but it would make sense that the server does most of the heavy lifting, and not the client.

 

Then there's the argument about how it doesn't feel smooth or run as elegantly as the other popular MMOs out there. My question is, does it have to? For a game that can be run anywhere, even on a 56K line (albeit painfully), RuneScape is pretty damn elegant, and its looks are getting steadily closer to/surprassing some of the major MMOs.

 

Lastly, before you shoot down my argument about the flexibility of Java (as you have before, it seems) - the only reason that I'm paying to this day to play RuneScape is because it still runs elegantly with Linux - I'd go as far as saying that the only 64-bit Java client that's on RS is with Linux right now, but I'd have to test that again. I shouldn't have to switch to Windows to play RuneScape. It wouldn't be fair to the people that chose an alternative OS to do their work/secure their documents, and wanted to let off a bit of steam.

 

And you linux / mac fanboys that play runescape - Do you honestly think Jagex would spend time supporting 10% of the computer population if they had written their code in C++ originally?

 

 

 

Haha, hell no we wouldn't have gotten support fror Linux/Mac if the game were written in C++. To be fair though, a lot of the libraries are packaged as C++, namely libjaggl.

 

Also, the fact that JaGEx stands for Java Game Experts - you really think they'll move away from java?

 

The thing about this is that they don't have to stick with Java on everything they do. They can mix and match to suit their needs, but it seems that their backend/server will at least remain Java-based. I say this only because of the plans to move to other consoles (which, thanks the console manufacturers, have stalled...).

Linux User/Enthusiast Full-Stack Software Engineer | Stack Overflow Member | GIMP User
s1L0U.jpg
...Alright, the Elf City update lured me back to RS over a year ago.

Link to comment
Share on other sites

I think the graphics are alright. We still pretty much look like dolls though, I would like to see more realistic faces and bodies (not just in the chat interface, but physically) look at the fighter torso, it's like a fatsuit with painted abs. Also I've noticed almost everyone lags more these days, I know it's not just me. Something should be done about it, these updates are gonna kill us one day. Either they need to improve their game engine and get more data space for updates and content, or something, otherwise we'll all start disconnecting and ragequitting.

 

thing is, even if the looks of our characters are changed, that won't change turn-based combat where you hit the opponent in the exact same way over and over again. No graphics can change that, unless a massive amount of new animations are created, and adapt to hits being blocked, strikes to different body parts etc. etc.

 

It'll look terrible, even if we have photographic realism, due to the non-direct combat of runescape (no asdw controlling, no strike area or type control). a game engine, or gameserver update is very necessary for reducing lag, not for better graphics.

 

The is a lot more to this game than combat, so I don't see how totally un-runescaping runescape combat with asdw control, strike areas, type control, etc would make the game look any better. If what you want in a game is fancy combat controls, you should find some other game to get your fix of that. I've always thought runescape combat was just fine. I like it plain, simple, and straight forward the way it is.

 

Personally, every runescape item could be replaced with a brown paper sack, and I would be fine with it. I play for how it plays, not what it looks like. But one thing I'm emphatic about is to leave in a low graphics option for people who don't have the internet or the computer to play a "fancy" game. As long as they leave a safe mode and I can still play it on my thrown together peice of junk computer, I'm down with what ever it looks lilke.

 

"People who don't have the internet"? A C++ version of the client, with the main goal of better performance and the additional capability of better graphics, will not have any impact on network performance. Higher quality graphics don't put extra strain on your Internet connection. Where do you guys keep getting this?

 

As much as you hate java, it isn't going away. Java is becoming much more prevalent for... wait for it.... everything.

That's right. From bluray players to cable boxes, to hand held devices such as phones. Do you have any idea how much of a pain in the [wagon] it is to have to compile something 1000s of times for the slightest variation of devices?

 

And you linux / mac fanboys that play runescape - Do you honestly think Jagex would spend time supporting 10% of the computer population if they had written their code in C++ originally?

 

Its also the reason that game counsels were so popular from the 1980s until 2000s; there were limited platforms to develop for (2 or 3 at most) and a large user base that were willing to shell out $50 for even half-baked games.

 

 

 

 

Also, the fact that JaGEx stands for Java Game Experts - you really think they'll move away from java?

 

On the contrary, Java is becoming less prevalent, something many technology professionals agree on. Additionally, just because something is widely used does not make it good. How many here would agree Internet Explorer is the best browser, for example?

 

Secondly, compiling is not difficult. This can be easily automated. Furthermore, "thousands" of devices? You're off by a couple orders of magnitude. No software program on the planet is available for "thousands" of different devices. Plus, Sun/Oracle supplies the JRE for a grand total four platforms: Windows, Mac OS X, Linux and Solaris. Anything else you're going to have to compile your own Java... kind of defeats your point.

 

Do I think Jagex would spend time supporting Mac OS X and Linux if RuneScape were in C++? I can't determine that. Probably not, and if they didn't, chances are RuneScape would be a better quality game today because they would have used technologies like DirectX rather than a pure software renderer which was totally horrible. With the right tools and libraries, cross-platform compatibility is not difficult. I write C++ software for no less than 3 platforms and have only minor issues with it, issues which I would still have in Java because it does not support a cross-platform way to do what I need out of the box - such as enumerating the windows in a user session. There will always be a need for native code, like C++, because some things simply can't be done with pure Java/.NET/whatever.

 

Oh, and back to your "compiling things for thousands of devices"... what do you think Java's written in? ;) C++ is and always will be a more portable language, because it doesn't require any special software to run.

 

And it doesn't stand for Java Gaming Experts anymore. Look at the title bar on Jagex's corporate website: http://www.jagex.com/corporate/

 

RS is already partially written in C++. Things like HD mode or the "new" SD/software mode wouldn't be possible in pure Java.

 

Go to the Jagex cache folder and you'll see some DLL files like jaggl.dll.

 

And I agree that Jagex should take RS out of browser. Java isn't restricted to browser applets.

 

Good point, although some of those are provided by JOGL (http://jogamp.org/jogl/www/), Jagex didn't write them themselves.

 

Mod MMG changed Jagex into Just About the Gaming Experience (http://www.jagex.com/coporate), so moving away from Java is a possibility.

 

Where did you read this? I don't see it. I call bs.

Jagex always caters to low end high mobility games that suite the largest variety of people.

I would look for them to make runescape work on those internet capable mobile phone/computer things.

But, thats as exotic as it will get.

I don't think you'll ever see RS come in dvds you buy at the store and need nvidia 1gb+ graphic gards.

 

http://www.jagex.com/corporate/

 

Not BS. Look at the title bar.

 

Mod MMG changed Jagex into Just About the Gaming Experience (http://www.jagex.com/coporate), so moving away from Java is a possibility.

 

Where did you read this? I don't see it. I call bs.

Jagex always caters to low end high mobility games that suite the largest variety of people.

I would look for them to make runescape work on those internet capable mobile phone/computer things.

But, thats as exotic as it will get.

I don't think you'll ever see RS come in dvds you buy at the store and need nvidia 1gb+ graphic gards.

They changed it ever since WoL, since it's not java

 

Unless I'm mistaken, WoL wasn't made by Jagex, they just sponsored it.

 

Also I can't imagine Runescape going of of browsers. They have a near monopoly as far as "browser-based+ MMO's go. In fact the fact that it's browser based and so easily accessible is one point that they make sure to keep at the forefront. That's not to say I wouldn't love to see runescape get a missive update into c++ as it would surely open up countless new avenues. However I think it's fine as is. It's carved out its own niche in the gaming world that absolutely no one can compete with.

 

Runescape's accessibility thanks to java is also a huge boon. You can literally walk into a public library and play, no muss no fuss. If it were played through a downloaded client you couldn't do that. I can't imagine the people in the library would be ok with you walking in and downloading things onto public computers.

 

I don't see how browser-based MMOs is really a market. People want games to play, they generally don't care how they are implemented. And if Google's NaCl becomes popular throughout the next few years, they would be blown out of the water... C++ games running in browsers. Although I'm not sure running games in browsers is such a good idea. They are so different from other types of applications.

 

That is, if the public library has Java installed. That means someone actually has to go and install Java on the computers. If it were played through a downloaded client, chances are you could still do that. Plus, a game is a game. I don't see how they'd know the difference. Resize Internet Explorer behind the RuneScape window and they'd never know the difference. This really is a horrid argument and I hate hearing it. Things get downloaded whether it's being played in a browser or out. You're still downloading the client, and you're still downloading all the cache files. Also, you are using more bandwidth by downloading the game every single time you play it. ;) Downloads occur either way. Stop using this argument.

 

I always find it funny when I launch a game, see it running extremely slow so I go and check processes and see Java using 60%+ of my CPU plus the 400MB+ of RAM just sitting on the login screen. While I couldn't care less about the RAM usage, the CPU usage is just stupid. While my CPU is probably the most outdated part of my PC (Being a 2.33Ghz Dual Core), it has no issue dealing with any of the AAA games out there on the highest settings.

 

Lets do a bit of a comparison, back in '04 the requirements for Runescape on the low detail setting was either 350Mhz or 400Mhz and the high detail needing 450Mhz (Along with the other things required, I don't recall exactly what it required beyond CPU requirements.) Now at that time, I had a 400Mhz CPU along with a really odd amount of RAM (64+64+256) and a 64Mb Graphics card (Which was an extremely low end system of the time). I could run it on high detail with no issues at all apart from not being able to log into World 1 or 2 on those setting because of the extreme amount of people. But really, considering I could run High Detail without the minimum requirements, it was perfect, the level of graphics felt acceptable for what sort of PC I could use it on.

 

While now it's the opposite, as I said before I'm using 60%+ of my CPU on the login screen and I feel that the graphics aren't anywhere near where they should be for the chunk of performance that it's using. It really seems that Runescape has overstayed it's welcome on Java and needs to move onto something else. Java works for some things, not for others.

 

You are quite correct. RuneScape's performance has degraded over time, I notice. It used to run smoothly, now it runs like a stop-motion animation or whatever you call it. It really does seem that Runescape has overstayed it's welcome on Java. You make an excellent point saying "it has no issue dealing with any of the AAA games out there on the highest settings". Hmm, I wonder how those game were programmed...

 

As much as you hate java, it isn't going away. Java is becoming much more prevalent for... wait for it.... everything.

That's right. From bluray players to cable boxes, to hand held devices such as phones. Do you have any idea how much of a pain in the [wagon] it is to have to compile something 1000s of times for the slightest variation of devices?

Just because Java is used in a lot of places doesn't make it good. (I personally feel its mediocre - very middle of the road. Would never consider it if it weren't that it can go on almost any platform)

 

:thumbup:

 

As much as you hate java, it isn't going away. Java is becoming much more prevalent for... wait for it.... everything.

That's right. From bluray players to cable boxes, to hand held devices such as phones. Do you have any idea how much of a pain in the [wagon] it is to have to compile something 1000s of times for the slightest variation of devices?

Just because Java is used in a lot of places doesn't make it good. (I personally feel its mediocre - very middle of the road. Would never consider it if it weren't that it can go on almost any platform)

No, it makes it incredible.

 

I write java code on a windows machine. I compile it to bytecode, jar it up.

I'm then able to put that on a thumb drive, go over to any distribution of Linux, or a Mac, or a Solaris, and run it getting the exact same results as the windows machines (without needing the source code).

 

I can also write an Xlet for my bluray player, burn it to a DVD, and run it on any brand bluray player without having to worry about the inner architecture. If I like what I see on my samsung, I can give the disc to a friend and let them play it on their sony.

Same with mobile phones - it doesn't matter the memory or processor instruction set, if its java, and the phone has a virtual machine, it'll run.

You can't do that with c++.

 

Uh-huh. Because it's soooooo much effort to compile it 3 more times. And you only get the "exact same results" if you actually wrote the code correctly. There are some 'gotchas' which will cause certain Java code to run differently depending on which platform it's being run.

 

I guess Java might be a good language for people who write fairly simple programs that don't have that much functionality or performance demands.

 

Secondly, the main reason these embedded devices force Java upon you is for security reasons - there's certain things they don't want you doing. It's easier to control the execution of Java code because it's run by a virtual machine rather than directly by the CPU. Desktop Java is not compatible with Blackberry Java is not compatible with Android Java is not compatible with any other Java. So much for your "works on everything". I have not used Xlets before and am not familiar with Blueray players so I can't comment on that part.

 

I'm guessing you don't have that much experience in software design. Your only argument for Java was its ability to be run on a limited selection of different platforms without needing recompilation. That just sounds like you are being lazy... over a fairly trivial step in the development process. If you really wanted to make an argument for Java, try advocating some things such as garbage collection, fixed-size types, exceptions, first-class threads, the lack of pointers, the benefits of NullPointerException, never having initialized memory. I won't disagree with you on some of them.

 

I'm going to disagree with this premise; Java might not be the most ideal choice of language for making an MMO, but its flexibility allows it to be enjoyed no matter where you are, or what machine [made within the last four or so years] you're on.

 

I get that you don't like Java very much, and that you feel that latency would be greatly reduced if the code were ported to C++. But how much do we know about the actual game engine and its disambiguation between server and client?

 

The way I understand it, the client is pretty dumb - it doesn't do much except receive and transfer data between it and the server. The rendering instructions are also passed through, and that much is done on your local machine. It's my belief that the latency comes in the client-server communication pipeline.

 

Of course, this is me making suppositories. I don't know much about how the client/server interacts, but it would make sense that the server does most of the heavy lifting, and not the client.

 

Then there's the argument about how it doesn't feel smooth or run as elegantly as the other popular MMOs out there. My question is, does it have to? For a game that can be run anywhere, even on a 56K line (albeit painfully), RuneScape is pretty damn elegant, and its looks are getting steadily closer to/surprassing some of the major MMOs.

 

Lastly, before you shoot down my argument about the flexibility of Java (as you have before, it seems) - the only reason that I'm paying to this day to play RuneScape is because it still runs elegantly with Linux - I'd go as far as saying that the only 64-bit Java client that's on RS is with Linux right now, but I'd have to test that again. I shouldn't have to switch to Windows to play RuneScape. It wouldn't be fair to the people that chose an alternative OS to do their work/secure their documents, and wanted to let off a bit of steam.

 

And you linux / mac fanboys that play runescape - Do you honestly think Jagex would spend time supporting 10% of the computer population if they had written their code in C++ originally?

 

 

 

Haha, hell no we wouldn't have gotten support fror Linux/Mac if the game were written in C++. To be fair though, a lot of the libraries are packaged as C++, namely libjaggl.

 

Also, the fact that JaGEx stands for Java Game Experts - you really think they'll move away from java?

 

The thing about this is that they don't have to stick with Java on everything they do. They can mix and match to suit their needs, but it seems that their backend/server will at least remain Java-based. I say this only because of the plans to move to other consoles (which, thanks the console manufacturers, have stalled...).

 

The perfect post to end with a response to.

 

The best way to develop software is not to fight over what language is best for everything, but to use whatever language and tools are best for the job. Using multiple languages is often a good solution for some problems. For example, let's say I want to write a unit conversion app and have it run on as many platforms as possible.

 

I could write it in C++/Qt for Windows, Mac OS X, Linux/X11 (and similar systems), Embedded Linux, Windows CE, Symbian, Maemo, Objective-C for iPhone and iPad, Blackberry Java for Blackberry, and Android Java for Android. Then again I guess that's really the minimum number of languages you can use... lol, so maybe it's not a good example but the point is you have to mix and match sometimes depending on what you want to do.

  • 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 might reply to some posts that are a little old, but while we're at it: What lag? The client doesn't lag and I don't have a delay when I click.

 

Also, I find Rs to be quite advanced on graphics, it's better than some C++ games I know.

Link to comment
Share on other sites

The best way to develop software is not to fight over what language is best for everything, but to use whatever language and tools are best for the job. Using multiple languages is often a good solution for some problems. For example, let's say I want to write a unit conversion app and have it run on as many platforms as possible.

 

I could write it in C++/Qt for Windows, Mac OS X, Linux/X11 (and similar systems), Embedded Linux, Windows CE, Symbian, Maemo, Objective-C for iPhone and iPad, Blackberry Java for Blackberry, and Android Java for Android. Then again I guess that's really the minimum number of languages you can use... lol, so maybe it's not a good example but the point is you have to mix and match sometimes depending on what you want to do.

 

I agree when you say that fighting over the "best" language to use is moot. It's never been about the best language, but the one that's best fit for the job.

 

That being said, what do you suppose Jagex's mission for RuneScape and it s games is? It would most likely be a large distribution over as many platforms as possible. If that's their goal, then Java is likely the language that is best fit for this task.

 

I would venture as far as to say that writing RuneScape in C++ would present issues with duplicated code and largely difficult-to-maintain source. After all, Windows C++ programs aren't guaranteed to run in Linux, which aren't guaranteed to run with Mac.

 

I do get the rub that you have a dislike for Java, but perhaps it is the best fit language in this case. Supporting three different C++ libraries gets tedious.

Linux User/Enthusiast Full-Stack Software Engineer | Stack Overflow Member | GIMP User
s1L0U.jpg
...Alright, the Elf City update lured me back to RS over a year ago.

Link to comment
Share on other sites

The best way to develop software is not to fight over what language is best for everything, but to use whatever language and tools are best for the job. Using multiple languages is often a good solution for some problems. For example, let's say I want to write a unit conversion app and have it run on as many platforms as possible.

 

I could write it in C++/Qt for Windows, Mac OS X, Linux/X11 (and similar systems), Embedded Linux, Windows CE, Symbian, Maemo, Objective-C for iPhone and iPad, Blackberry Java for Blackberry, and Android Java for Android. Then again I guess that's really the minimum number of languages you can use... lol, so maybe it's not a good example but the point is you have to mix and match sometimes depending on what you want to do.

 

I agree when you say that fighting over the "best" language to use is moot. It's never been about the best language, but the one that's best fit for the job.

 

That being said, what do you suppose Jagex's mission for RuneScape and it s games is? It would most likely be a large distribution over as many platforms as possible. If that's their goal, then Java is likely the language that is best fit for this task.

 

I would disagree. Java's cross-platform compatibility in this case really doesn't get them any advantage they couldn't get with C++.

 

I would venture as far as to say that writing RuneScape in C++ would present issues with duplicated code and largely difficult-to-maintain source. After all, Windows C++ programs aren't guaranteed to run in Linux, which aren't guaranteed to run with Mac.

 

On what grounds are you saying it would be duplicated and difficult to maintain?

 

I do get the rub that you have a dislike for Java, but perhaps it is the best fit language in this case. Supporting three different C++ libraries gets tedious.

 

Who said they'd have three different C++ "libraries"? You just need one. I have programs written in C++ that compile for all 3 OSs using a single set of source code. In fact, take VLC Media Player for example. It's written in C/C++ and is available for more platforms than you can imagine. There's even code for mobile devices in its source tree. There's just one set of source code for VLC MP. There's not a "Windows source", "Mac source" and "Linux/X11 source". There's one source, which can be compiled for any of the three.

 

And by the way, I've seen plenty of bug reports in the RS database stating "On Windows platforms..." or "On Mac... platforms", etc. There are issues with the individual platforms despite Java.

  • 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

Uh-huh. Because it's soooooo much effort to compile it 3 more times. And you only get the "exact same results" if you actually wrote the code correctly. There are some 'gotchas' which will cause certain Java code to run differently depending on which platform it's being run.

 

I guess Java might be a good language for people who write fairly simple programs that don't have that much functionality or performance demands.

Its not the effort to compile it 3 times, its the effort to maintain distributions for every single user. Mac users, download this version. Windows users, download these versions. If you have 64 bit windows, download this one, if you have multiple cores, download this one. If you're on XP, download this one. If you're on '98, download this one.

Linux users, I only support redhat and fedora. Everyone else is so-outta-luck.

It gets complicated very fast, instead of the "everyone download this jar file, one size fits all".

 

 

Secondly, the main reason these embedded devices force Java upon you is for security reasons - there's certain things they don't want you doing. It's easier to control the execution of Java code because it's run by a virtual machine rather than directly by the CPU. Desktop Java is not compatible with Blackberry Java is not compatible with Android Java is not compatible with any other Java. So much for your "works on everything". I have not used Xlets before and am not familiar with Blueray players so I can't comment on that part.

The main reason embedded devices "force" Java is so that there can be developers! Every embedded device has a different processor, has different memory configurations and different architectures (Harvard vs. von Neumann is a major issue). These are things that are impossible to overcome when the programmer is forced to control memory management.

 

The devices you cited are not be compatible, but that's because there's a difference between the two libraries they use, ME and SE java. But between each set of devices, they are compatible. Androids use java SE - meaning they can do all the swing components and more. Blackberries use java ME, which means they use a more limited library (and they ignore certain things that don't apply to them). Androids can run Blackberry "java", Androids can run Desktop "java".

 

Since you haven't programmed an xlet, and it seems your java experience is very limited to what you've read about, you have no idea how important it is to be able to compile once, run anywhere (on any platform). Every OCAP cable box you buy in the US is able to run java. You want to write a programming guide for set top boxes? Trivial. You want to write a programming guide for ALL set top boxes? Before java, impossible.

 

 

 

The title of this topic, "Is RuneScape's technology obsolete?" seems to be a thread about java bashing. You obviously have a very limited java programming experience. There are a few things you could've said about Java to give yourself credibility (very simple, basic things), but you skipped them.

Runescape was designed to be slow. It was a decision Andrew Gower made more than ten years ago, but its a decision that made Runescape accessible to people with horrible lag, and to people with slow computers. This is why Runescape is so popular today, because you don't need a gaming rig to play it. Java is a major part of that.

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

Uh-huh. Because it's soooooo much effort to compile it 3 more times. And you only get the "exact same results" if you actually wrote the code correctly. There are some 'gotchas' which will cause certain Java code to run differently depending on which platform it's being run.

 

I guess Java might be a good language for people who write fairly simple programs that don't have that much functionality or performance demands.

Its not the effort to compile it 3 times, its the effort to maintain distributions for every single user. Mac users, download this version. Windows users, download these versions. If you have 64 bit windows, download this one, if you have multiple cores, download this one. If you're on XP, download this one. If you're on '98, download this one.

Linux users, I only support redhat and fedora. Everyone else is so-outta-luck.

It gets complicated very fast, instead of the "everyone download this jar file, one size fits all".

 

You're just trying to find a non-argument now. First it was too much effort to compile your apps for each platform, now it's too much effort to "maintain distributions"? WOW, 5 different downloads. I am struggling in difficulty! Also... a different version for multi-core processors? Where did you get that one? And why are you bothering to support 98? That's been obsolete for years. Also, if your program consists of a "single jar file, download this one size fits all lol!", chances are you know very little about software distribution and in addition your program probably isn't very useful.

Secondly, the main reason these embedded devices force Java upon you is for security reasons - there's certain things they don't want you doing. It's easier to control the execution of Java code because it's run by a virtual machine rather than directly by the CPU. Desktop Java is not compatible with Blackberry Java is not compatible with Android Java is not compatible with any other Java. So much for your "works on everything". I have not used Xlets before and am not familiar with Blueray players so I can't comment on that part.

The main reason embedded devices "force" Java is so that there can be developers! Every embedded device has a different processor, has different memory configurations and different architectures (Harvard vs. von Neumann is a major issue). These are things that are impossible to overcome when the programmer is forced to control memory management.

 

The devices you cited are not be compatible, but that's because there's a difference between the two libraries they use, ME and SE java. But between each set of devices, they are compatible. Androids use java SE - meaning they can do all the swing components and more. Blackberries use java ME, which means they use a more limited library (and they ignore certain things that don't apply to them). Androids can run Blackberry "java", Androids can run Desktop "java".

 

Since you haven't programmed an xlet, and it seems your java experience is very limited to what you've read about, you have no idea how important it is to be able to compile once, run anywhere (on any platform). Every OCAP cable box you buy in the US is able to run java. You want to write a programming guide for set top boxes? Trivial. You want to write a programming guide for ALL set top boxes? Before java, impossible.

 

I know Android and Blackberry aren't compatible due to a difference in libraries, but that doesn't change the fact you will need to build and maintain two entirely different versions of an application for each. You're just trying to make yourself look intelligent by stating things that do not add to your argument.

 

My Java experience is very limited to what I've read about and I have no idea how important it is to be able to compile once, run anywhere? ON ANY PLATFORM! WOW! Now who's copying what they've read? Tell me, then, how important is it? You seem to be a very experienced software developer.

 

The title of this topic, "Is RuneScape's technology obsolete?" seems to be a thread about java bashing. You obviously have a very limited java programming experience. There are a few things you could've said about Java to give yourself credibility (very simple, basic things), but you skipped them.

Runescape was designed to be slow. It was a decision Andrew Gower made more than ten years ago, but its a decision that made Runescape accessible to people with horrible lag, and to people with slow computers. This is why Runescape is so popular today, because you don't need a gaming rig to play it. Java is a major part of that.

 

How do I obviously have a very limited Java programming experience? You have not seen any of my work and have hardly any evidence to base that statement off of. And what are these "very simple, basic things" I could have said about Java to give myself credibility? I stated obvious facts in my post that a regular Joe would be able to see. No program is designed to be slow. That's just "bleeping developmentally delayed" as the word filter would force me into saying. Also, you just killed your own credibility with the following statement "decision that made Runescape accessible to people with horrible lag"... I'm assuming you're referring to network latency. Might I remind you that the quality of graphics does NOT change the amount of data being transferred between your computer and the server. You may have a larger initial download for higher detailed models and such, but once it's downloaded it's virtually the same as a Pac-Man MMO. All the client does is tell the server what actions it would like to perform, and all the server does is tell the client what to display. A "Display model 2894" message is the same size whether the model has 10 or 10,000 vertices. My computer is not too bad. It's not a gaming rig, but not junk either. It can hardly run RuneScape. It freezes every 30 seconds and the only way I can play it is on a tiny screen. When I played WoW for 10 days I had it on a pretty damn high screen resolution and it worked flawlessly. Never froze, never lagged.

 

From what I've heard you saying so far, it sounds like YOU are the one with little programming experience, and are getting your arguments from Wikipedia. By the way, there's a LOT more to software development than just programming.

  • 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

Jard,

 

You make some good technical points. But I think you *vastly* underestimate the non-technical importance of RS being a browser-based game. The portability and universality of the game have been major factors in its success, and changing to a downloadable model would be, IMO, a risky move that would cost them far more customers than it would gain.

Qeltar, aka Charles Kozierok

Webmaster, RuneScoop - Premium RuneScape Information for Expert Players -- Now Free!

Featuring the Ultimate Guide to Dungeoneering -- everything you need to know to get the most of the new skill!

signew2.png

Link to comment
Share on other sites

Don't get your panties in a wad.

 

You're just trying to find a non-argument now. First it was too much effort to compile your apps for each platform, now it's too much effort to "maintain distributions"? WOW, 5 different downloads. I am struggling in difficulty! Also... a different version for multi-core processors? Where did you get that one? And why are you bothering to support 98? That's been obsolete for years. Also, if your program consists of a "single jar file, download this one size fits all lol!", chances are you know very little about software distribution and in addition your program probably isn't very useful.

If you want to support EVERYONE, use java. One of my pet peeves when I'm looking for an application is having to sort through all the crap in their distro page. No, I don't want your source code. I don't want to have to compile it myself, as your end user, I'm lazy. Just give me a binary, kthxbye.

 

 

 

I know Android and Blackberry aren't compatible due to a difference in libraries, but that doesn't change the fact you will need to build and maintain two entirely different versions of an application for each. You're just trying to make yourself look intelligent by stating things that do not add to your argument.

 

My Java experience is very limited to what I've read about and I have no idea how important it is to be able to compile once, run anywhere? ON ANY PLATFORM! WOW! Now who's copying what they've read? Tell me, then, how important is it? You seem to be a very experienced software developer.

If you know they're different due to their support, don't bring it up. The fact that Google decided to support every feature of java in their phone versus Blackberry deciding they only wanted to support the essentials. One will run *any* java se application, the other will run *any* java me application. Saying that Java lied to you because you can't run some behemoth of a desktop application on a phone is stupid.

 

 

How do I obviously have a very limited Java programming experience? You have not seen any of my work and have hardly any evidence to base that statement off of. And what are these "very simple, basic things" I could have said about Java to give myself credibility?

You could've ripped java for not having an unsigned data type. You could've ripped it for not having native support for communications ports on windows PCs. But ripping it because its slow and inefficient? Give me a break. Everything programmed since the 1980's can be considered inefficient because its not written in assembly.

 

I stated obvious facts in my post that a regular Joe would be able to see. No program is designed to be slow. That's just "bleeping developmentally delayed" as the word filter would force me into saying.

Runescape has an obvious game tick of 600 milliseconds. That is designing the game to be slow. That isn't a limit from Java, that is a limit they placed upon themselves.

 

Also, you just killed your own credibility with the following statement "decision that made Runescape accessible to people with horrible lag"... I'm assuming you're referring to network latency. Might I remind you that the quality of graphics does NOT change the amount of data being transferred between your computer and the server. You may have a larger initial download for higher detailed models and such, but once it's downloaded it's virtually the same as a Pac-Man MMO.

Not true. Your computer does not store the entire world map when you first load Runescape. If it did, you'd never get a black area on the minimap for what hasn't loaded yet. You load a significant area at a time, and keep track of all the objects inside of that area. Increasing graphics quality increases the amount of data that has to be sent when a new area loads.

 

All the client does is tell the server what actions it would like to perform, and all the server does is tell the client what to display. A "Display model 2894" message is the same size whether the model has 10 or 10,000 vertices. My computer is not too bad. It's not a gaming rig, but not junk either. It can hardly run RuneScape. It freezes every 30 seconds and the only way I can play it is on a tiny screen. When I played WoW for 10 days I had it on a pretty damn high screen resolution and it worked flawlessly. Never froze, never lagged.

 

From what I've heard you saying so far, it sounds like YOU are the one with little programming experience, and are getting your arguments from Wikipedia. By the way, there's a LOT more to software development than just programming.

You need to separate RuneScape from Java. Really, the new graphics stuffs that Jagex has implemented is all in native code, which is why it may or may not be supported for various computers with different drivers. If RuneScape was purely java, you wouldn't need the .dll's that cause the game to run.

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

Don't get your panties in a wad.

 

You're just trying to find a non-argument now. First it was too much effort to compile your apps for each platform, now it's too much effort to "maintain distributions"? WOW, 5 different downloads. I am struggling in difficulty! Also... a different version for multi-core processors? Where did you get that one? And why are you bothering to support 98? That's been obsolete for years. Also, if your program consists of a "single jar file, download this one size fits all lol!", chances are you know very little about software distribution and in addition your program probably isn't very useful.

If you want to support EVERYONE, use java. One of my pet peeves when I'm looking for an application is having to sort through all the crap in their distro page. No, I don't want your source code. I don't want to have to compile it myself, as your end user, I'm lazy. Just give me a binary, kthxbye.

 

No, if you want to support EVERYONE, use C/C++. Because it compiles to MACHINE CODE, it is absolutely guaranteed to run on the intended platform. With Java, you must have a JVM installed on that platform. If it's not available, you're going to have to write one... that's not a simple one-day project. C++ is, always has been, and always will be more portable. It's all about how you do it. And who says all C++ applications don't offer binaries and all Java applications do? That's just stupid. You could just as easily find a website with a Java application that didn't offer pseudobinaries.

 

I know Android and Blackberry aren't compatible due to a difference in libraries, but that doesn't change the fact you will need to build and maintain two entirely different versions of an application for each. You're just trying to make yourself look intelligent by stating things that do not add to your argument.

 

My Java experience is very limited to what I've read about and I have no idea how important it is to be able to compile once, run anywhere? ON ANY PLATFORM! WOW! Now who's copying what they've read? Tell me, then, how important is it? You seem to be a very experienced software developer.

If you know they're different due to their support, don't bring it up. The fact that Google decided to support every feature of java in their phone versus Blackberry deciding they only wanted to support the essentials. One will run *any* java se application, the other will run *any* java me application. Saying that Java lied to you because you can't run some behemoth of a desktop application on a phone is stupid.

My sole point was that you'd need to maintain several different versions. I don't think we're actually disagreeing on this.

 

How do I obviously have a very limited Java programming experience? You have not seen any of my work and have hardly any evidence to base that statement off of. And what are these "very simple, basic things" I could have said about Java to give myself credibility?

You could've ripped java for not having an unsigned data type. You could've ripped it for not having native support for communications ports on windows PCs. But ripping it because its slow and inefficient? Give me a break. Everything programmed since the 1980's can be considered inefficient because its not written in assembly.

 

Those things are irrelevant to me because I can simply choose not to use it. Java not having an unsigned data type doesn't affect my ability to play RuneScape. Java not having native support for com. ports doesn't affect my ability to play RuneScape. However, its lack of sufficient performance DOES, and THAT is what I am complaining about. And your last sentence is so not true. C++ compilers usually generate more efficient code than a human will, coding assembly by hand.

 

I stated obvious facts in my post that a regular Joe would be able to see. No program is designed to be slow. That's just "bleeping developmentally delayed" as the word filter would force me into saying.

Runescape has an obvious game tick of 600 milliseconds. That is designing the game to be slow. That isn't a limit from Java, that is a limit they placed upon themselves.

 

That 600ms processing interval is on the server. It has no effect on the client's ability to render graphics efficiently.

 

Also, you just killed your own credibility with the following statement "decision that made Runescape accessible to people with horrible lag"... I'm assuming you're referring to network latency. Might I remind you that the quality of graphics does NOT change the amount of data being transferred between your computer and the server. You may have a larger initial download for higher detailed models and such, but once it's downloaded it's virtually the same as a Pac-Man MMO.

Not true. Your computer does not store the entire world map when you first load Runescape. If it did, you'd never get a black area on the minimap for what hasn't loaded yet. You load a significant area at a time, and keep track of all the objects inside of that area. Increasing graphics quality increases the amount of data that has to be sent when a new area loads.

 

Having known people who mess with private servers, I can prove you are incorrect. You are correct in saying it does not store the entire world map when you first load RuneScape, BUT it downloads it as you play the game, whether or not you're in the area, along with other data such as models and icons. When it has finished downloading everything, it stays cached in, for example, C:\.jagex_cache_32 on Windows machines. Then it does not download anything else until the next game update. The reason you get a black area on the minimap is because it loads the map from your hard drive into memory when you enter the area, and unloads it when you leave. This takes time. If Jagex were to load the entire map into your memory at once, two things would happen: RuneScape's startup time would slow significantly, and you'd use a LOT more memory and probably run out. When I was writing a terrain system for a project (ever done this?) I decided to test something by loading every bit of map into memory. My program was at about 800 MB memory usage, and my map was only about the size of RuneScape's current surface.

All the client does is tell the server what actions it would like to perform, and all the server does is tell the client what to display. A "Display model 2894" message is the same size whether the model has 10 or 10,000 vertices. My computer is not too bad. It's not a gaming rig, but not junk either. It can hardly run RuneScape. It freezes every 30 seconds and the only way I can play it is on a tiny screen. When I played WoW for 10 days I had it on a pretty damn high screen resolution and it worked flawlessly. Never froze, never lagged.

 

From what I've heard you saying so far, it sounds like YOU are the one with little programming experience, and are getting your arguments from Wikipedia. By the way, there's a LOT more to software development than just programming.

You need to separate RuneScape from Java. Really, the new graphics stuffs that Jagex has implemented is all in native code, which is why it may or may not be supported for various computers with different drivers. If RuneScape was purely java, you wouldn't need the .dll's that cause the game to run.

You're kind of contradicting your argument here. First Java is the bees knees because it runs on every platform with one pseudobinary, but now you're admitting that it needs native code to run thus defeating Java's "write once, debug everywhere" motto. And now you are trying to make excuses by saying it might not be supported for various computers because some of the graphics are implemented in native code? So Java's great but because a particular Java program is partially supported by native code, it performs poorly on Jard's computer because it's in native code thus doesn't work as well as Java, but native code has better performance. I am now confused.

  • 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

Since this is a topic about runescape, there are three things I want to hammer home:

 

1. The runescape client on your computer isn't purely Java. Its shell may be in java, but it interfaces to native functionality through .dll's/jni's, especially for their HD graphics implementations.

2. The runescape client is limited to the 600 ms server tick. Events happen at this pace, or a little slower. Its why every action has a built in lag, in addition to normal internet latency.

3. Java isn't obsolete, so don't expect it to "die" anytime soon. In the past 10 years, Java has become optimized and computers have become fast enough that the "overhead" from the VM isn't noticeable (except when starting up, when everything has to load).

 

 

RuneScape isn't slow because of Java, RuneScape is slow because of RuneScape.

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

Since this is a topic about runescape, there are three things I want to hammer home:

 

1. The runescape client on your computer isn't purely Java. Its shell may be in java, but it interfaces to native functionality through .dll's/jni's, especially for their HD graphics implementations.

2. The runescape client is limited to the 600 ms server tick. Events happen at this pace, or a little slower. Its why every action has a built in lag, in addition to normal internet latency.

3. Java isn't obsolete, so don't expect it to "die" anytime soon. In the past 10 years, Java has become optimized and computers have become fast enough that the "overhead" from the VM isn't noticeable (except when starting up, when everything has to load).

 

 

RuneScape isn't slow because of Java, RuneScape is slow because of RuneScape.

 

1. Fortunately our posts are getting shorter. I know the client is not purely Java, but the part that is in Java makes it very slow. Maybe Jagex programmers are horrible as well, but either way both of those factors contribute, and Java's portion isn't negligible.

2. I am completely aware of the server tick. I am referring to CLIENT SIDE LAG, I have said this before. The slowest dial-up connection in the world does not make the client freeze to a standstill and send your CPU usage rocketing to 100%.

3. I know it's not going to die soon. COBOL hasn't... but that doesn't mean it's a great programming language. Furthermore the overhead IS noticeable. Don't say it isn't.

  • 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

Since this is a topic about runescape, there are three things I want to hammer home:

 

1. The runescape client on your computer isn't purely Java. Its shell may be in java, but it interfaces to native functionality through .dll's/jni's, especially for their HD graphics implementations.

2. The runescape client is limited to the 600 ms server tick. Events happen at this pace, or a little slower. Its why every action has a built in lag, in addition to normal internet latency.

3. Java isn't obsolete, so don't expect it to "die" anytime soon. In the past 10 years, Java has become optimized and computers have become fast enough that the "overhead" from the VM isn't noticeable (except when starting up, when everything has to load).

 

 

RuneScape isn't slow because of Java, RuneScape is slow because of RuneScape.

 

1. Fortunately our posts are getting shorter. I know the client is not purely Java, but the part that is in Java makes it very slow. Maybe Jagex programmers are horrible as well, but either way both of those factors contribute, and Java's portion isn't negligible.

2. I am completely aware of the server tick. I am referring to CLIENT SIDE LAG, I have said this before. The slowest dial-up connection in the world does not make the client freeze to a standstill and send your CPU usage rocketing to 100%.

3. I know it's not going to die soon. COBOL hasn't... but that doesn't mean it's a great programming language. Furthermore the overhead IS noticeable. Don't say it isn't.

 

When you lose connection to the server, you lose all input and the screen freezes. I know this because I've had idiot roommates mess with the router and reset it for no apparent reason. My computer is fast enough to play RS under any settings, so when it freezes its my net connection. Try unplugging your computer from the 'net and see what happens to your screen. I bet you'll get the same symptoms.

 

Also, Sun/Oracle has gotten very good with their VM optimizations. In an object oriented sense, java is just as fast or faster than C++ because it spreads out the work. In C++, when you want to lose an object / garbage collect, you have to do it while the program is running. With java, you can forget about it and the VM will take care of it when thread executing isn't so processor intensive.

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

Since this is a topic about runescape, there are three things I want to hammer home:

 

1. The runescape client on your computer isn't purely Java. Its shell may be in java, but it interfaces to native functionality through .dll's/jni's, especially for their HD graphics implementations.

2. The runescape client is limited to the 600 ms server tick. Events happen at this pace, or a little slower. Its why every action has a built in lag, in addition to normal internet latency.

3. Java isn't obsolete, so don't expect it to "die" anytime soon. In the past 10 years, Java has become optimized and computers have become fast enough that the "overhead" from the VM isn't noticeable (except when starting up, when everything has to load).

 

 

RuneScape isn't slow because of Java, RuneScape is slow because of RuneScape.

 

1. Fortunately our posts are getting shorter. I know the client is not purely Java, but the part that is in Java makes it very slow. Maybe Jagex programmers are horrible as well, but either way both of those factors contribute, and Java's portion isn't negligible.

2. I am completely aware of the server tick. I am referring to CLIENT SIDE LAG, I have said this before. The slowest dial-up connection in the world does not make the client freeze to a standstill and send your CPU usage rocketing to 100%.

3. I know it's not going to die soon. COBOL hasn't... but that doesn't mean it's a great programming language. Furthermore the overhead IS noticeable. Don't say it isn't.

 

When you lose connection to the server, you lose all input and the screen freezes. I know this because I've had idiot roommates mess with the router and reset it for no apparent reason. My computer is fast enough to play RS under any settings, so when it freezes its my net connection. Try unplugging your computer from the 'net and see what happens to your screen. I bet you'll get the same symptoms.

 

Also, Sun/Oracle has gotten very good with their VM optimizations. In an object oriented sense, java is just as fast or faster than C++ because it spreads out the work. In C++, when you want to lose an object / garbage collect, you have to do it while the program is running. With java, you can forget about it and the VM will take care of it when thread executing isn't so processor intensive.

 

When I disconnect from the network, my client doesn't freeze. The idle animations still play, everything can be clicked. Then it logs you out. RuneScape does not have great performance, and don't tell me the lag is due to my Internet connection. I've had the same ISP for years, and the speed of RuneScape has gotten worse over the years. It's simply a result of slow Java and poor programming - has nothing to do with the network.

 

Java is not as fast as C++ and definitely not faster. The Java VM is programmed in C++, and there are many different methods of implementing garbage collection yourself in C++ that are more efficient than Java. Also, ALL Java objects are allocated on the heap... O(log(n)) vs O(1). That's not good for performance. The garbage collector itself ADDS overhead.

  • 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

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.