Jump to content

The New Runescape Client ~ NXT (a C++ Client) - Developer Blog


Miss Lioness

Recommended Posts

 

 

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

 

Some pictures were released with the post as well:

 

NkMyyEZ.jpg2jTJ928.jpgMTtXNya.jpg

hcldu73.jpgNcKUMMn.jpg

Our deepest fear is not that we are inadequate. Our deepest fear is that we are powerful beyond measure. It is our light, not our darkness that most frightens us. We ask ourselves, 'Who am I to be brilliant, gorgeous, talented, fabulous?' Actually, who are you not to be?~ Marianne Williamson

 

For account help/issues, please follow this link:

Account Help

. If you need further assistance, do not hesitate to PM me or post here.

Link to comment
Share on other sites

The pictures look nice...and looks like RuneScape survives Java, good job I guess :P. Now let's get a C++ beta out and hope this one has a better fate than HTML5!

"Fight for what you believe in, and believe in what you're fighting for." Can games be art?

---

 

 

cWCZMZO.png

l1M6sfb.png

My blog here if you want to check out my Times articles and other writings! I always appreciate comments/feedback.

Link to comment
Share on other sites

I'm excited for a standalone client, so long as we can tone down on everything being so dark...

Runescape player since 2005
Ego Sum Deus Quo Malum Caligo et Barathum


 

Link to comment
Share on other sites

http://imgur.com/a/xoDUq

 

You can compare new with old here. :)

"And then along came the C++ client, and Ashdale was rainbow city no more..."

 

Yeah, some of the colors look more muted on the right and some more lively. Kind of interesting how that's the case, but overall I do like the set on the right better. Now let's see Daemonheim and if we're still going to be Dungeoneering in the Dark in high detail.

"Fight for what you believe in, and believe in what you're fighting for." Can games be art?

---

 

 

cWCZMZO.png

l1M6sfb.png

My blog here if you want to check out my Times articles and other writings! I always appreciate comments/feedback.

Link to comment
Share on other sites

Honestly, it looks more realistically with the C++, far less vibrant fantasy like.

Our deepest fear is not that we are inadequate. Our deepest fear is that we are powerful beyond measure. It is our light, not our darkness that most frightens us. We ask ourselves, 'Who am I to be brilliant, gorgeous, talented, fabulous?' Actually, who are you not to be?~ Marianne Williamson

 

For account help/issues, please follow this link:

Account Help

. If you need further assistance, do not hesitate to PM me or post here.

Link to comment
Share on other sites

I think it's pretty reasonable to assume a standalone downloadable client would not have load times for moving between areas.

Now that would be awesome, but what exactly is stopping them from doing this with the current client/setup again? I have a ton of free hard drive space just sitting there...

"Fight for what you believe in, and believe in what you're fighting for." Can games be art?

---

 

 

cWCZMZO.png

l1M6sfb.png

My blog here if you want to check out my Times articles and other writings! I always appreciate comments/feedback.

Link to comment
Share on other sites

 

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.

 

YES, finally, runescape works like crap on a mac, even compared to a windows computer with specs half as good as my mac has... (not saying that my mac has good specs... but should be good enough for runescape).

http://sign.tip.it/1/2/79/260/essiw.png

Retired item crew

I would like to be credited as essiw at the website update & corrections forum. Thanks!

Link to comment
Share on other sites

I love all the Dunning-Kruger sufferers on various places trashing Java and proclaiming how much better C++ is without knowing any of the technical details.

 

If I had the time, I'd correct every one of them, but oh well!

ozXHe7P.png

Link to comment
Share on other sites

 

I think people will be most concerned with the load times for moving between areas.

 

 Literally from the blog:

● Improved loading speed

 

Thanks, and I literally meant that people will be most concerned with load times. As in that there probably wouldn't be anything else of concern to them other than that. All of those other specs will probably mean nothing... Except for maybe fps boosting now that I think about it. I strongly believe the communities interests haven't changed over the last one and a half years.



Maxed [February 14, 2012] | Completionist [October 25, 2012] | Trimmed Completionist [in Progress]

Visit my Blog!


u_rza.png

Link to comment
Share on other sites

Hopefully this delivers all they promised with html 5 and more.

 

Certainly a more tried and tested solid base to build a game on that should be able to support better load times etc for most machines and good that they are moving away from java since it does kinda limit what they can do long term especially with it being kinda a dying breed in terms of support etc.

 

Can't wait for beta to arrive!

 

For me the big boons C++ should bring, aside from optimisations in general, is that it generally should be better at rendering textures onto models so they'll look nicer, it's kinda better at doing diverse colour palettes so helps nudge things to more realism than existing colourings and, most of all, much better lightning engine possibilities to properly show off the nice model work on newer stuff.

Plv6Dz6.jpg

Operation Gold Sparkles :: Chompy Kills ::  Full Profound :: Champions :: Barbarian Notes :: Champions Tackle Box :: MA Rewards

Dragonkin Journals :: Ports Stories :: Elder Chronicles :: Boss Slayer :: Penance King :: Kal'gerion Titles :: Gold Statue

Link to comment
Share on other sites

Hopefully this delivers all they promised with html 5 and more.

 

Certainly a more tried and tested solid base to build a game on that should be able to support better load times etc for most machines and good that they are moving away from java since it does kinda limit what they can do long term especially with it being kinda a dying breed in terms of support etc.

 

Can't wait for beta to arrive!

 

For me the big boons C++ should bring, aside from optimisations in general, is that it generally should be better at rendering textures onto models so they'll look nicer, it's kinda better at doing diverse colour palettes so helps nudge things to more realism than existing colourings and, most of all, much better lightning engine possibilities to properly show off the nice model work on newer stuff.

Or playing at a higher camera angle to feel the environment more. I mean we have been blessed quite well with our camera options, but why not push the button?
  • Like 1



Maxed [February 14, 2012] | Completionist [October 25, 2012] | Trimmed Completionist [in Progress]

Visit my Blog!


u_rza.png

Link to comment
Share on other sites

 

Honestly, it looks more realistically with the C++, far less vibrant fantasy like.

That's not necessarily a bad thing. It was a bit too oversaturated before, and the more subtle look is pretty beautiful.

 

more importantly, we'll finally be able to color balance our outfits i mean ffs i keep turning orange whenever i go to freneskae

  • Like 1

8f14270694.jpg

Link to comment
Share on other sites

 

 

Honestly, it looks more realistically with the C++, far less vibrant fantasy like.

That's not necessarily a bad thing. It was a bit too oversaturated before, and the more subtle look is pretty beautiful.

My thoughts exactly. I like how like, idk, toned down and, "honest" ? Can't quite pinpoint it - but it looks great.

 

Once this comes out, when people ask me what games I play, I won't have to answer "Titanfall" anymore.

 

 

 

I think it's pretty reasonable to assume a standalone downloadable client would not have load times for moving between areas.

Now that would be awesome, but what exactly is stopping them from doing this with the current client/setup again? I have a ton of free hard drive space just sitting there...

ja ja ja ja ja ja java

 

I'd imagine it'd have something to do with the fact Java tends to be slower than other languages. Java is made for portability overall, which has downsides when it comes to speed. Later versions of JAVA have more or less solved this - but if anything, I think that could be a big cause of it.

(For a more indepth answer: http://en.wikipedia.org/wiki/Java_performance )

 

inb4 "saruuretardthatsnotrite"

I have all the 99s, and have been playing since 2001. Comped 4/30/15 

My Araxxi Kills: 459::Araxxi Drops(KC):

Araxxi Hilts: 4x Eye (14/126/149/459), Web - (100) Fang (193)

Araxxi Legs Completed: 5 ---Top (69/206/234/292/361), Middle (163/176/278/343/395), Bottom (135/256/350/359/397)
Boss Pets: Supreme - 848 KC

If you play Xbox One - Add me! GT: Urtehnoes - Currently on a Destiny binge 

 

Link to comment
Share on other sites

 

I think it's pretty reasonable to assume a standalone downloadable client would not have load times for moving between areas.

Now that would be awesome, but what exactly is stopping them from doing this with the current client/setup again? I have a ton of free hard drive space just sitting there...

 

The most likely reason for this is that they would have had to refactor large portions of the RuneScape client. Why do this again in Java when they can opt for C++ and ensure performance in areas Java does not excel?

ozXHe7P.png

Link to comment
Share on other sites

I was saying mostly because current Runescape client has the game data on Jagex's servers and you have to load the data for new areas whenever you go to a location that hasn't loaded yet, but if the game was downloaded on your computer (standalone downloadable client), then you wouldn't have load times as areas would be able to be loaded before you even get to them.

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.