Saturday, December 28, 2019

My First WoW Addon

Recently I have been playing a lot of World of Warcraft Classic. Something about the game design back then just felt a lot better. I originally started playing during the Burning Crusades expansion, so this is my first time playing something closer to the original design. Despite this, some modern conveniences were put in there for a reason and I got used to some of them. As a result, I turned to the wild world of Add-Ons. I had a lot for what I needed, however there was one thing that was really getting annoying. Whenever I tried to do something as my Shaman in Ghost Wold form, I got told I cannot do it while shapeshifted. All the Add-Ons I found revolved around being mounted or taxied. So I figured I should make my own.

Rather than start from scratch, I decided to check out how a couple other similar ones were made. The first thing I noticed was it was actually fairly small. In fact, checking out a few others showed me just how extensive the interface for Add-Ons was when most things were fairly trivial.

Before pushing everything in to full swing, I decided to look for a good development environment. I had not done much with Lua and tend to not work on too many files at once, usually it is just a single file in Vim with tmux going and so I have a window to run it on. My search led me to WowAddonStudio. I had to download the old 2015 version of Visual Studio, but that was not that big of a deal. Since it was me just starting out, I wanted to see how it would build an Add-On and compare it to how others had built theirs.

After starting up a blank Add-On, I then compared between two others that did something similar. As per my usual, the style and methodology of each made them a little annoying to deal with. Programming in Haskell has led me to see some things as quite ugly, and programming in Python has led me to dislike code that seems unnecessarily obfuscated. So taking a little from each, comparing, and mashing them together, I made my first Add-On for WoW that probably needs some more stuff added. Granted I tried it with my Shaman but did not have a Druid to compare and see if it interfered or interacted with that at all, and I assume it will.

ClassicICantCast

I still have a lot of reading to find out just exactly what all the numbers mean and all that and just made a little dummy Add-On for myself to modify for the sake of dumping data on events. It's not much, but I think it's a start to get back into programming and maybe even take some things a little more seriously.

No comments:

Post a Comment

Tag Cloud

.NET (2) A+ (5) ad ds (1) addon (4) Android (4) anonymous functions (1) application (9) arduino (1) artificial intelligence (1) backup (1) bash (6) camera (2) certifications (3) comptia (5) css (2) customize (11) encryption (3) error (13) exploit (5) ftp (1) funny (4) gadget (4) games (3) GUI (5) hardware (16) haskell (6) help (14) HTML (3) imaging (2) irc (1) it (1) java (2) javascript (13) jobs (1) Linux (19) lua (1) Mac (4) malware (1) math (6) msp (1) network (13) perl (2) php (3) plugin (2) powershell (8) privacy (2) programming (24) python (10) radio (2) regex (3) repair (2) security (16) sound (2) speakers (2) ssh (1) story (5) Techs from the Crypt (5) telnet (1) tools (13) troubleshooting (11) tutorial (9) Ubuntu (4) Unix (2) virtualization (2) web design (6) Windows (16) world of warcraft (1) wow (1) wx (1)