WoW Diabetes Post Mortem
The idea for this add-on came about because Anna Sort realized that not too many people play games that are made specifically for education type purposes. So why not instead create an add-on for a game that already has a huge player base. Then even if you only reach a small percentage of the player base you more than likely have already reached a larger population then if the game was on its own. The World of Warcraft was chosen because it has one of the biggest player bases out there.
After beginning to think about the project we decided that it may be more interesting for people if not only we had the portion in game, but also a website where you could compare how well you're doing to how well other players who are using it are doing. Or possibly even having outside achievements as well. All of this would have to be conducted completely outside of the video game as we don't have the rights to add anything into the game.
The Project Begins
In order to make an add-on for The World of Warcraft all of the programming has to be in Lua. Going into this project I only knew a little bit of Lua. Even if I had known Lua going into the project there would be a lot that I needed to learn as there are things that are World of Warcraft specific and things within Lua that World of Warcraft doesn't let you implement for security purposes.
When I started working on the project I had some base code from another programmer who had started the project and then ended up not having the time to continue on with it. This made it much easier for me to figure out a good starting point. I spent the fist couple weeks of the project using a program called Add-On Studio. This is an extension for Microsoft Visual Studio that allows you to visually create the user interface for your add-on. Unfortunately the people who created this don't support it anymore so there were some things that I had to go in and change once I started testing within the game. Even with the issues I had because the software was slightly out of date using that saved me a lot of time when designing the way the add-on would look.
Next up I spent some time learning Lua and how it specifically works within the World of Warcraft. I used a book called World of Warcraft Programming: Second Edition, as well as Programming in Lua: Second Edition. Finally after working my way through a decent portion of these two books I felt confident enough to really dive into programming the logic withing the add-on.
Starting out we had a bunch of really cool ideas for ways that we could affect the player such as making them slow down, or possibly even using the effects that are used when you make your character drunk. We didn't really think about it too much after that deciding we wanted to get other things working first. This later actually became a major problem as movement is protected by Blizzard in order to keep people from creating add-ons that play the game for you. The drinking effects are actually created by physically changing the graphics that are displayed on the screen not by putting any sort of image on the screen.
The Final Product
It's now almost the end of this semester. The add-on itself is mostly done, there are a few tweaks left to be done and the math still isn't working well. Other than that the school portion of this project is done.