You are here

World of Warcraft

World of Warcraft may be one of the better games of the decade. It is certainly the highest grossing game in existence right now and possibly one of the most engaging. It is also really time-consuming.

Status update #1

I've finally implemented the item tooltip XML parser to the point that I can parse and then reproduce the tooltip XML for all 22,557 items I have in my database.

The next thing to do is to do the same for the info XML blocks provided by the Armory.

Once I can do that, I should be able to determine exactly how to render an item. I'd like to say "And, then, from there, it'll be cake." but it won't be. I'm sure of it.

In short, I wonder if I've created a larger-than-necessary project. Fortunately, I've enjoyed playing with Ruby thus far. Playing with the Aptana Studio has been a little frustrating due to periodic slowness on my G4 iBook and a handful of implementation problems (like it choking on the creation of =begin ... =end comment blocks). It (and the poor performance of TBC) is really making me tempted to buy a new laptop which, while admittedly nice, would be an expensive toy I don't need.

Working away

I've been doing work on the XML parsers. The tooltip parser is shaping up nicely.

I'm trying my hardest to not turn this into a programming blog. Really...

Every journey starts with a single step

Now that the import process has finally finished for the XML, it's time to think about how to proceed.

I am admittedly beginning to wonder if the mage DPS/gear "spreadsheet" is a separate project from the gear database. I may come back and decide to split it off.

The first items of business would seem to be:

  1. Investigate the tooltip XML documents further.
  2. Create the schema for storing items in the database.
  3. Implement code to transform the item info and tooltip XML into actual items.
  4. Verify success by ensuring that the XML generated by the item objects matches the tooltip XML. (Since the item info XML is only going to be used to extract the item level, I'm not worried about making sure the XML matches.)

Funny how easy this seems when written down.

Finally, a preliminary name

I finally settled on a preliminary name for the new "spreadsheet." I'll call it "Phaedra's List" until I come up with a better one. (And, you have to admit, at least it's a more sensical name than "pain.")

The next big decision to make is: Which language do I want to write this in? I figure the end application will be Ajax so JavaScript is going to be a given. On the server interface, though, do I want to use Java servlets, PHP, or Ruby? Ruby is supposed to make building applications with Ajax easy and I have some books in the mail. I figure I'll decide when my big box from Amazon arrives.

On farming the Armory

After reviewing the results returned from the modified Warcraft Armory module, I discovered that the XML returned for the item tooltips (item-tooltip.xml) does not include the item level. This annoyed me slightly since this is information I want to have available in the gear database.

After some investigation, I found that an item's item level (ilevel) is in the XML for the item information page (item-info.xml). So I modified the module again to download item-info.xml for items that are found in addition to item-tooltip.xml. This will make the ilevel available for when I start building the database.

Naming the new "spreadsheet"

One problem with working on any project is deciding its name. I'm running into that issue. And, for me, a name is pretty important.

I've thought about naming it "jadis", at least as a working title, but it doesn't really mean anything for the end purpose. And the girl in the Rumplestiltskin tale doesn't have a name...

Creating a new "spreadsheet"

Back in October, I wrote about redoing my "spreadsheet" for weighing gear choices. However, despite writing, I never did any further work on it.

I'm thinking, though, it's time to rectify that.

Icy Veins

2.3.2 brought us mages a great new talent: Icy Veins. For 20 seconds, we get 20% haste on all spells.

I'm personally not sold on it. It doesn't feel like it does much difference but it obviously does. In an (unfortunately unsuccessful) attempt on Nalorakk on Saturday, it helped me pull 1134 DPS according to WWS. (This is the anonymized report. Phaedra shows up under the name "Horcrux.") (On the actual kill, I only pulled 994 DPS. I must find a way to increase that.)

Mage Thoughts on Zul'Aman, Part 2

The Akil'zon fight has two major sources of damage: Static Discharge and the soaring eagles. The bit where you get thrown up in the air is annoying but causes no damage if you have your Light Feathers handy. And if you're getting hit by the storm, you're doing it wrong.

Static Discharge does 3500 damage on its initial hit. However, with three points in Playing With Fire, that's 3605 damage for me. The soaring eagles hit for 1600-1700 with my armor.

I look at the Akil'zon fight as having three phases:

1. Before the first storm, I DPS Akil'zon.
2. After the first storm, I play flak battery and attack the eagles.
3. When Akil'zon gets to 10% or so, I switch back to him.

For phase 1, Molten Armor would seem to be optimal. This is one of the two damage periods I get so I should make the most of it. Further, Mage Armor only increases the resistance by 18. Seems hardly worth it.

Mage Thoughts on Zul'Aman

I expect this'll become the first post of a short series on Zul'Aman. But it might not.

Up until Akil'zon, there's nothing particularly "interesting" for a mage. Pre-Nalorakk trash is pretty normal and the pre-Akil'zon gauntlet isn't that odd either. The main concern about the gauntlet is running out of mana.

Nalorakk is cake. Because of the threat games needed for the tanks to swap between phases, you shouldn't need to worry about aggro after the first transition. Ever. It becomes a fight along the lines of Ragnaros, Patchwerk, Murmur, Lurker Below, etc. You just sit there and shoot.

Akil'zon is more interesting because of the execution elements. If you're lucky, you get assigned to DPS Akil'zon, in which case it's a standard boss fight aside from dealing with the storm. If you're unlucky, like me, you get assigned to anti-eagle duty once they spawn. For me, this tends to be a lot of tab-targeting and praying that Fireball actually works.