If you had to start all over again. - WoWInterface
Thread Tools Display Modes
12-28-06, 12:51 AM   #1
A Deviate Faerie Dragon
Join Date: Dec 2006
Posts: 10
If you had to start all over again.

Hello everybody I'm a person with absolutely no coding/programming knowledge (outside of some basic php/mysql). My question to all you experienced addon authors is this:

If you had to relearn to create WoW addons without any knowledge whatsoever, how would you do it? What do you think is the best place to start?

No I don't just want a link to WoWwiki or a post directing me to a sticky with a bunch of random guides and lists of api functions. Im humbly asking for the best way to begin an endeavor of addon creation, be it learning some programming language from the ground up or reading a good book to introduce me into the world of all this lua/xml/api stuff that I don't understand. Perhaps it even is one of those thinks I said I don't want, but if so please be honest about it because I honestly want to learn and start in the best way that I can even if it means a long and basic skill building path of tediousness.

I don't want to just jump into writing addons without the base of knowledge that will help me not create something that those amazing authors are able to confidently call "crappy coding".

Edit: If this is not the place where I should have posted feel free to move this thread, but just so you know I did think about where it should be for a while.

Last edited by NimbleRabit : 12-28-06 at 12:54 AM.
  Reply With Quote
12-28-06, 03:43 AM   #2
A Theradrim Guardian
Neuro's Avatar
AddOn Author - Click to view addons
Join Date: Oct 2006
Posts: 60
People who direct you to those stickies do so because they contain what you need. In this post is 95% of what you'll need to learn to start programming addons: http://forums.worldofwarcraft.com/th...11381244&sid=1

Assuming you know some basic programming, the first thing you should do is download the Blizzard Addon Kit, which happens to be the very first link in that post. It contains the source code for the Blizzard default UI, which is the only way to learn the Blizzard API if you just refuse to look at the wiki. But more importantly, it contains a tutorial which will help you start.

To write an addon, you need to know two things: Lua, and Blizzard's API. XML wouldn't hurt either, but you could probably get away without it, for now. Lua is the language that the UI is written in, so you need it to know the proper syntax and structure. If you've programmed before, it won't be that hard to pick up the basics. Blizzard's API is a list of the functions that Blizzard has built into their game engine, which you'll have to use in order to do anything.

If you bothered to read that post I pointed you to, you'll notice that the first section is called "Resources" and has links to all the stuff I just mentioned. It tells you where to download the Blizzard Addon Kit (called the Blizzard Customization Tools), as well as where to learn about Lua and Blizzard API. For Lua, your best bet is the online docs and manual at www.lua.org. For the Blizzard API, there's the www.wowwiki.com.

If you wanted to "assume you knew nothing" about coding Addons, then you could just scan through the FrameXML files provided by the Blizzard Addon Kit, and do your own testing, instead of reading the wiki. Personally, I think that's stupid, because you're just reinventing the wheel, but whatever. The best way to learn is by looking at example code, and since you're assuming a vacuum, you'd have to look at the only example code available to you, which is the Blizzard code. Unfortunately, you can't change that code, which is why if you were really wanting to learn, I'd suggest taking an existing addon and tinkering with it.
  Reply With Quote
12-28-06, 04:02 AM   #3
A Deviate Faerie Dragon
Join Date: Dec 2006
Posts: 10
Thanks thats a great link, ill just start reading through those lua manuals and downloading some of those interface tools and getting started.

I don't use the WoW forums often which is why I didn't know about that particular sticky (they are very laggy and buggy for me and sometimes freeze my computer, I'm not sure why)

And just so you know, I'm a huge fan of reinventing the wheel in some instances. Actually no thats wrong, what I mean is that I'm a huge fan of Relearning the wheel. A good example is calculus. Sure you could easily learn derivatives by going straight to the "shortcuts" that were created through the use of the limit definition of derivatives, but I believe you learn much more and have a better understanding of the meaning of derivatives if you take the time to learn how to get a derivative using the limit definition and then jump into the shortcuts.

Its a good thing to understand how a wheel rotates and functions when building a car wouldn't you say?
  Reply With Quote
01-09-07, 03:58 PM   #4
A Kobold Labourer
Join Date: Jan 2005
Posts: 1
I'm starting to learn myself and honestly I can already say that my first mistake was to go to WoWwiki first. WoWwiki is great, has a lot of stuff but for me, it lacks the basics. Even through an extensive search, I have yet to find out a tutorial on how to create a button and add all that will be nescessairy to make it work, textures, actions, states. What WoWwiki will exel at on the other side is on function reference. Want to find out what a function does or what function will do what you want? That's the site to go to.

Reading the tutorial in the wow modder kit is probably were you should start. It's easy enough and should teach you the basics. The next thing you'll want to do is to read everything in this link. It has everything you should ever need when it comes to lua. Be aware however that it will not teach you good programing practices, very few books or website do that. It's something that I learned as a programmer from school benches.


From there however there's still a lot of knowledge you won't have and which you will need to create your addon. So, where to go?

Well, surprisingly enough, this would be the source code for the default WoW addons. I've always favored learning by observing what others have done. You might think that the code in there will be highly complex since it deals with the default WoW Interface. At least, that's what I assumed and instead decided to try and look at random addons. I did learn some, but for the most part it left me in the complete dark. I was a bit scared to go in the WoW UI code at the start and that was a mistake from my part. I assumed that the code in those files would be far more complex then those contained in addons which have been coded by mod authors. Theses files are actually surprisingly well commented and even contain comprehensive examples.
  Reply With Quote

WoWInterface » Developer Discussions » General Authoring Discussion » If you had to start all over again.

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off