|
|
|
| Saturday, August 13, 2011 |
LibWowArmory 0.4.1 beta
Posted: 5:54:00 PM
|
|
And now, some error handling. LibWowArmory now includes a new BlizzardAPIException class that will allow you to catch the errors thrown by the Blizzard WoW API. Labels: Coding, Gaming, LibWowArmory, World of Warcraft
|
| Friday, August 12, 2011 |
LibWowArmory 0.4 beta
Posted: 4:34:00 PM
|
Well, Blizzard decided to close down the old World of Warcraft Armory at the beginning of the month. This promptly broke Six Minutes To Release, resulting in me having to code in a flurry to get a working version of LibWowArmory.
Of course, LibWowArmory is kind of a bad name for the library now. The Armory's replacement is the Blizzard WoW API. I'm going to stick with the old name just because to me it's still the Armory, just in JSON format instead of XML.
Anyway, you can get version 0.4 beta of LibWowArmory from CodePlex.
Note that the item lookup is vastly incomplete, and auction data is not downloaded yet. Those will come soon enough. Also, Blizzard is constantly developing this API, and up until recently were adding things faster than I could code them. So, this library will probably evolve pretty quickly as well.Labels: Coding, Gaming, LibWowArmory, World of Warcraft
|
| Friday, July 09, 2010 |
Revisiting LibWowArmory
Posted: 4:03:00 PM
|
The biggest thing I dislike about the World of Warcraft Armory is the fact that it throttles requests to 120 a minute. Of course, I understand why it does this, as it must prevent getting hit with so many requests so fast that it essentially gets DOS'd. This means, instead of bitching about the limit, instead I need to find an elegant solution to avoid hitting the Armory more than 120 times per minute with LibWowArmory.
There are several problems that I must tackle in order to implement this. Firstly, LibWowArmory is a library, which means I can have multiple calls to the Armory coming from multiple places. For instance, my web server calls the Armory from both the website and a nightly maintenance application. I need to find a way to centralize management of the number of calls the application is taking per minute.
Second, I can't block a webpage when a call to the Armory is queued, but I can block the maintenance program. I need to develop a queuing mechanism for both scenarios. Something elegant and AJAXish for webpages, and something else for client apps.
The need for this has come up because I'm on the verge of adding GearScores to the Six Minutes To Release website, and the average character GearScore creates over 15 calls to the Armory, one for the character and one for each item. Requests absolutely have to be throttled, or I'm going to run over the 120 requests per minute fast.
I'm hoping to get this done this weekend so that I can release it along with some bug fixes that were introduced with the Visual Studio 2010 conversion. Eventually, the library will go to .NET 4.0 as well, but I'm not going to do that until all of my libraries, websites, and applications are on the same page.Labels: Coding, Gaming, LibWowArmory, Six Minutes To Release, World of Warcraft
|
| Friday, June 18, 2010 |
Late night coding, how I miss thee
Posted: 3:06:00 AM
|
Now playing: Muse - Uprising (Album Version) (5:06)
(Wow, haven't used that line in a while.)
"Get some sleep," said Kathy as she left for work earlier this evening.
Yeah, right. When I get on a roll, it takes a lot more than a recommendation of sleep get me to hop off.
Tonight I was determined to get back into the Six Minutes To Release project and fix it up so that it works with my changes to the LibWowArmory project. Well, that I did, and then some.
The website doesn't compile just yet, but all of the associated libraries do. Also, everything is updated for Visual Studio 2010 and the .Net Framework 3.5 except for one project, which I will tackle tomorrow. The reason the website doesn't compile is because I decided tonight to get rid of the Ajax Control Toolkit in favor of JQuery UI controls.
The reason for this is because the Ajax Control Toolkit has some kind of minification MSBuildTask. That's great for people who don't already use minification, but I've gone so far as to code my own minification (plus combination, compression, and caching) library. It annoys me that I have to install something extra just to get code to run. So, Ajax Control Toolkit is out.
The only controls I was using was a calendar and dialog popup, both of which is provided in the stock jQuery UI release. I've been wanting to get away from Microsoft's Ajax for the jQuery (even Microsoft uses jQuery) because of the ease of use of jQuery and simplistic and low bandwidth Ajax calls compared to Microsoft's chunky code. This is certainly a good first step towards that.
Yup, I'm in full code monkey mode, and far be it for sleep to interrupt me for any longer than it has to.Labels: Coding, Gaming, jQuery UI, LibWowArmory, Six Minutes To Release, World of Warcraft
|
| Monday, June 14, 2010 |
LibWowArmory 0.3 beta
Posted: 6:17:00 PM
|
Well, it took me a lot longer than planned, but Visual Studio 2010 came with so many neat features, I had to convert LibWowArmory over and use them all.
And when I'm on a roll, I can't stop. Not only did I convert the project to VS2010, I also took the time to add three brand new classes to the mix. AchievementStrings is a class that returns strings of achievements and achievement categories, and is required by the new CharacterFeed class. The CharacterFeed class returns a list of events such as achievements and achievement criteria completed, bosses killed, and loot won.
But the grand opening of ItemTooltip is the one I'm most excited about. Thanks to Lukan Schwigtenberg, I was able to integrate all of the data that makes a WoW tooltip a WoW tooltip. There is a lot of data that you can get about an item now, and it will be interesting to see if it can be put to good use.
This release completes all of the character and item data you can get from the Armory. I also plan on working on guild, arena, and auction house data in the future, although I don't know when I'll get to it.
Besides, I have a ton of other projects to upgrade. Fun times!Labels: Coding, Gaming, LibWowArmory, Lukan Schwigtenberg, World of Warcraft
|
| Friday, March 05, 2010 |
SVN turns 1000
Posted: 5:22:00 PM
|
Today, I made my 1,000th commit to my SVN server. It wasn't much of a change, reversing a commit that turned debugging on for one of my websites, but it's a milestone nonetheless.
Building up to this, I did a lot of work with the applications and libraries that currently exist on the SVN. Here's a brief summary of what I've done recently:
- LibWowArmory got an ItemTooltip class added to it, only a demo application remains before I release version 0.3.
- Constellation and Cent both got their libraries in the /lib directory of the SVN, allowing me to develop these applications anywhere, not just at home.
- Six Minutes To Release had a ton of work done on it, including the addition of LibMinifier, my JavaScript and CSS minification/combination/compression library. I also replaced WZ Tooltip with jQuery Tooltip, continuing my move towards jQuery on the Six Minutes website.
For now, I will continue to focus on the Six Minutes website, as there are a lot of guild issues that require me to do a lot of coding. After that, however, Gate will be the focus, as I want to get a copy of that up and running before Google shuts down Blogger FTP on May 1st. Granted, I have a backup plan if I don't succeed in that goal, but I'm hoping I can get something quick done by then.Labels: Cent, Coding, Constellation, Gaming, LibWowArmory, Six Minutes To Release, World of Warcraft
|
| Sunday, August 30, 2009 |
LibWowArmory 0.2 beta
Posted: 7:22:00 PM
|
I finally got around to updating LibWowArmory to include not only the latest changes to the Armory's XML data, but now it also includes information about reputation, achievements, statistics, and character calendar information.
It's taken me 8 months to go from one version to the next, and with all the bouncing around I do on projects, it's really no surprise that it takes me forever to do these kind of things. Although I do have plans to add guild and arena team information, I doubt that's going to come around for a while, unless someone offers some help with the project.
Next on the plate for me? Something to replace trac...Labels: Coding, Gaming, LibWowArmory, World of Warcraft
|
| Thursday, August 27, 2009 |
LibWowArmory coming along slowly
Posted: 4:55:00 PM
|
I've been spending a lot of time with LibWowArmory lately, largely because the current version is broken due to 3.2 Armory changes. My two main goals are to finish off the character data (I have 3 tabs left), and create a demo application.
Well, today I finished the demo application with all of the existing data I have. It's basically a command line version of the Armory, a 2,339-lines-of-code monster that took way longer than I had hoped it would. Of course, that's because over half of that has to do with the Item Search feature. It's crazy because of all the filters that exist.
What irks me about that, though, is that the Armory is a version behind on some of the filters. For instance, there is no filter for Emblems of Triumph yet. Because of the erratic updating they do to their own website, I've actually been thinking of making an app that downloads some .xml data, compares versions, and alerts me when there has been changes.
There's just so much I want to do programmatically with WoW, but I just don't have time to make it all happen at once. Sometimes I wish I had help on these things, but finding interested developers that are committed to help is a problem that's tough to solve.Labels: Coding, Gaming, LibWowArmory, World of Warcraft
|
| Thursday, July 16, 2009 |
Married Life
Posted: 3:01:00 AM
|
Ah, the married life.
Um, it seems to be the same as unmarried life.
Anyway, it's been far too long since I've posted here. First of all, you'll notice a new picture! This is from my wedding, and probably will be the one I use online going forward, as opposed to that silly surprise smile face from 2001. I'll likely still use my side Vegas photo occasionally, but this is going to be my common photo for the time being.
I'm still heavily addicted to World of Warcraft. Six Minutes to Release is still going strong, and I have done a lot with it since my last update. Right now I'm working on updating the broken LibWowArmory to work with all of Blizzard's latest Armory changes. Woo, this post is already linkerific.
Cent has resurfaced as a project when I discovered C++/CLI. Basically, all the calls to Crystal Space are done in C++/CLI while I do the actual game logic in Visual Basic.Net. It's not been without its difficulties, though. For instance, passing a System.String from VB.Net into C++/CLI for use as a char* parameter without causing a memory leak was interesting. I finally came up with this function:
const char* Marshalling::StringToConstCharPointer(String^ strIn) {
marshal_context^ context = gcnew marshal_context();
return context->marshal_as(strIn);
}
So far, I've gotten a blank screen with an FPS counter in the upper right touching 2,400 fps. I'm currently working on the static loader module that loads the images, music, and other various files needed by Crystal Space. Then I get to start working on the menu, which will be designed a heck of a lot smarter than the old one was. That is, no more 10,000 line classes.
The only thing I have yet to figure out is the new event system of Crystal Space, which is probably just for lack of trying. Right now I cannot handle keyboard, mouse, or joystick input without breaking the frame processor. If I try to handle all events, the frame event doesn't fire. If I comment out the part that handles all events, the frame event works fine. I'm sure I'll figure it out with time.
My music has, unfortunately, been put on hold. I just don't have the time nor the proper equipment to do anything with it. I've probably written half a dozen songs in my head in that time, but the overall motivation to actually do something with it is mostly gone. Hopefully next year I can get something from Open Labs and get myself out of this funk.
And finally as a footnote, I am quite into Kado Kado, a competitive mini game website. I am doing really well in Iron Chouquette, Ellon in the Dark, Opalus Factory, and for some reason Cooking Lili. I absolutely hate Cooking Lili. But I'm good at it. Bleh. But seriously, many of the games are fun, and they're coming out with more all the time. You can play five times per day for free, or if you become heavily addicted like me, you can buy the ability to play more.Labels: Cent, Coding, Cooking Lili, Crystal Space, Ellon in the Dark, Gaming, Iron Chouquette, Kado Kado, LibWowArmory, Life, Opalus Factory, Six Minutes To Release, Wedding, World of Warcraft
|
| Friday, February 06, 2009 |
Deja vu
Posted: 10:44:00 AM
|
|
Hmm. Apparently, I did post on LibWowArmory, but when I looked at my blog page the other day, it never got published. WTF? Labels: LibWowArmory, Life, Silliness
|
| Tuesday, February 03, 2009 |
LibWowArmory 0.1
Posted: 5:25:00 PM
|
I totally forgot to post this. Not so long ago, I released LibWowArmory on CodePlex. It's a .NET library for interfacing with the World of Warcraft Armory.
It's not complete, but I have it looking up important stuff, like items and characters. You can also extensively search as if you were searching from the Armory itself. Well, you are searching from the Armory itself, really, using the same queries available on their website.
I want to add lots of stuff to this, such as Achievements and Arena Teams, but right now this will do, because that's all I need for the Six Minutes website. I'm hoping at some point I'll be able to revisit this library and complete it, because it's pretty nice to be able to just call this stuff from code and not have to worry about the implementation of HTTP.Labels: Coding, Gaming, LibWowArmory, Six Minutes To Release, World of Warcraft
|
| Thursday, December 18, 2008 |
LibWowArmory 0.1
Posted: 1:50:00 PM
|
|
I've finished up the first release of the .Net library I've been working on that queries the WoW Armory. You can grab LibWowArmory from Codeplex. There's still a lot of work I want to do on it, but for now it does what I need it to do, and I can go back and complete the rest of the functionality later. Labels: Coding, Gaming, LibWowArmory, World of Warcraft
|
|