over 3 years ago - /u/Jagex_Stu - Direct link

As communication is a hot topic at the moment, I want to give you advance notice of a tech debt project I developed for a few days while working over Christmas, which if all goes to plan should release alongside the Valentines game update in mid February.

As you may have heard, we shifted over to a new engine-cached achievement format last year. The achievement interface displays nearly 3,000 achievements and some of their conditions are very programmatically complex, as RuneScape is a strange beast.

We'd basically reached the point where the volume of complex achievement data the achievement system needed to process was hitting the limits of our scripting language, so we needed to recreate all that data in a format the game engine interprets, to be able to continue adding achievements.

Over time we intend to gradually phase out dependencies on the old achievement system, so we can retire it. And consequently be able to improve its interface.

The old achievement system is quite foundational, though, and still interfaces with a lot of game systems.

The next step is to remove dependencies on the old achievement system from the quest system, so that quest developers only have to create quest achievements in the new achievement system instead of both. That's what should release in February.

We already created the new quest achievements and adapted the quest complete screen to display them in 2020's achievement release, so this won't affect your current quest data. This just entailed rewiring all the references to the old achievement system in the quest system to plug into the new achievement system, and removing redundancies wherever possible.

Although a lot has changed under the hood (because the quest system also plugs into lots of sub-systems), there shouldn't be any player-facing difference, other than two key impacts:

1) Removal of quest achievements in achievement paths

I've now migrated the quest system to fully interconnect with the new achievement system. However, the path system is entirely a feature of the old achievement system. The path system needs a complete rewrite to use the new achievement data format, which is a whole other project in itself.

(A project I started last year, but had to put on hold to help Mod Asherz finish the achievement conversion project, which was a ginormous undertaking.)

So in order to release this quest increment ASAP (and therefore not further impact the quests and miniquests developed this year), I've had to remove all quest achievements from paths, and paths that are composed entirely of quests, such as the quest series paths, because quest achievements in the old format won't exist any more.

ie I've had to remove all the quest series paths listed here: https://runescape.wiki/w/Achievement_Paths#Paths

The quests themselves aren't gone! Just the achievement paths that list quests. So with all the paths with quests removed, the default path book looks like this:

  • Novice Explorer
  • Archaeology
  • Dungeoneering
  • Construction
  • Bossing

I'm hoping those quest series paths aren't actually used very much. I implemented them before I implemented the Quest Series sort in the quest list, and I hope that largely makes them redundant. You can find out the full requirements for The World Wakes from the suggested quests in The World Wakes overview screen, for example, or get Ancient Curses by viewing the requirements for Temple at Senntisten.

It should be minimal work to recreate the quest paths if they're still desired, after rewriting the path system to use the new quest achievements. But mobile is the Core Experience team's #1 priority until its release, so I don't anticipate I'll be allowed to do any more work in the achievement space until mobile ships.

2) Quests and removed paths will be cleared from your activity tracker on login

The activity tracker was tracking quests using the old achievement system's IDs. As those have been removed, invalid IDs will be cleared when you log in. If you were tracking a quest and want to keep tracking it, you'll just need to set the quest as active in your quest interface.

If you were tracking one of the paths that've been removed, that path will also be cleared from your activity tracker, so that you don't have blank tracker slots.

I hope that provides some clarity, as this was quite an under-the-hood feature that's mostly invisible to players. (And largely mystifying to producers.) There should hopefully also be some patch notes on release that summarise the player-facing impact.

One other thing to expect on the achievement side, is an engine change to ignore skill requirements on achievements, so that they can be boosted. If all goes well that should release in the next full stack engine release in early February.

External link →