Addon Development Tutorials

What is an addon

Warhammer Online (WAR) and Rift like many other MMO games provide an programmers API that allows you to modify certain aspects of the game and add new features. Most of these modifications are limited to visual user-interface changes; the actual scope of what you can change depends on the API of each specific game.
The WAR API is established and powerful and allows you to create and modify hotbar buttons, add entirely new dialogs and change the look, feel and interaction of pretty much the entire user interface. The Rift API as of the time of writing this article is in its infancy and has very limited capabilities.

What is an API?

In generic terms, an application programming interface (API) is an interface implemented by a software program to enable interaction with other software, similar to the way a user interface facilitates interaction between humans and computers.

From an MMO perspective the API exposes capabilities of the game engine so that addon authors can modify how the game looks and responds. How far the addon author can take his/her modifications depends on the capabilities exposed by the games API. For most MMOs the API is updated on a regular basis to fix bugs and to remove any loopholes that allow addon authors to achieve things not inline with the original intentions of the game authors.

How difficult is it to write an addon?

Writing a simple addon is... pretty simple. It all depends on your level of computer experience and what you are trying to achieve with your addon. If you can; traverse the directory structure of your computer, create directories and edit text based files then you have the basic computer skills to begin your first addon. If you can't do these basics then go spend a day brushing up your computer skills and you'll soon be up to speed.

Few bits of useful information before we begin:
  1. WAR and Rift addons are written in a computer programming language called LUA. This is a rather nice language for beginners to learn and is used by a number of game engines (WOW also uses LUA for its addons). To be honest once you learn the fundamentals of programming is it very quick to pickup new languages, all you need is API documentation and syntax reference-sheet at-hand to help with any differences and you'll be able to code in other languages as well... pretty cool huh?
  2. API documentation for WAR is pretty thin on the ground. Many addon authors contributed to a wiki hosted at curse.com. The wiki acted as a central hub for authors to discuss, tutor and detail the API. Unfortunately curse pulled the wiki and all its content over a year ago
    The Rift API is in its infancy yet has better documentation than WAR at present. Hopefully Trion and RiftUI will keep-up the good job.
  3. Here are sone links to useful API resource websites:
    1. WAR
      1. WAR Wikia API Wiki - http://warhammeronline.wikia.com/wiki/API
      2. WarDiff - The actual Core Warhammer API - http://code.google.com/p/wardiff/
    2. Rift
      1. RiftUI Wiki - http://wiki.riftui.com/Main_Page
      2. Rift API Documentation (LIVE) - http://pastebin.com/ZwqMZqYn
      3. Rift API Documentation (PTS) - http://pastebin.com/x5W8XZXg

Writing your first addons

You will find a number of tutorials that cover the basics of writing addons on this website.