SRL Archive - RuneScape News and General

The NXT Client


Clarity

2015-03-27 16:18:17

NXT RELEASE: http://www.runescape.com/download


RS Developer Blog

As a legit player, I am beyond excited for this upgrade. As a botter and scripter, I am slightly concerned. I believe we should start planning for this soon because they intend to completely phase out the Java client.
What graphics modes will they use for this? DirectX, or something custom? Will a SMARTv9 become necessary? SRL-7?

The New Game Client - how it all started, past, present and future…

It’s been a year and a half since the beta release of the HTML5 RuneScape 3 client. As we mentioned at RuneFest, we’ve since begun work on another brand new game client, and you may be wondering why we’re trying this again.

We knew from the start that the HTML5 client was experimental, and as we came to the optimisation phase it became clear that it wasn¹t going to be good enough, due to fundamental constraints with the platform (Javascript and the web browsers). In terms of performance, it would never be good enough to replace the Java client.

After much deliberation, we all agreed that the weaknesses of the HTML client couldn’t be worked around, and that the RuneScape community (and developers too) deserved something really awesome in its stead. This could only mean one thing: we decided to take everything we’d learned from our first attempt, and start afresh.

A unanimous decision was made to begin work on a brand-new, cross-platform, C++ RuneScape client. The back-end code (rendering, audio, networking, build systems, etc.) would be written from scratch, but for the client code itself we would port the HTML5 code base to C++. This way, we made the most of the work we’d already done, while focusing on fixing the bits that just didn’t work.

Now, you may wonder why we need to create a new client at all – why not just stick with the technology that’s served RuneScape so far?

Firstly, the Java language is no longer fit for purpose as a modern game client solution. Even major browsers are going to stop supporting it soon, starting with Chrome, and with Firefox following suit soon after.

Secondly - and most importantly - both Java and Javascript have no real scope for performance-critical software and graphics rendering. C++, on the other hand, gives us total control over performance and rendering. It means that we'll be able to provide even better visuals than you currently enjoy, with better performance to boot.

Sounds too good to be true? Actually it isn't, and our progress so far gives us confidence we can meet these goals. Adding to that, C++ is the best cross-platform language and gives us more scope for getting RS working on non-Windows platforms with the best possible performance (e.g. Linux, OSX, more web browsers), etc.

The bottom line… the existing client software doesn’t do justice to what RuneScape can be and has significant drawbacks which are getting worse over time. We have to adapt, and this is the best way forward!

Today, things are shaping up nicely. We're nearly finished implementing the core client features, with visuals and performance already better than the Java client. To whet your appetites, here's a brief summary of what the new client aims to deliver:

- Better performance over existing Java client
- Better visual than HTML5 RS3 client
- More platform and OS support (Windows XP/7/8, OSX, Linux, web browser)
- Improved loading speed
- Improved draw distances over Java
- Improved graphics:
– Global illumination lighting (irradiance via spherical harmonics and ambient occlusion)
– Atmospheric light scattering
– Cascaded shadow maps (highly detailed sun shadows over larger distances)
– Improved post-processing
– Improved reflections
– Gamma correct and HDR rendering pipeline

The list goes on, but I'll save details for future blog posts that will aim to satisfy the more technical among you, and hopefully answer your questions.

We're going to make every effort possible to give you a better RS experience, without losing certain features of the Java client that some of you have grown to love. Ultimately, we have to do what’s best for RuneScape - all we ask is that you keep an open mind, and trust us. You won't be disappointed.

Mod Lordgit
Lead Graphics Programmer


[spoiler=Screenshots]
[/spoiler]

More info:
From: Mod Balance

Should be ready in the second half of this year, but we won't release it until it's ready.

From: Mod Pips

No sorry, the new client is the game frontend and won't change the server or game logic.

rj

2015-03-27 16:27:40

I always felt that RS has always been a browser based game :( But in recent years with them improving graphics and such I feel like they are pushing the limits of the browser and it is holding them back as they said..

So what does this mean for Simba and Powerbot and all the other Java bots? Isn't there some sort of reflection/injection alternative for c++? (league of legends has bot clients) It seems like with this new client, that not just anybody can create a bot client (not like just anybody could before, but lets be real there are tons of java bots out there)

Clarity

2015-03-27 16:51:31

Comparing current graphics to NXT

I assume some features aren't in NXT yet, don't see as much bloom for instance (glowing red in Darkmeyer).
I don't imagine we're in that bad of a position since we utilize color, not heavily relying on the Java-ness except for convenience purposes. If they remove OpenGL then I'll be sad and look into hooking whatever they use!

Taric

2015-03-27 16:56:21


That's really all there is to say…

I wonder if they'll change how the tick system works O.o

Ian

2015-03-27 17:01:27

For those wondering about an ETA:
From: Mod Balance
Should be ready in the second half of this year, but we won't release it until it's ready


Sounds like it should be ready mid 2016

From: Taric

I wonder if they'll change how the tick system works O.o


From: Mod Pips
No sorry, the new client is the game frontend and won't change the server or game logic

Clarity

2015-03-27 17:04:34

From: Taric
I wonder if they'll change how the tick system works O.o

That would radically change gameplay, client aside. I'd certainly support it though if they managed it! Combat has been suffering greatly in potential because of it.

From: BMWxi
For those wondering about an ETA:


Sounds like it should be ready mid 2016


So if we assume this December/early 2017, I'd still love to get people's ideas on how to handle this. Anyone know C++ very well? :p

Trent!

2015-03-27 17:14:37

I'm pretty interested in seeing how this will change the botting industry. Of course some sites won't have to do much, given the way they work, but I imagine the update will break most of the bots in the industry, at least until they figure out what to do.

Either way, I'm excited.

Brandon

2015-03-27 21:15:23

I'm not excited because I don't care and I don't play any more but it'd at least be interested to watch all Java bots break.


A unanimous decision was made to begin work on a brand-new, cross-platform, C++ RuneScape client. The back-end code (rendering, audio, networking, build systems, etc.) would be written from scratch, but for the client code itself we would port the HTML5 code base to C++. This way, we made the most of the work we’d already done, while focusing on fixing the bits that just didn’t work.



When I said this over at powerbot, they told me, "No.. Jagex won't do that, it's too much work to rewrite the client from scratch.. Only an idiot would rewrite the entire client. Long live Java bots. Blah blah Java. Blah blah cross-platform. They won't get rid of the Java client entirely.."

Lol. Yet, here we are.. I look forward to all other bots using native code (Trilez did it once for RS3 Tribot, he'll have to do it again or update his code IF it's even broken at all)..

More bots will start using memory reading and injection or graphics interception or a combination of 1, 2, or all 3. C++ has no reflection. OSRS map walking already uses native memory reading. Other bots will simply start doing what's already done here and a few other sites OR give up all together.

As for getting around ASLR and native checks, I'm going to enjoy watching (if I'm still around by then).


See: (Chrome ditches NPAPI)

https://www.chromium.org/developers/npapi-deprecation
http://blog.chromium.org/2013/09/saying-goodbye-to-our-old-friend-npapi.html
http://www.infoworld.com/article/2611854/web-browsers/chrome-will-block-npapi-plug-ins-over-stability--security-concerns.html

Lipcot

2015-03-27 21:46:31

This will be fun.

Gold prices are going to sky rocket

Turpinator

2015-03-27 21:52:21

Gross. i like the game how it is. crappy graphics and all.

acow

2015-03-27 23:10:18

change is scary :(

KeepBotting

2015-03-28 08:41:34

*shrug*

Bottom line, what could this really break? Looks like the most it could do is kill SMART and SRL for a bit.

No idea how we'd fix SMART, but I think it's safe to assume we'd fix SRL like we always have

Harrier

2015-03-28 08:44:21

From: KeepBotting
*shrug*

Bottom line, what could this really break? Looks like the most it could do is kill SMART and SRL for a bit.

No idea how we'd fix SMART, but I think it's safe to assume we'd fix SRL like we always have

When I asked core on IRC
20:36 <+GabeN> color bots will still work, we can still hook in to the C++ client for control

Flight

2015-03-28 09:07:57

I wonder if Appa would still work, if so then we're good to go. Also I wonder if they'll be deciding the same thing for the Oldschool client, as the purpose of it is, in a nutshell, a graphics update and OSRS will retain the oldder-style of graphics.

Brandon

2015-03-28 09:37:43

From: Flight
I wonder if Appa would still work, if so then we're good to go. Also I wonder if they'll be deciding the same thing for the Oldschool client, as the purpose of it is, in a nutshell, a graphics update and OSRS will retain the oldder-style of graphics.



Nah. One of the mods said that old school attracts a certain audience that probably won't welcome such a change.. At least not right now.

Obscurity

2015-03-30 12:18:47

It will use OGL/webGL. :-).

rj

2015-03-30 12:30:14

From: Brandon
I'm not excited because I don't care and I don't play any more but it'd at least be interested to watch all Java bots break.




When I said this over at powerbot, they told me, "No.. Jagex won't do that, it's too much work to rewrite the client from scratch.. Only an idiot would rewrite the entire client. Long live Java bots. Blah blah Java. Blah blah cross-platform. They won't get rid of the Java client entirely.."

Lol. Yet, here we are.. I look forward to all other bots using native code (Trilez did it once for RS3 Tribot, he'll have to do it again or update his code IF it's even broken at all)..

More bots will start using memory reading and injection or graphics interception or a combination of 1, 2, or all 3. C++ has no reflection. OSRS map walking already uses native memory reading. Other bots will simply start doing what's already done here and a few other sites OR give up all together.

As for getting around ASLR and native checks, I'm going to enjoy watching (if I'm still around by then).


See: (Chrome ditches NPAPI)

https://www.chromium.org/developers/npapi-deprecation
http://blog.chromium.org/2013/09/saying-goodbye-to-our-old-friend-npapi.html
http://www.infoworld.com/article/2611854/web-browsers/chrome-will-block-npapi-plug-ins-over-stability--security-concerns.html


Lol you should find that post and gravedig it

Harrier

2015-03-30 12:34:25

From: Brandon
I'm not excited because I don't care and I don't play any more but it'd at least be interested to watch all Java bots break.




When I said this over at powerbot, they told me, "No.. Jagex won't do that, it's too much work to rewrite the client from scratch.. Only an idiot would rewrite the entire client. Long live Java bots. Blah blah Java. Blah blah cross-platform. They won't get rid of the Java client entirely.."

Lol. Yet, here we are.. I look forward to all other bots using native code (Trilez did it once for RS3 Tribot, he'll have to do it again or update his code IF it's even broken at all)..

More bots will start using memory reading and injection or graphics interception or a combination of 1, 2, or all 3. C++ has no reflection. OSRS map walking already uses native memory reading. Other bots will simply start doing what's already done here and a few other sites OR give up all together.

As for getting around ASLR and native checks, I'm going to enjoy watching (if I'm still around by then).


See: (Chrome ditches NPAPI)

https://www.chromium.org/developers/npapi-deprecation
http://blog.chromium.org/2013/09/saying-goodbye-to-our-old-friend-npapi.html
http://www.infoworld.com/article/2611854/web-browsers/chrome-will-block-npapi-plug-ins-over-stability--security-concerns.html

Quite sure that Trilez's RS3 client uses reflection as well as opengl

Kasi

2015-03-30 17:29:05

Isn't there a c++ reflection proposal with the open standard?

KeepBotting

2015-03-30 18:53:10

Does this mean they are ditching the browser entirely? Is it possible to run a C++ application in a browser, like they do now with Java?

Also: if the include breaks, we can't skip SRL-6.9 :) let's do that before SRL-7

Brandon

2015-03-30 20:29:06

From: rj
Lol you should find that post and gravedig it


Lol. They don't care though and neither do I. No one should care until it actually comes out. Otherwise there's going to be a storm of "is it possible.." questions & discussions.


From: Kasi
Isn't there a c++ reflection proposal with the open standard?


Yeah but I HIGHLY DOUBT Jagex will use reflection in C++ (purposely introducing bots). They'd also have to wait until that new standard is made official (it is official [subject to change] but not going to be implemented until C++17/C++1z).

loginor

2015-03-31 08:03:24

I'm quite interested in how will this affect the average online player number.

Obscurity

2015-03-31 08:31:06

From: Obscurity
It will use OGL/webGL. :-).


From: KeepBotting
Does this mean they are ditching the browser entirely? Is it possible to run a C++ application in a browser, like they do now with Java?


webGL.

Antonio

2015-03-31 09:03:24

So are we saying it'd just be a case of updating colors and playing in-browser/official RS client? Obviously some functions will be lost but in essence color bots should be okay?

KeepBotting

2015-03-31 09:06:01

From: Nice Balance Bro
So are we saying it'd just be a case of updating colors and playing in-browser/official RS client? Obviously some functions will be lost but in essence color bots should be okay?


Color bots will always be okay. So long as the game has color, colors bots will work.

The issue with be if/when SMART breaks, and how much of SRL-6 is rendered unusable by the transition to the NXT client.

Clarity

2015-04-06 04:12:08

Further discussion that I've read around the web suggests that they will be transitioning to a situation where the client/RS app is downloaded in full onto your computer, like WoW. The old competitive edge of being "playable in browser anywhere" doesn't seem as relevant given 2015's storage space capacities and internet download speeds - does this mean they could employ PunkBuster/Valve Anti-Cheat style BotWatch, and simply scan our systems for known files and file types?

NKN

2015-04-06 07:18:54

From: Clarity
Further discussion that I've read around the web suggests that they will be transitioning to a situation where the client/RS app is downloaded in full onto your computer, like WoW. The old competitive edge of being "playable in browser anywhere" doesn't seem as relevant given 2015's storage space capacities and internet download speeds - does this mean they could employ PunkBuster/Valve Anti-Cheat style BotWatch, and simply scan our systems for known files and file types?


Technically, they can already do that.

Just get ready for the ToS update that says they're allowed to.

bg5

2015-04-06 10:56:13

From: Clarity
Further discussion that I've read around the web suggests that they will be transitioning to a situation where the client/RS app is downloaded in full onto your computer, like WoW. The old competitive edge of being "playable in browser anywhere" doesn't seem as relevant given 2015's storage space capacities and internet download speeds - does this mean they could employ PunkBuster/Valve Anti-Cheat style BotWatch, and simply scan our systems for known files and file types?


Yes, they can do it already. Java works as a backdoor. Someone correct me if I am wrong, I think Java application has even more privilages in your system than anything written in c++, few years ago antiviruses were mostly helpless to malwares written in Java.

If they change client to c++ then color-based bots should work anyway, our only concern will be to make minimizable client simulating keyboard/mouse input, as a last resort one could use VM.

Vocalss

2015-05-06 06:43:22

I think the graphics are stuff look really cool, & im sure coders can come up with some way-around if one's needed.

Richard

2015-05-06 14:47:13

From: bg5
Yes, they can do it already. Java works as a backdoor. Someone correct me if I am wrong, I think Java application has even more privilages in your system than anything written in c++, few years ago antiviruses were mostly helpless to malwares written in Java.

If they change client to c++ then color-based bots should work anyway, our only concern will be to make minimizable client simulating keyboard/mouse input, as a last resort one could use VM.


Don't quote me on this, but I think the way the java security manager works through applets prevents access to certain OS level operations. Generally OS level operations in java are performed using some form of JNI wrapper (whether that be C, C++, C# etc.).

This would definitely be possible in C++ however. Don't know how it would go down from a legal point of view though.

mocrosoft

2015-05-07 03:36:23

via JNI's ,we can still code in java.

Otter

2015-05-29 20:38:00

My honest opinion, I've used bots in Battlefield 2 which was not Java at all. Like anything else well adapt and develope something that meets the new expectations of their client.