Long-running MMORPG Runescape is about to enter a new age. Design director Mark Ogilvie specifically refers to it as the ‘Player’s Age’. And with good reason - the upcoming Runescape 3 release will see the biggest changes in the game’s twelve year history.
A complete system recoding from Java to HTML5, the conclusion of a number of legendary story arcs, a revamped graphical style and a focus on world events where players can directly dictate a story’s outcome.
When you think of all of the hard work that’s gone into the rewrite, it almost seems as if Jagex has decided to make a new
Runescape from scratch. But with a desire to maintain the fantasy RPG’s illustrious legacy, the Cambridge-based developers instead see Version 3 as a long-awaited spring cleaning of the game’s code, and a rediscovering of its original design philosophies.
And there’s a lot of history to take on board. Especially when you consider the super-efficient ways in which Jagex originally coded the game. “Absolutely everything that we did in the early days, we built ourselves. Everything,” Mark says, highlighting a number of creative ways around budget and tech limitations - the sounds were homemade, with the ‘cooking’ clip a recording of the original developers cooking bacon in a frying pan.
“The way we first coded the game... that has knock-on effects to us now,” Mark explains on the decision to modernise the
Runescape code. “The infrastructure, the way the systems work, was really kind of bogged down. Some of the things we’ve learned over the years - code or features that we decided never to do again - still exist. We’re still dealing with technology or scripting that hasn’t changed in around 12 years. It makes expansion quite a challenge.”
The solution was to recode the entire
Runescape backend in HTML5, an emerging browser technology that is much more nimble than the virtual machine approach of Java. Technical director Phil Bielby explained what was involved - taking the two APIs that relate to the server and the game’s content, and writing a new client around them. It’s the equivalent of around 150,000 lines of Javascript code. Yikes.
“It’s been a tricky process,” Phil said. “We’re kind of on the cutting edge of browser technology right now. There are a number of instances during development where we hit a browser limitation. A case of certain features in the tech not yet being implemented by Google for Chrome, for example.
“So things like compilation of shaders, which has to happen on the main animation thread and can’t happen anywhere else. Without that, you’re initially stuck with an occasionally jittery framerate. It’s been interesting to run into problems that might seem simple to fix, but are impossible to act on without actually rewriting the browser!”
These sorts of challenges have since been overcome by Phil and his team, and overall the coder tells me that it was ultimately a very good decision to move
Runescape over to HTML5. Immediate benefits to the new codebase include a much better draw distance, a larger resolution, the ability for players to dynamically arrange their information windows and more.
But, although without Java the developer no longer has to worry as much about loading times and virtual machine startups, Phil revealed that many of the improvements in Runescape 3 have simply come from coding efficiency and rewriting the engine, rather than any specific feature of HTML5.
“With HTML5, we were able to adopt a completely different philosophy to the game’s processes, whereby everything’s on demand - you can get to the login screen in a couple of seconds,” Phil exclaimed. “The larger benefits, in terms of draw distance and things like that, all come from the architecture change as opposed to HTML5. It comes from having rewritten it from scratch with an approach of learning our mistakes.
"We have two opposing forces of technology here. On the one hand, we want to try and make things faster, better, stronger. On the other, we’ve got ten years worth of content that we still want to work and have players access.”
Jagex’s art department knows all too well about this balance during the course of
Runescape 3’s development. With an increased draw distance, areas of the current world map that would normally be obscured by thick fog can clearly be seen in the new version. For art manager Andrew O’Dowd, it initially resulted in a number of humorous curiosities - seeing entire dungeons floating in the game world, for example, or realising that an ocean actually looks more like a river.
“Although it was somewhat difficult to reinterpret, we were also given some great opportunities to make the world much more vibrant,” Andrew explains. “Now, with the extended draw distance, we can show you some of the more foreboding, towering edifices that exist in the game world from further away. We have things like the Dominion Tower and Wizard's Tower which we thought would look great on a horizon, looming over the player.”
Equally challenging from an artistic perspective was the task of rethinking how a range of assets would look in game, whilst updating the aesthetic of
Runescape at the same time. Particularly, as Mark added, that the original game was coded without a graphics engine to speak of, meaning plenty of assets had to be programmed in. “It was certainly something that we were conscious of, because the game was originally put together in a certain way with certain art assets in mind,” Andrew admitted.
“But we’re certainly looking to improve the aesthetic, making it feel like a more open world - more expansive. It’s also given us an opportunity to look at how the world has been created and how it’s perceived by players. It’s a bit like a double-edged sword in that regard. Yes, we have all this extra space in terms of player resolution and draw distance, but we can’t fill it too much because we still have to keep the aesthetics of each world area. We don’t have to completely fill up the space, we can offer wide open vistas now too.”