Category Archives: Advanced

All you didn’t know about addons, but were afraid to ask

Teeg: Today I want to introduce you to Wykkyd. I posted a question in the ESO forums a couple days ago about wanting a clock that showed what time it was in the game, and Wykkyd suggested that his addon could be the solution. I had hesitated at using addons before, but decided to try it out and found Wykkyd’s Framework to be very helpful.

Today, I sent him a note and asked if he would want to write a post about using addons and about what goes into building them. So without further ado, please welcome our guest author, Wykkyd:

Addons?  We don’t need no stinking…

One thing you’ll learn about me if you’re around me enough is that I throw movie quotes into nearly everything.  The subject, for example, is a slight twist of the ‘badgers’ quote from an old 80’s movie named UHF, starring Wierd Al Yankovic.  I’m an odd person and I have no qualms admitting that.  Aside from my oddities, and perhaps because of them, I’d like to thank Teeg for inviting me to write this article for the blog… though that invite might soon be regretted. 😉

I am Wykkyd.  I’ve been playing Massively Multi-player Online games (MMO’s) since August of 2000.  I’ve been playing Role-Playing Games (RPG’s) since way back to Zelda in the 80’s.  You could say I’ve been around the block quite a bit, as I’m sure many of you have been.  And if you haven’t, that’s ok too.  While I absolutely do have a history of playing with a rather elitist mindset in many, many games I also take joy in helping others.  You’re just as likely to find me putting some cocky jerk in his place as helping, and probably defending, some hapless ‘newb’ who’s simply trying to learn.

None of that is why I’m here today, however.  I’m here to talk about ‘Addons’, or ‘Mods’… those things that some of you are aware of and, seemingly, most of the TESO public seems to be somewhat unaware of, or uneasy about.  Well, I’m here to help with that.  I’m here to explain what they really are, to help you set your expectations in advance to be able to spot poorly authored addons, and to finally explain a little bit about what it means to write addons.

Addons vs Mods

The terms are not actually interchangeable.  The different communities that have evolved around RPG and MMO games have started to mingle the two terms but in reality, at their core, they are fundamentally different.  Even some Addon authors and game companies sometimes refer to Addons as Mods, and errantly so.

An Addon is an uncompiled collection of related plan-text files that interact with a program’s Application Programming Interface (API) in order to tweak or enhance that application’s User Interface in an application-limited fashion.  They work within the confines of the host application’s, or game’s, limitations and provided functionality and thus they can only do what that program, or game, allows them to do. ‘Add-ons’, or ‘addons’, add onto the program or game that they’re built for. ‘Add onto’, not modify.

 A Mod is, by distinction, a ‘modification of’ the program or game that it is being applied to.  It changes something.  In Skyrim, for example, Mods were capable of complete overhauls of the combat system, total conversions of the entire game world, creation of brand new content, even changing the way blades of grass were or weren’t rendered by your video card.  Mods ‘modify’, fundamentally, the application or game that they touch and they usually don’t bother with an ‘API’ to do what they do.  They are limited by the developer’s ability to do their work without causing errors.

 And here’s where I apologize for being overly technical.  It had to happen at some point, though.  For someone who’s been an Information Technology professional for over twenty years it can sometimes be a tad difficult to break things down for the laymen.  HopefullyI didn’t lose half of you with the above definitions.

 The Elder Scrolls Online (TESO) allows Addons, not Mods.  To confuse things, though, they’re built on top of a franchise whose longevity is built upon the usage of Mods (a quick browse of NexusMods.com will reveal that quickly).  And to make matters even worse, the Addon development section of the official forums is named… ‘In Game Modding’.  And since we’re not really modding… well, you get how so many people can get so confused so quickly.

 Zenimax Online Studios (ZOS) invite me and around two hundred other players to a private, exclusive beta server back in October of 2013.  We got that invite specifically to do extended testing on things the general public hadn’t seen yet (and still hasn’t seen, mind you).  But we were primarily invited due to the launch of their API.  They wanted developers, testers and users to start playing with their new API to see what we would do with it and what was possible.

The first few months didn’t see much in the way of hardcore addon development. We were all kind of blown away with the volume of content we’d been exposed to.  Many of us dabbled a bit but continued to play. Hardcore addon development didn’t really start for most of us until January 2014.

 What do TESO Addons Do?

What a given addon can do is dependent upon the author and what they chose to do with it, so I won’t get into too many specifics in this part of the article.  What I will do instead is talk, in general, about what ZOS’s vision was for them.  Keep in mind that while I’ve met the devs at ZOS and been in PTS for six months, I do not actually work there so I can’t officially speak for them.  It is safe to assume, however, that I have a relatively accurate inclination as to their intent.

 ZOS provided the game’s API as a way for Addon authors to enhance their user interface to suit the preferences of certain sections of their playerbase.  This was done for two primary reasons.  One, because it’s obvious that with a game like TESO there is no way to please every type of player the game will attract with a single user interface.  And two, because the crowd that is typically the most desiring of custom interfaces is the MMO crowd of players; a crowd of players that typically have the fewest reservations about using Addons.

 According to that description of their purpose it’s easy to surmise that ZOS had no intentions of players being given ‘unfair advantages’ by the use of addons.  They also didn’t want to force players to use them or not to use them.  Yet they wanted people to feel like the game was flexible and that you were able to play the way you wanted to play.  These goals tend to compete with one another, though, so they’ve had their set of issues with the matter.

What about this API nerf I heard about?

This goes back to the previous section’s description of what addons were supposed to be used for.  And the end result really wasn’t one that was hard for the discerning, informed eye to predict.  See, most if not all of the early addon developers were previous MMO players.  And those players are used to seeing certain things.

 So it’s no wonder that addons popped up which revealed more information about the player’s target.  After all it wasn’t abnormal for an MMO player to see things like Magicka or Stamina or Cast Bars for their target in any previous MMO.  In fact, it’s very normal to have access to that information in other MMOs.

 It is, therefore, little surprise that those things were created and those players certainly, for the most part, meant no harm or ill will while creating them.  To them it was ‘par for the course’, IE: normal.

 This provided what other players, who were not used to this level of information availability, an unfair advantage.  And when compared to the game’s built-in user interface, it certainly was.  They had a very valid point.  The argument raged on for weeks until someone posted a video using such addons in conjunction with a very illicit third party program to automate combat movements such as blocking hits, interrupting spells, etc.

 As a result a veryjustified change was made to the game’s API to limit this information and make it, with little exception, unavailable to addons.  That doesn’t mean cheaters can’t still go and use that third party program to automate things.  They most certainly can… but it’ll be harder without an addon feeding them information.  So, small justified win for ZOS.  Do I feel everything they changed was warranted?  Not all of it, no.  But I’ll withhold those complaints because they’re not relevant to this post.

Should you still use Addons?

That is completely up to you and depends greatly what your needs and desires are.  The answer to that question is very likely to change for you several times over the course of a month, let alone your entire time playing the game.

 I’m certainly going to use them.  In fact I plan on running two accounts and each account will have different addons running.  That’s the thing… addons become personal.  You grab the ones you like, or need, and you ignore the rest.  You find something fancy, you try it out and you keep it if you like it.  They can be installed, uninstalled, enabled, disabled and reconfigured at your whim.  As such, no addon decision is ever permanent.

What should I expect?

What you should NOT want from your Addons:

Exploring the Elder Scrolls Online WOW AddonThat is a classic example of the kind of thing most anti-addon users fear, and I don’t blame them. Meanwhile, the following is a screenshot of my character on the PTS (permanent testing server) running all 7 of my addons:

Exploring the Elder Scrolls Online beta AddonSee the difference?  Not all addons need to assault your eyes or clutter your screen and I, as an addon author, am a big fan of the ones that keep a very minimalistic approach to what they throw at you. And you, as a user of addons, should have that same expectation.

What about YOUR addons?

My addons are hosted on ESOUI.com, NexusMods.com & Curse.com.  I create what I like to call ‘Convenience Addons’.  They are designed to improve the quality of your gaming experience without being too abrupt or ‘in your face’.

Wykkyd’s Framework is at the core of my development for TESO.  All of my other addons use Framework as a base and build from there into their own thing.  This allows me to write less code over time as the code in Framework is written once and re-used many times.  But, Framework provides many nice features of its own including:

  1. Macros – The core game doesn’t provide a way to build quick little macros for emotes, addon interaction and other such things. Framework adds a tiny window where you can create up to 48 of them (a roleplayer’s dream come true) and you can keybind up to 12 of those.
  2. Toolbar – This little information bar is designed to sit, unobtrusively, on your screen wherever you position it and shares information that you choose to add to it.  The things it can be told to show you include: Local Time, Frames Per Second, your Zone, your Character’s Name, Character’s Level, Character’s Class, Character’s Race, An Experience Bar!, your Experience in your level, your Bag Space, your Soul Gems, Your Mount’s Feed Timer, your gold and more.
  3. Subtitles – A tiny little feature that gives you a re-positional on-screen box (that hides when you lock it in place) to which NPC roleplay chatter is sent as you run around the game.  All it means is that you won’t have to watch your chat window so much if you like to Roleplay.
  4. Auto-sheath – Do you feel silly when your character runs around holding their staff out for hours for no reason?  I do. So this watches for combat to end and toggles your sheathed weapon state.  It’s not perfect, because the game’s API is a tad limited but.. it’s better than nothing.
  5. Chat Background – a small grey box that sits behind the chat window if you want it to.  It just makes things a bit easier to read.
  6. Loot Notifications – This is very handy for people who use auto-loot.  It, quite simply, just puts text in your chat window when you loot something to tell you what you looted.
  7. And more, actually… try it and see.

Wykkyd’s Full Immersion is a very small, very simple addon that lets you hide the Compass, the Quest Tracker, the Alert box at the top right of the screen or, quite possibly my favorite addon feature: The ability to ‘Smart Hide’ your targeting reticle.  Try this.  Seriously, do yourself a favor.  I promise that most of you will agree with the following sentiment: This is how the game was meant to be played.

 Wykkyd’s Outfitter is extremely handy. It lets you set up sets of gear and action bar skills and swap them, on the fly, with a few quick clicks or keybinds as long as you’re out of combat and have enough bag space.  And it works beautifully in conjunction with Framework’s macros.  It is so beneficial to players who constantly change roles that I’d, personally, consider it a must-have for any character that does more than one thing.  Being able to, with a click, switch between DPS mode, Tank mode, Heal mode, PVP Group mode, PVP Solo mode, etc… I really couldn’t imagine going back to the tedium of playing without it.

And there are more. I currently publish 7 addons, actually.  Go check them out.  I’m also very open to suggestion for new features and I’m very responsive when people have issues.

Finally, about Addon Development

I got into Addon development while playing WoW as a way to clean up the addons that other people wrote to trim them down and fix them to suit my needs (and the needs of my gaming wife).  We just like a cleaner interface, and most addons at that time didn’t offer that.

When I left WoW for Rift I took up the Addon Development banner after a full year of not touching it and running no addons.  I wrote an Outfitter addon for Rift that is still used today, though it’s maintained by other developers now.  It swapped gear in a very nice way that was very exclusively Rift and people loved it.  I wrote that addon because I was lazy and tired of the tedium of moving gear around.

In fact, that’s mostly what I tell people: I write addons because I’m lazy.  I don’t want to open 10 game windows to get information, I’m lazy.  So I took over Bazgrim’s toolbar when he quit, rolled it into Framework, rewrote it twice and enhanced it… all so that I could see information at a glance without opening windows.  I worked more so I could be more lazy.  That’s my brain for ya.

And that’s the key word: Work.  Addon development iswork.  I didn’t really register that until I dove in.  I didn’t give it a thought.  I just glossed over that fact subconsciously, took these works that others had created and used them; often complaining when they failed and rarely saying thank you.  I’ve been a programmer in the “real world” since 1992 (1986 if you go back to Jr High school).  I should have known better and, I’m sure, some part of me did.  But it just wasn’t important to me, I guess, so my subconscious mind just blew it off.

Well, I’m also here to ask you not to blow it off.  At least say thanks.  Share the addons you like with others, encourage them to also give feedback.  Spread the word: Addon developers volunteer to not play the game we all love so that you can have a better gaming experience.  I’ve spent over two months rushing home from work, dining with the wife and kids, kissing the boys good night and then putting my nose into a computer monitor to program addons, while standing still in a town inside game.  Unable to play.  Meanwhile hordes of players would have killed to have the access I had to the game… a game I wasn’t actually playing anymore and was instead programming against.

Dozens of us did this.  We put in, collectively, thousands of hours to make ‘options’ in our free time, eating through our ‘play’ time.  So… say thanks.  And if you can spare a couple of coins, toss some of your favorites a donation or two.  We will burn out faster than you, I promise.  Fans sending us thanks and the occasional donation will keep us playing, and developing, long after we’ve burned through our motivation.

Thanks again for sticking around and reading my long-winded blog post.  I hope I’ve opened some eyes and brightened some days.  If you have any questions or just want to chat you can find me on Twitter @WykkydGaming, on email as wykkyd.gaming@gmail.com and in game as @Wykkyd or @WykkydGaming (depending on which account you find online).

Cheers, and happy hunting.

Teeg: If you enjoyed this post and appreciate any of Wykkyd’s addons, please also read and share this post and help Wykkyd and others get their names back in ESO.