Runescape 3 and HTML5

I was browsing the interwebs this morning and came across RuneScape 3’s release date reveal video that talks about what all is new in RS3. One of the first things they stressed was that they’re now using HTML5 and that it’s providing them with larger draw distances, dynamic shadows, higher resolution textures, and other graphical improvements. Now, correct me if I’m wrong but all of these improvements could’ve been achieved in Java through LWJGL. It kind of annoys me that they’re heralding HTML5 as enabling these things when it can already be done on their current platform. Now since I don’t often deal with applets (because they suck) there might be further performance restrictions added by Applets that I’m not aware of. Just thought I’d share :stuck_out_tongue:

Knc_Trx_-5A

There’s also the fact that thanks to the way security has been handled, applets are about as welcome in today’s browser ecosystem as Ted Nugent at the Lilith Fair.

Nice comparison there :smiley: I don’t blame them for moving to HTML5 on that basis and the basis that Applets do suck. It just seemed to me that they were painting the transition as being performance and appearance driven when all of the new features could’ve been achieved in Java.

While it’s possible to accomplish all of that with Java, it would seem, to me at least, that HTML5 probably offers the dev some perceived benefits beyond the “eye candy” in this situation. A modern browser (or set of browsers) is a much easier target to develop for than an unknown number of system configurations, you can patch a single instance of the game and be reasonably sure that all clients will be running the new version of the code from that point forward, you don’t take he chance of confusing/alienating a player with a long list of required software versions to check/download and install, and as mentioned by Sproingie, there’s less of a perceived security risk. Ultimately though, HTML5 is the “new hotness” in web development circles, and being able to tout that on their features list probably gave their marketing team a group hard-on. LOL

As an aside, accoording to this Gamasutra article, Java is still an option.

It wouldn’t surprise me if Java was (still) being used on the server side for processing game logic and such. HTML5 is great for making a facade, but you still need something doing the heavy lifting behind the scenes.

Sadly, this is not really the case at all. The browser is like an OS unto itself… it’s just a world of pain.

Cas :slight_smile:

Indeed, browser incompatibilities can be a pain in the butt; however, it’s still far easier to write workarounds for a known/finite number of HTML5 capable browsers than an unknown number of JVM/audio/video/external library combinations. :o

Also one of the main reasons for HTML5 was to prevent botting. Java’s bytecode system allowed code to be injected really easily using interfaces, and at runtime you could control different things to “bot” for you. I’ve done it myself. They’ve been adding a lot of security like AES encryption, but today’s botters won’t stop at it. Even the old leader of Runescape botting was employed by Jagex to help stop it.

HTML5 will probably be more efficient anyway if its on a webpage. It allows for playing on different devices, and I feel that it won’t create as many problems as the applet without not be playing with good graphics.

How would HTML5 prevent botting? I would think HTML5 would make it even easier because you could use Firefox’s Firebug plugin to edit javascript instead of having to muck about decompiling the applet, changing the code, and recompiling it.

I agree with Z-Man and princec, I already answered to an article about that here:
http://news.cnet.com/8301-1023_3-57580221-93/its-about-time-runescape-dumps-java-for-html5/

Javascript itself is not cross-platform, even very simple functions behave differently because the spec is quite loose. For example, the very simple method used to compare two strings doesn’t use the non-zero returned values in the same way, look at the documentation of localeCompare(). princec is right, the web browser is another layer that brings its own problems and we have less trouble with a mature stack based on JogAmp or LWJGL.

Not to mention that for the purposes of games, Java’s functionality is basically unchanged in the last 10 years. At least, I’m running the same code by and large and never come across any incompatibilities between Java versions. It’s extremely stable and well specified.

Cas :slight_smile:

[quote=“Z-Man,post:1,topic:42816”]
It looks to me like a simple case of corporate speech. The way it works is roughly as follows:

  1. A decision is made that to keep up with expectations, the game needs a major frontend overhaul.
  2. The possibility of doing it in HTML5 is suggested, and after various considerations are weighed the decision is made that the new frontend will be in HTML5.
  3. Because most people aren’t pedants and the project is a topic of daily conversation over months, “the new frontend, which happens to be implemented in HTML5” is abbreviated to “HTML5”. (“How’s HTML5 coming along?”)
  4. People forget that it’s an insider term and use it in videos for public consumption.

(For what it’s worth, all of those improvements were technically possible in the software rendered version. Of course, letting the graphics card do the work gives a better frame-rate, but you can see dynamic shadows in Torquing!)

There are some pretty serious problems with a WebGL/HTML5 implementation of a game like this. Off the top of my head and without 2x checking facts:

  • Decent WebGL support is limited to Chrome only. Firefox has some, but not enough of it working to be viable, and IE (lol) only recently announced WebGL support in a future version
  • WebGL 1.0 only supports FXAA, so AA support will be pretty bad until at least WebGL 2.0
  • The HTML5 sandbox is much more limiting, especially with respect to how much data can be stored on the client

I’ve tried both versions of the game, and the beta WebGL/HTML5 version is many times slower than the java/openGL version, and the poor anti-aliasing support just kills the look of it.

True, but I don’t think Runescape is known for its graphics anyways :wink:
It has a lot to do with the public eye, I think. You hear a lot of reports of java having security problems and apple blocking java, so many people don’t use applets or don’t use java at all. People think of html as “the stuff webpages are made of” so they trust it more.

That greatly benefits us, but cannot be used as an argument for people to keep Java on their machine.

Its a sad state of affairs, but I am curious to see how successful Runescape 3 is going to be. I can only imagine that they’re going to be the private outhouse of the majority of their player base because now the game is going to run like a turd on most of them. In my opinion its way too soon to go as far as run a large game like that in an underdeveloped and living target as “HTML 5”. If they managed to make it stable across so many browsers, OSes and computers I’m thoroughly impressed.

Well, who said Java needed to be kept on the machine? Only if you want to use “applets” as they come… how about for example they make their own runescape plugin which uses a private VM? That would have worked too. And been a lot easier.

… before we all go off on one about people not installing plugins, this is not true, or Unity would never have gotten anywhere either.

Cas :slight_smile:

The private VM would still have to be kept on the machine, but you’re right that bundling is the way to go :slight_smile: We’re a broken record though, good ideas are not what people like to execute when there are popular ideas to execute in stead.