![]() ![]() “Our aim was to produce as few compromises as possible and avoid the word ‘hack’ at all cost. Producing a new render engine designed to draw things ‘correctly’ that also supports this history makes for a difficult task. It might be a brightness is set many times higher than it should be or an item is rotated to the wrong angle to counter-act some long standing code error. “Much of our game content is designed in a manner that balanced out issues with our current tech. Sometimes this has been a sensible step forward, but on many occasions we have just worked around an existing problem. ![]() “Throughout its 15 years we have changed many things and adapted many times. “Like many success stories in our industry, RuneScape has evolved naturally rather than through rigorous planning,” Burnett observes. Such problems are exacerbated as time goes on, making Jagex’s 15-year leap a journey fraught with hurdles – some of them self-inflicted. On top of that, we’ve completely rewritten all our shaders from scratch and optimised the hell out of them.”Īdapting an engine from year to year can often be challenge enough for devs, as they race to stay ahead of theįast-evolving nature of gaming hardware while simultaneously dealing with the various quirks new tech can introduce to code. “We get much more bang for buck on the GPU as we’ve significantly reduced overdraw through better sorting, and our batching significantly reduces GPU context switching. We’re also making very good use of SSE where it counts and our memory management is so much more efficient than in Java. Our dynamic geometry batching system is partly responsible for this, along with our new innovative dynamic hybrid occlusion culling system, meaning we’re submitting much less to the GPU per world area than in Java. “We’ve significantly reduced draw calls which have a big CPU hit, especially if drivers are poorly implemented. “With the new NXT client we’re much less CPU-bound than with Java,” Gillham explains. By switching to a C++ base over RuneScape’s Java origins, Gillham and his team were able to make the most of modern hardware setups. It’s this last point that stands out as one of the key achievements of NXT. We’ve also got plans to add support for the Vulkan rendering API to reduce driver CPU overhead even further.” “The next round of graphical upgrades will include normal maps, larger textures, point light shadows, particle lighting, physically-based shading, improved volumetrics and further improved global illumination. “The new C++ client gives us easier access to all the latest rendering technologies, which we’re now able to take advantage of with our new architecture, lighting and post-processing pipeline. “With the Java client we’d pretty much hit saturation point in every way there was no more room to manoeuvre,” lead graphics developer David Gillham says of RuneScape’s aging foundation. "With RuneScape’s Java client we’d pretty much hit saturation point in every way." ![]() The result is a client that is designed to cover at least 12 years of hardware – if not a little more.” While we added features for the best graphics cards, such as increasing the draw distance, better anti-aliasing and dynamic shadows, we also lowered the memory and power required for many of the existing capabilities. “It turns out that the aim of giving the best top-end performance and reaching the lowest common denominator is not that far away. “We set ourselves the goal of including 99 per cent of them and making sure we were giving a good level of performance to at least 95 per cent. “Some of our adventurers are bringing the latest in gaming rigs, but some are still playing on the machine they had when we began this 15 years ago,” Burnett reveals. Improvements include longer draw distances, fully dynamic unified lighting and shadowing, industry standard post-processing, and real-time reflection and refractions, especially in the MMO’s water environments. Replacing RuneScape’s existing Java-based client and a scrapped HTML5 version, NXT put a focus on improving performance and supporting a far wider breadth of player hardware to allow a higher fidelity of visuals. “As it became clear we were getting somewhere with the performance control that C++ can provide, the demo graduated into a project.” “NXT began as an innovation team looking into the best ways for us to move forward,” recalls technology manager Mathew Burnett.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |