News

Dev Blog | NXT - Can I Run It?

Here's the next in our NXT dev blog series, answering one of the biggest questions - can I run it? (Spoilers: yes, you can!)


Can I run NXT?

With the release of more amazing screenshots and videos of the new NXT client, no doubt the question many of you want answered is whether you can play it without having to go out and buy a new PC.

Short answer – yes! RuneScape has earned a reputation as a game that can be played on very modest hardware, with some of the lowest system requirements of any actively maintained game. We have no plans to lose that reputation with NXT, and we are pulling out all the stops to make NXT run better than the existing Java-based client on any PC, and look better at the same time.

OpenGL

Since we are building a brand new game engine from the ground up, we have complete freedom with our system requirements. Despite that, we able to also support as low as OpenGL 2.0 at a minimum, which was released around the same time as Half-Life 2 – 12 years ago in 2004! Not only that, but we have managed to pull off modern triple-A effects on graphics cards from over a decade ago – so even on really low end hardware, NXT still looks amazing.

For newer graphics cards, we will be taking advantage of features added in later versions of OpenGL to provide high-fidelity lighting and shadows in the most efficient way possible. We are not holding back modern GPUs, even low powered ones like the Intel HD series – it is our aim to squeeze as much performance as possible out of any given hardware.

Water Effects

You’ve never seen RuneScape with water like this

There has been some confusion over why we have selected OpenGL instead of DirectX, with misinformation about it being somehow worse than DirectX – this is completely false! Remember that we are starting from scratch – don’t take the current RuneScape DirectX and OpenGL settings as an example of how the two compare.

We have selected OpenGL because of its superior cross-platform support, as well as backwards compatibility. It allows us to target the greatest range of computers with the fewest compromises.

That being said, there are some very old graphics cards out there that do not work correctly with OpenGL– for that scenario we are taking a leaf out of Google’s book and using the same system they use in Chrome to run our OpenGL code under DirectX 9 via Angle - a last resort, if your graphics card isn’t up to scratch.

We hope to support more modern rendering APIs soon, and we have built NXT so it would be easy to add DirectX 12 or Vulkan support in the future. Our state-of-the-art rendering layer also means NXT is completely agnostic of any rendering API, so unlike Java there will not be visual differences between APIs.

AMD vs. Nvidia

In terms of GPU brands, we are currently seeing roughly equal performance between equivalent Nvidia and AMD cards. With at least one AMD user on the NXT team, you can rest assured that NXT will run well regardless of which camp you fall into.

We have spent hundreds of man-hours with specialist tools offered by AMD and Nvidia to get everything possible out of their cards. The end result of our optimisations is higher FPS across the board and equality between cards. As a more concrete example: a Radeon HD 7770 or a GeForce GTX 460 will be able to max out NXT at 1080p 60 fps. Considering some of the modern effects we do at max graphics settings and the fact that we do shadows and irradiance in real time, this is an incredibly low recommended spec compared to other games on the market.

Real-time shadow rendering

We render all our shadows in real time - because we can

Thanks to OpenGL’s excellent backwards compatibility, we are able to scale things down and to support some positively ancient cards too. NXT even works on cards like the Nvidia GeForce 6150 from 2005 and the ATI Radeon 9800 from 2003. We have made every effort to ensure that even people stuck with Shader Model 2 graphics cards from 10+ years ago can enjoy NXT, albeit at lower quality, of course.

Intel Graphics

For those with Intel HD graphics, you have not been forgotten about. With a decent CPU (Intel Core i3 or above) you should have no trouble seeing 60 fps with better graphics quality than Java.

Of course as you increase the draw distance and enable advanced shadows and reflections the framerate will decrease, but we have made every effort to maximise performance and I think it is safe to say we have achieved far more from Intel GPUs than any other modern game engine – many of which do not even work on Intel graphics. Even with some eye candy enabled, we were able to consistently produce 30fps on Intel HD CPUs.

NXT at minimum settings

Our minimum settings are still really pretty, with things like global illumination as standard

Even if you have an Intel GPU from before the HD series – things like the X3100, GMA 945, 'Intel 4 series', etc. from as far back as 2005 –we have you covered. Literally no other modern game engine even considers targeting these cards, because from a developer’s perspective they are fundamentally broken as well as painfully slow. And yet we actually managed to get NXT working on them – you can expect around 10-15 fps on a PC equipped with one of these, which is slightly higher than the Java client and still manages to look slightly better.

4K and 144Hz monitors

Unfortunately, our 4K support has not changed. As with Java, it will work, but the interface will not scale up. This is something we plan to correct. On the bright side, 2K/1440p monitors look really good, and are actually what we use for development.

Unlike Java, we have no FPS limit, so more powerful computers can take full advantage of 144Hz monitors. We also offer a range of VSync options – beyond the standard on/off we also offer support for Adaptive VSync, which automatically turns off VSync when the framerate dips to give you the smoothest possible experience while also minimising tearing.

Global illumination - off Global illumination - on

Our irradiance system brings global illumination to Runescape, simulating the effect of sunlight bouncing off surfaces and adding a whole new depth to the lighting (off above, on below)

CPU requirements

In terms of CPU, generally anything that can run the Java client will have no issues keeping up with NXT. At the lower graphics quality settings, NXT requires dramatically less CPU power than Java, so if CPU was previously your bottleneck you will see increased framerates.

Multithreading comes up regularly, and there has been some confusion about our answers on this front in the past. We do use threads, but in an MMO game such as RuneScape there is actually very little work that needs to be done on the CPU – unlike other games, we have no client-side AI or physics to worry about. So while we do make use of threads for things like asset loading and audio, do not be surprised to see disproportionately high main thread CPU usage.

We have not neglected CPU optimisation, but rather we have focused on SIMD and memory/cache optimisation over adding additional threads, so even players with single core CPUs can experience good performance – and only 2 cores are necessary to achieve ideal in-game performance. Loading times and the degree of stutter when moving between areas will still improve further with more than 2 cores.

Optimisation in action

Some of our optimisation magic in action – the boxes represent unseen things that we are able to intelligently skip sending to the GPU using our innovative dynamic hybrid occlusion culling

As we are using SIMD instructions to boost performance, we require a CPU that supports at least SSE 2. If you are running Windows 8+, your CPU definitely supports SSE 2. If your CPU was made this side of the millennium and isn’t an AMD Athlon XP (1999-2004), your CPU supports SSE 2. It’s probably not something anyone needs to worry about.

For AMD CPU users, we have seen generally slower performance than Intel CPUs (which is to be expected from their specs), though for the most part it is not something that you need to be concerned about unless you are aiming for 60 fps on max settings. The impact is lessened if you have an Nvidia graphics card, which we have observed to have a lower CPU overhead than an equivalent AMD graphics card. We are continuing to work on optimising the performance on AMD CPUs and hopefully stable 60 fps on max settings on an AMD CPU + AMD GPU will become a reality.

We will support both 32-bit and 64-bit computers, and will be shipping a native 64-bit executable to machines that support it. Performance may be marginally better for 64-bit, but there shouldn’t be too much difference. For anyone using Linux, we will only be supporting 64-bit at launch. On Windows, 32-bit is fine - we'll even be supporting Windows XP!

RAM

Currently 2 GB of RAM is enough to run NXT at lower draw distances, while 3 GB is necessary for higher settings (we officially recommend 4 GB to be on the safe side). These figures are total system memory – the actual consumption stands at around 1GB at lower settings to around 2GB at max. If necessary you can get away with less, particularly with a dedicated graphics card – we have run NXT successfully on a machine with just 1 GB of dedicated RAM.

Irradiance comparison - Java Irradiance comparison - NXT

Our real-time irradiance, shadows and SSAO bring a new level of detail and depth to Runescape’s lighting (Java above, NXT below)

Disk space

In one of our live streams, it was stated that 10 GB of disk space would be required for NXT. Some people misunderstood this to mean that you would need to download 10 GB of data before being able to play NXT. That is not the case – NXT works exactly like the current Java client and will allow you to play immediately after downloading the client itself, which is just a few megabytes. The cache - which is what 10 GB referred to - will be downloaded in the background while you play, just like it is currently. The total download size is actually much less than 10GB (about 1.9GB), as the data is all compressed during transmission. Also, 10 GB is a conservative estimate and it will likely use around 75% of that. The current client already uses almost as much, so hopefully this will not be a problem.

As NXT displays many fewer loading screens, those of you with faster, less fragmented disks will experience less stuttering when moving between areas. This is exactly the same situation as any other open-world game. Overall, you won’t be disappointed in the loading performance even if you are stuck on a 5400 RPM hard disk. You don't need to buy an SSD just to play RuneScape!

Summary

  • Any computer that can run NXT will run it smoother and with better quality than the current Java client.
  • We are aiming for over 99% of players to be able to use NXT on their current computers.
  • You can run NXT on high at 1080p 60 fps with an i3 CPU and GTX 460 / Radeon HD 7770.

Mod Dark
Graphics Engine Developer