about 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 →
about 3 years ago - /u/Jagex_Stu - Direct link

Originally posted by Pepo8

"... or get Ancient Curses by viewing the requirements for Desert Treasure."

I think you either mean ancient magicks or Temple at Senntisten 👀

Edited! Thanks, buddy. It'll be our little secret... nobody else on the internet will know. >.>

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

Originally posted by ImRubic

  • How much impact would these changes have on server/game performance?
  • Are future paths on hold until a the path system gets an overhaul with the new system?
  • How much impact would these changes have on server/game performance?

Sufficiently negligible that a player wouldn't really notice. The quest system's doing more direct calls instead of bouncing through the old achievement system, so slightly more efficient, but the quest system is far from being one of our more processing-intensive scripts.

  • Are future paths on hold until the path system gets an overhaul with the new system?

Devs can and do continue using the path system (eg the Archaeology tutorial path that was added). They aren't officially on hold (though personally before doing any future big path initiatives, I'd prefer to rewrite the path system, as the new data format is considerably more elegantly data-driven).

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

Originally posted by ponkyol

Can you look at making some quest requirements soft again? Mostly the Family Crest magic requirement, as skillers could dart the boss because the magic level was only a recommendation, but not anymore because they can't even start the quest.

That sounds like a case where the Magic requirement could probably be removed from Family Crest, if it's not a hard requirement to progress.

Don't you need to cast each of the elemental Blast spells on Chronozon, and therefore need 59 Magic for Fire Blast? How are skillers getting around that?

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

Originally posted by Dorambor

Are there plans to return the quest paths through the activity tracker at a later date or is this a gone forever type deal? I really liked having all the quests up when I was out and about and seeing the appropriate order to do them in combined with the skill reqs was nice to have on hand. I know I can view all that info from the quests page itself but I don't think there's a way to pin say, the World Wakes to the activity tracker and have it fill in all the suggested requirements like we have now.

I'd like to recreate the quest paths after converting the path system to the new achievement format. (But can't give any ETA on that.) Good to know that someone finds it useful!

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

Originally posted by ponkyol

Deathtouched dart :)

Ahh, of course.

Well, if you'd like to send a bug report about it so the request is tracked in our systems, I'd be happy to remove the Magic requirement from Family Crest when I'm allowed the time. (We don't do soft requirements for quests any more, but I could mention the blast spells in the combat description, if it isn't already.)

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

Originally posted by wolfgang169

/u/Jagex_Stu Slightly off topic but do you know if the "Stuffed With Anima" Telos achievement is bugged at the moment? I was trying to do it a week ago but it wasn't completing or even showing progression messages at the end of each phase. I did submit a bug report for it just wondered if you knew anything more

I just checked the live code against changelists and there doesn't appear to have been any changes to the Stuffed With Anima achievement for a long while, other than removing the progress messages (the new achievement engine no longer provides that data server-side to be able to put those in your chat), and switching to a call to the new achievement system when the achievement completes.

In case it's at all a factor in completing your achievement, from the code it looks like:

  • You need to have completed 5 phases when you defeat Telos
  • You need 100% enrage or more each time you complete a phase
  • Your anima charge needs to be at the max value of 100 (whatever that means - I've yet to get a Telos kill - but it's different from your current enrage) each time you complete a phase
  • The progress is saved on a boss instance controller, so ensure you're in a solo instance (I think that's the only way you can fight Telos anyway)
about 3 years ago - /u/Jagex_Stu - Direct link

Originally posted by GuskiS

  • Will this overhaul of achievements fix bugged/boosted runescores?

  • Will this new achievement system have public API to get which achievements players have completed?

  • Would you consider writing dev blog posts about stuff like this? Obviously without code sharing, but describing problem in detail and providing solution/ideas without breaking NDA/stuff like that?

  • If I remember correctly, the final decision was to retain the value of runescore highscores, rather than mirroring them to the runescore in the new achievement system, so that players didn't lose their highscore values
  • I know nothing about a public API for achievements, so presumably no.
  • Happy to. Dev blog news posts are a little trickier and require a good amount of notice, as they need to be localised for all languages we support, which puts extra strain on our translation and editorial teams, so it's something we have to factor alongside other project requests in their queue.
about 3 years ago - /u/Jagex_Stu - Direct link

Originally posted by Wobbel96

Since the achievement update, there is no soundtrack playing anymore when completing achievements (for example from the diaries). When are you fixing that?

If I remember correctly that was a feature of the old task system, before area tasks were consolidated into the achievement system in 2017, which chooses from one of several subtle variations of achievement jingles whenever you complete an achievement.

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

Originally posted by Rasarra

Touching the achievements subject... u/Jagex_Stu what about achievements that can only be completed in a specific time? Like MA (Mobilising Armies) and Steam Release? Does not make sense that it shows ''Play more of the game to unlock this achievement.'' it is impossible. Is kind of sad that you cannot complete them all due this 2 achievements, and puts down someone that wanted to do this.

That's a delicate one.

My preferred approach is that achievements that can't be completed any more should be removed. Therefore we initially removed Mobilise This.

However, some players who had completed the achievement were vocally upset because their special accomplishment had been taken away. The Steam Release achievement had also recently been released, so we re-enabled Mobilise This.

Have recently had conversations with Steam stakeholders and was able to negotiate permission to remove the Steam Release achievement.

However, whether we remove these timelocked achievements or keep them in, there's going to be people on the other side of the argument who'll be upset by the action taken.

The optimal solution is to implement a feature where if you've completed that achievement, it's visible to you, but you don't otherwise see it and it isn't included in achievement tallies.

That should hopefully make both parties happy. (Though it does break our intended transparency rule that achievements should always be visible to the player - which is why the feats now have a presence with their name and description obfuscated).

However now that the achievements are calculated by the engine, implementing this special type of achievement behaviour will require engine work. And the developers who can do that work are focused on releasing mobile for the foreseeable future. So it's in limbo for now.

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

Originally posted by Dracosbunz

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.

While you're at this, can you also code it so that a hard membership requirement is also ignored? Some achievements can be done in free worlds, but won't unlock because the content was previously member's only (e.g., fletching rune bolts in Varrock tasks). Members' only tasks will remain locked to members as free players cannot access the content that unlocks them.

That seems like something it would be better for us to fix with achievement data. The achievement either requires you to be in a members' area or it doesn't.

We simply copied across the member data from the previous achievements, so likely various achievements default to membership that need a F2P flag. (There used to be a policy that achievements always required membership.)

If you could send a bug report listing the achievements you feel should be F2P and you currently can't complete in F2P, we could resolve that as a bugfix without engine work.

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

Originally posted by wolfgang169

I went back and managed to get it done thanks again for checking.

Yay, that's great to hear! Gratz! :D

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

Originally posted by NearlyDeadNoob

Hey Stu, if we're talking about requirements, here's two more, would be great if you could take a look at them. The Lost Toys miniquest had the following req added in 2019 (quote from Patch Notes):

The Lost Toys miniquest now requires Lord of Vampyrium, as it unlocks areas containing the last of the lost toys, so is required to complete the miniquest.

However, this req has been made redundant since the Arch release: the toy you needed to start (not even finish) Lord of Vampyrium for, was on the Icyene graveyard, which can now be reached from the Everlight digsite.

Second, there's the Aid of the Myreque quest, which requires 7 magic. This requirement is there because you have to cast the Lvl-1 Enchant spell. However, it's also possible to use a Lvl-1 Enchant tablet, which has no magic requirement... so the quest requirement is redundant.

Ah, lovely. Thank you for the info. I copied the reqs from the wiki at the time of adding all the miniquests to the quest system. Those alterations for an Everlightened world make total sense.

Would you be able to please send these in an ingame bug report so they can be registered in our ticketing system by QA?

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

Originally posted by kakardo

Gold standard as always. I learnt about you through your stu-torials when I came back to the game after being away for years, and you are my favorite jmod! <3 take care and your work is really appreciated! Cheers!

<3

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

Originally posted by skillbert_ii

Very nice post /u/jagex_stu, i always love hearing about what goes on behind the scenes. The achievement system and trim comp before that is the main reason i play this game.

Is it realistic to expect compare mode back soon or is that a backlogged project? One of the main uses for it was to check if someone else met pvm requirements and such. I had some big plans with it in relation to RuneApps but that is in a bit of limbo right now.

Thank you!

Alas, other than the above quest system decoupling that I snuck in during the Christmas downtime, and the engine change for boostable achievement stat prereqs mentioned at the bottom, I don't anticipate any further achievement development in the near future as long as finishing mobile remains CXP's #1 priority, unless a different team picks up something achievement-related in the meantime.

Rest assured, I do want to work on achievements/paths first chance I get - we have a whole second batch of additional achievement work, like rewriting the compare mode and improving the achievement interface - that was descoped from the 2020 release as getting the engine-cached data live was so time-critical (for continued creation of achievements for quests, bosses, Construction contracts, etc). It's definitely not "shelved", but currently mobile requires my team's exclusive focus.

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

Originally posted by Prcrstntr

Should I get my quest cape before this breaks something?

You should, yes, but not because of that risk. I encourage any excuse to quest moar.

IMO, as much as I like my comp cape, there's only one cape better than the quest cape, and that's the master quest cape.

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

Originally posted by XeitPL

Too bad. I really liked that achievement paths. It was nice to have clear path to some nice big target

To clarify, achievement paths are still a thing. I've just had to temporarily remove quests in paths until I can rewrite the path system to use the new engine-cached quest achievements.

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

Originally posted by legolasvin

So... Not sure if this will be helpful or if it's already being considered, but the previous system had a X/250 count which helped a lot.

For eg: I could see for MQC that I was 170/233 done. The new system has no such count that is maintained. Sure you could go in the Lore section and count all the different sub sections like post quest, miniquest, lore books, etc. But that is 8 achievements short of the 233 needed for MQC (Specific example because I'm going for it right now)

This has proven to be irritating and I really wish that it could be brought back

I hear ya. We may be able to append a tally of the total and completed requirements in a meta achievement to the meta's description. Not sure if we can do it the easy way by counting them up clientside, or if a new achievement engine command will be required to get that information. Something we'd like to look at when we're allowed to commit development time to improving the achievement interface, for sure.

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

Originally posted by Californ1a

which is why the feats now have a presence with their name and description obfuscated

It'd probably be better to at least show the names of those, because a list of 30 or so "this achievement is hidden - play more of the game to unlock this achievement" is kind of useless to the player. If you show the name but keep the description hidden, then people could at least wiki search for those achievements if they're trying to get them. As-is, it's not possible to know which ones you don't have in order to try to go for them without looking at the full list on the wiki and trying to compare against which ones you do have done.

Two alternatives though, you could go the steam route showing that there are 15 more achievements but they're hidden, or you could do something like this showing the name of each, and hiding the description unless you mouseover it (or more likely, click/tap it). Personally I like the second option because it adds the info in-game, so you don't have to go off to the wiki to find out how to get the achievement if you're really wanting to go for it, but it still keeps that info hidden for those who want to keep it a secret.

That's a really good idea (a button that reveals the description if you click it, similar to the required items field in the quest interface). Would be the best of both worlds.

Not sure how achievable that is as Mod Asherz looked after the achievement system & engine work (I was the cheevo data monkey), so would need investigation, but I love that approach.

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

Originally posted by Wobbel96

Yes, exactly! So I understand they were removed on purpose? I really miss the jingles, they gave a real vibe and experience of achieving something. (for example: https://runescape.wiki/w/File:Wilderness_task_hard.ogg or https://runescape.wiki/w/File:Varrock_tasks_all.ogg)

We could theoretically reinstate those by triggering them from the area task code that flags the area task variable and achievement popup. Actually quite surprised they didn't continue to occur. (Presumably these special jingles were more deeply embedded in the old task system and didn't survive when we created a new achievement system.)

For clarity's sake, did these jingles happen when you completed the last achievement in a difficulty set, or when you claimed the reward from the task giver for that set?

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

Originally posted by XeitPL

Thanks for clarifying that :) I would love to see your code someday as I'm sure that there is nicely written documentation and comments for everything. But tbh achievement paths are kinda extended tutorial for new players but there should be more indication that they can find this thing. It's really hard to find if you accidentally close menu. Most of the new players probably feels overwhelmed (like I did) from amount of content and possibilities and this is one of the best things that they can find.

I would love to see your code someday as I'm sure that there is nicely written documentation and comments for everything.

"Oh, my sweet summer child..." ^ . ^

Actually yes, but mostly because I know Future Stu is going to look at the code with zero recollection and go "who wrote this nonsense and what the everloving heck were they thinking?"

Yeah, I'd definitely like to rip out the path interface and rewrite it to be more accessible, when mobile is less of a thing.

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

Originally posted by MooseLovesTwigs

I’m glad to hear you did give warning about removing achievement paths but personally this is quite a devastating loss for me. I can’t see a nice list of what quests I need to complete world wakes(or many other paths I used daily) and now am finding it very annoying to have to flip manually through many quests each time I need to check a requirement. I suppose I will just have to write it all down from here on but I would just like to say that those achievement paths were important to me and made my life much simpler. Please re-add at least the big ones. ( lunar spellbook, ancient magicks, curses, elven city of prif., world wakes, silske’s endgame, etc.) for the benefit of new and old players trying to see how to progress towards these goals. Anyways I’m glad for all the progress you are making towards the future of the game and for communicating with the players. Thanks for all your hard work.

Thank you for your feedback!

I realise it's far from the same feature, but in case you're not aware, you can click the requirements listed for a quest in the Adventures -> Quests list, and there's a back arrow in the bottom-left corner to step you back from the quests you've jumped to.

Might help for planning out your route through the quest web to eg Plague's End or Temple at Senntisten.

If I remember correctly, recommended quests are also clickable (such as the optional quests recommended for the World Wakes).

Sorting by quest series may be helpful too (eg elf series to get you to Prifddinas).

And if in-game features aren't enough, the requirements for quests on the wiki are listed in a nicely collapsible format. Gone are the days when we had to write our quest goals out by hand. :D