Thread Tools Display Modes
03-09-16, 05:35 AM   #1
Folji
A Flamescale Wyrmkin
 
Folji's Avatar
AddOn Author - Click to view addons
Join Date: Apr 2009
Posts: 136
Building a UI suite from scratch?

Hey everyone!

To cut a long story short, I'm a UX designer / 2D artist, and I've been wireframing an interface layout for World of Warcraft. The plan is for something slim and compact that lets you keep track of the action without having to look all over the screen, with hand-painted textures matching the cartoony fantasy style.
There's a unit frame I put together while working on the concept, already got a new one underway, but overall the plan is for a clean fantasy GUI, starting out simple and then building from there.

Of course, the big problem, I've never developed a UI suite from scratch before. My background is in front-end web development and I have experience primarily as a JS and Java programmer, though I haven't worked with Lua before. And definitely not in terms of making WoW addons. But I'd still really like to make this a standalone UI suite, ready out of the box, rather than a compilation UI with custom textures.

Could anyone give me some good pointers as to where to start, with the bare basics of unit frames, action bar, and minimap? Or some starter help with it all? Any help would be much appreciated, thanks!
  Reply With Quote
03-09-16, 09:12 AM   #2
MunkDev
A Scalebane Royal Guard
 
MunkDev's Avatar
AddOn Author - Click to view addons
Join Date: Mar 2015
Posts: 431
Lua is syntactically similar to most C-derived languages, so you'll feel right at home within a very short period of time. Lua doesn't have classes or explicit data types, but tables can provide an object oriented approach if you want them to, either as mixins or directly attaching your functions to a frame.

The entire process of creating WoW addons is essentially centered around using different types of frames, which range from a plain Frame widget to types with several levels of inheritance, such as a CheckButton. Here's the widget hierarchy in WoW.

Here are a couple of links that I personally found useful, but there are more of these posts if you check the tutorials forum.

Useful Information / Tools / Links for Developers:
http://www.wowinterface.com/forums/s...ad.php?t=43699

Mayron's Hideout: Creating WoW AddOns
https://www.youtube.com/playlist?lis...ZBM2t1exFmoA2G

zork's test mods:
http://www.wowinterface.com/download...or-101381.html

Iriel’s Field Guide to Secure Handlers:
http://www.iriel.org/wow/docs/Secure...ide-4.0-r1.pdf


Personal tips:
  • Use wowprogramming.com for API lookup instead of wowwiki.
  • Get a powerful text editor with Lua support. I use Sublime Text 3 because it's easy to use multiple cursors, it has package control and scrolling through files by the "look" of the code in the sidebar makes it quick and easy to browse your code.
  • Avoid XML. It's hard to debug and mostly unnecessary. A lot of addons don't use XML at all and I personally never use it. Some of the entry level guides you'll find online will promote XML to create arbitrary interface frames, but I think a lot of developers at this site are opposed to it. The most useful purpose of custom XML in my opinion is to create graphical templates, but this can easily be done with Lua instead.
  • You'll learn a lot from reading Blizzard's interface source code, which can be extracted from the client. The newer Blizzard load on demand addons will have a more modern approach to Lua coding, but their practices are still centered around their freedom with the global environment. Addon authors should avoid bloating the global environment, which is also a point against XML.
__________________

Last edited by MunkDev : 03-09-16 at 09:16 AM.
  Reply With Quote
03-09-16, 01:17 PM   #3
Resike
A Pyroguard Emberseer
AddOn Author - Click to view addons
Join Date: Mar 2010
Posts: 1,290
Developing unit frame mods are not really for beginners. You really need to know your way in the wow api, events, secure frames/handlers, and you need to be aware the million bugs from the game that you need to avoid/workaround.
Any it's even more harder to create an efficent mod, which does not give in even in 40 man raids.

I would point you to oUF, which makes this process a lot more easier:
http://www.wowinterface.com/download...-oUF.html#info
  Reply With Quote
03-09-16, 02:49 PM   #4
Folji
A Flamescale Wyrmkin
 
Folji's Avatar
AddOn Author - Click to view addons
Join Date: Apr 2009
Posts: 136
Thanks a lot for the info, Munk. Looks like it'll help me a long way around to getting started with things!

Also, yeah, Resike. I was planning to leveraging oUF for the unit frames, just to make that a lot less of a hassle. Just haven't really figured out how to get started with it, as of yet. Kind of trying to absorb all the information, watch videos on it, just get the ball rolling while I'm drawing and redrawing the UI elements.
  Reply With Quote

WoWInterface » Developer Discussions » General Authoring Discussion » Building a UI suite from scratch?


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