Re-applying the decal

Some of you might know this, others might not even care, but one of my private passions is a MMORPG game called "Asheron's Call" that Microsoft originally published with Turbine games.

Valorie started playing it first (she was an early playtester for it), and I got hooked when I put out my back several years ago.

It's been a long strange trip, AC is no longer published by Microsoft, it's now being published by Turbine directly, but the game's still pretty fun to play.

One of the reasons that AC is compelling (IMHO) is that Turbine has not discouraged 3rd parties from writing tools that enhance the gameplay experience of AC - there's an extremely rich infrastructure of tools that enable all sorts of interactions with the game beyond those that the designers anticpated (automating crafting interactions, auto-salvaging of loot, monster detection, etc).  These plugins all run in a framework known as "decal".

Turbine recently released an expansion pack which rolled out an entirely new client (based on Turbines AC2/D&DO/LOTRO client).  This has broken all the 3rd party applications that were built for AC, because of the massive infrastructure changes that were introduced.

Adam Wright (Asriel), one of the decal developers has been posting a fascinating series of articles that describe the process that the decal developers are going through to re-create the decal functionality on top of this new client.  It's well worth reading, even if you don't care about playing AC.


Comments (14)

  1. Anonymous says:

    Auto-looting and especially auto-fighting are just like auto-aim in FPS – they ruin the game because it no longer requires any skill. To a certain degree that’s true of all the trackers as well, not just mobs but resources as well.

  2. Anonymous says:

    Seems like that "decal" is not an official framework and looks like some kind of scriptable memory _cheat_.

    But IMHO it is not fair to use such scripts or FWs in MMORPG’s as it is a clear unfair advantage against players that don’t use macros or scripts.

  3. Drakier says:

    Without knowing a lot abotu Asheron’s Call or Decal in specific, it’s hard to be able to make judgement calls about how much of a cheat it is.

    I whole-heartedly agree that combat macros (auto-fighting) is clearly something that gives someone an unfair advantage. I do not agree with combat macros of any kind.

    That being said, there are a LOT of functions that Decal provides that enrich the experience and enhance gameplay without unbalancing or giving anyone any sort of advantage over anyone else.

    in Asheron’s Call, some character types are very difficult to play.. especially the mage characters. This comes because of the way the mage was designed and implemented. Melee and Archer characters have an "Repeat-Attack" that will basically allow the character to keep swinging or shooting at a creature until it dies. Mages do not have this luxury, and it makes them difficult to play. Plugins can perform this same function because of Decal.

    Another thing that Decal has provided in the past that wasn’t there initially in AC was a "component buyer" system. This allowed a mage character to stock up on spell components relatively quickly, rather than the tedious click, drag, buy that it used to be.

    Turbine eventually put this functionality in the Game because they saw how much of a boon it was to players. It most likely would not have been implemented had it not been for Decal and the initial plugin first.

    To lay a blanket statement down as Decal being a cheat is unfair without knowing the depth of what decal can do, and the morals of the developers developing Decal. (I won’t get into the morals of some of the plugin developers.. that’s a whole different story)

  4. Jerry, Drakier’s spot on here – Decal’s like a gun – it can be used for harm, but it can also be extremely beneficial.

    For instance, playing an archer, you’re essentially required to have a crafting character whose sole job is to craft items. This quite literally involves thousands of repetitive operations – click here, click there, wash, rinse, repeat.

    Decal allows those crafting interactions to be automated, without it, the tedium associated iwth the game would be increased.

    It also allows for automation of other manual processes, like self-buffing (and buffing of others).

    It also allows for automation of the trading system – AC doesn’t have an automated trading system, you need to run a bot to implement that.

  5. Anonymous says:

    As a long ago and long time player of AC, I need to correct a few of you real quick. Decal was originally created and used to help with the menial portions of the game. Inventory management, crafting, stuff that everyone HATED to do, and did while watching a fave tv show or movie. It was only later that unattended combat macroing (UCM) came in to the game, and only by a few people.

    I think it’s awesome that Asriel is not only continuing with an incredible piece of software, but that he is also blogging about the work.

    Almost makes me wanna drop back in to the old game from AC2.

    Larry, you should try AC2 if you ever get bored with AC!

  6. Stephen Veiss says:

    Whatever your opinion on Decal (just about everyone in the AC community has one, and a few are quite vocal about sharing theirs), I think it’s a pretty impressive piece of software.

    For those who aren’t familiar with it, Decal is basically a (fairly) stable and comprehensive plugin API, hooking into a binary which changes every month – and it was built without access to the source code or debug symbols for the hosting binary. This isn’t done by screen-scraping the display buffer or sending keyboard messages to the application. Instead, it grovels around in the running client process, and inserts hooks to play around with the client’s internals.

    It’s horrible software engineering, of course – and breaks every update as a result – but an interesting piece of technology nonetheless. As Larry says, it’s well worth reading about.

  7. Anonymous says:

    I haven’t heard Asheron’s Call mentioned in quite some time. I played it from beta on for about two and a half years. I remember when Decal first came out and how much of a relief it was that a lot of the mundane chores could be delegated to various plug-ins. Sure there were people out to cheat the system, but the good outweighed the bad and fortunately Turbine took the right stance on it.

    I’ve played two MMO’s since AC, one of them supported third party tools and one of them did not. It was unfortunate for the game that chose not to allow them since there were a number of mindless tasks I would have been more than happy to relegate to a group of scripts. A few people wrote some tools anyway and were eventually threatened into removing these tools, which ended up with a lot of bad press and unhappy players. The more recent one not only embraced tools written by their player base but included a scripting language into the game to support and encourage the players to do so. Some of the best tools created by players have been re-written to be included directly in the game client.

    The most recent game had the luxury of learning from history while Turbine was in somewhat uncharted territory, for this I give them kudos.

  8. Anonymous says:

    "like self-buffing (and buffing of others)"

    And they let *children* play this game? For shame! 😀

  9. Anonymous says:

    Wow, that’s a ego boost. I come back from London to find a trackback from one of the first blogs I put on my roll, from a developer who’s work and opinion I’ve come to greatly respect through his writing.

    Rather than get into a moralistic debate that’s more a blog post and to prevent degeneration into gushing epithets, I’ll just say many thanks for the kind words Larry, and then I’ll get back to work.

    So, many thanks!

  10. Anonymous says:


    Oh, and for those of you interested, the end solution was 2 lines. Yes, 0.7% of the code written for this project. So, when reading programs, remember – for every line of code you see, there are at least 10 dead lines lying somewhere by the roadside. Salute these dead lines, and remember, they died in the cause of good software.


    Stand up and salute for the dead lines!

    Surely we did made and killed many dead lines, and when the version number changes, the dead line number doubles (perheps much more actually).

  11. Anonymous says:

    Since MS didn’t supply any tools or SDKs to work with Freelancer, it would be great if that would be opened up for community since there’s still very lot of modding activity around it. Just look at the thousands of mods at lancersreactor.

  12. Anonymous says:

    As has been mentioned elsewhere , when we’re threat modeling at Microsoft we classify threats using the

  13. Anonymous says:

    As has been mentioned elsewhere , when we're threat modeling at Microsoft we classify threats using

Skip to main content