I was just coming to make a thread about my project, but this will work perfectly. I'm Kieble which for those who played WOW might recognize, I created the Haste Breakpoint Tool, and the CTC Calculation Tools. I have vast experience with the Blizzard WOW API, and so I thought I would try my skills at the D3 API. So far I have been working on 2 major projects. They are only in test phase till the API comes out and i'll have to tweak a few things, but you can easily preview them now.
Project 1 - Comparison Tool
Status - Completed
Location - http://www.unyieldin...om/D3/compare/ (will be updating links and making a splash page at /D3/
This tool is made to compare to users stats down the board. You start by inputting both users battle tags. Since I have had to use "dummy" data that I store locally only 2 users will work. First user will be "Kieble#1634", make sure to cap first letter (i haven't done verification yet). Second user do "Straton#1".
These are the two users I have created so far. Once you have entered those in, click "Load Heroes". This will bring up each hero for both battetags. Click on a hero for either side. This should bring up a list of all their stats with certain stats highlighted in different colors.
Green stats will show when one hero has a higher stat than the other. Blue indicates equals. You can also see specs at the bottom and highlight over them to get talent details.
Step 1: Insert player 1's battletag ("Kieble#1634" only works at this time)
Step 2: Insert player 2's battletag ("Straton#1" only works at this time)
Step 3: Select heroes for player 1 and player 2.
Step 4: Enjoy a detailed comparison of the two players.
This tool does what all those excel sheet tools and online input tools do. However, you no longer have to input your own data. It will look up alll your stats from the API and do calculations to get your dps. It will then bring up an armory looking view of your toon. You select an item, and it will bring up a box allowing you to input data for the stats of an item you'd want to see how it affects you. Once you input the information hit the "Check" button and it will compare how that item will affect your DPS. It will also show you DPS stat values for all stats before and after the new item. Currently I'm working on getting 1h+off hand items working, but 2h, and all armors should be working. If you want to start over, you have to click your heroes name again to reload the page (should be programming a fix for this so that you just have to reclick the weapon or the "Check" button.
Step 1: Insert BattleTag (only "Kieble#1634" works at this time)
Step 2: Select hero (only "Kieble" works at this time)
Step 3: Select item (only Weapon and Pants work at this time)
Step 4: Insert stats for replacement item
Step 5: Hit "Check" button that appears. (For weapons you must select 1h/2h/1h+oh)
To Do:
1.) Change comparison to be green if it's an increase, and red if decrease.
2.) Add support for 1h+oh and just oh
3.) Remove some extra information that isn't needed.
4.) Add support for Effective Health, and Effective Health stat weights.
Kieble> I might be doing something wrong, but I can't get anything to load in Firefox.
Sent you a private message. Don't want to clutter up this forum post, but i've checked both tools with FF and have no problems. If anyone else does, please send me a PM.
Edit: Figured this out. AJAX doesn't like local files, so swapping between www.unyieldingvalor.com and unyieldingvalor.com caused anyone who used the first one to not work. Fixed now
Kieble, I thought I should throw a couple questions at you seeing that you went through the trouble in creating these tools.
1) Do you know if the API will have any form of rate limiting (i.e. Twitter only allows you to make 150 unauthorized requests an hour)
2) Are you going to be caching any requests?
Kieble, I thought I should throw a couple questions at you seeing that you went through the trouble in creating these tools.
1) Do you know if the API will have any form of rate limiting (i.e. Twitter only allows you to make 150 unauthorized requests an hour)
2) Are you going to be caching any requests?
The API has the same request limit as WoW's API. It also depends on if you have an authorized key for their web API.
Kieble, I thought I should throw a couple questions at you seeing that you went through the trouble in creating these tools.
1) Do you know if the API will have any form of rate limiting (i.e. Twitter only allows you to make 150 unauthorized requests an hour)
2) Are you going to be caching any requests?
Pretty much what Molster said. It's a floating number so there is never a set "we stop api data being sent" number, but they said for un-verified accounts at around 3,000 requests per day they will start to throttle you and you'll randomly see a blizzard error saying you've requested too much. You'll start to see it more and more, till you are finally completely throttled. With the verification of an authorized key (which they have not allowed us to request yet, as I already tried and they told me to wait till release) you'll be able to request a lot more.
For the caching, yes. I'm caching all account infos (the battletag stuff), and all hero information. This will make it so I don't have to do as many requests. Item caching i thought about, but since they have no last modified, and there are so many unique items, the requests it would prevent would be minimal.
My project is done in PHP and Javascript, both accessing the API (PHP for the intial pulls, Jscript for the item pulls - since no cache is needed).
Kieble, I thought I should throw a couple questions at you seeing that you went through the trouble in creating these tools.
1) Do you know if the API will have any form of rate limiting (i.e. Twitter only allows you to make 150 unauthorized requests an hour)
2) Are you going to be caching any requests?
Pretty much what Molster said. It's a floating number so there is never a set "we stop api data being sent" number, but they said for un-verified accounts at around 3,000 requests per day they will start to throttle you and you'll randomly see a blizzard error saying you've requested too much. You'll start to see it more and more, till you are finally completely throttled. With the verification of an authorized key (which they have not allowed us to request yet, as I already tried and they told me to wait till release) you'll be able to request a lot more.
For the caching, yes. I'm caching all account infos (the battletag stuff), and all hero information. This will make it so I don't have to do as many requests. Item caching i thought about, but since they have no last modified, and there are so many unique items, the requests it would prevent would be minimal.
My project is done in PHP and Javascript, both accessing the API (PHP for the intial pulls, Jscript for the item pulls - since no cache is needed).
Ah ok, I worked with the WoW API very briefly so I am not as familiar with the rate limit. Good to know though.
Is this a completely custom application or a built on a framework (Cake / Drupal) etc? Seeing that I work with PHP / JS a lot, I like to get a sense of what my fellow developers choose to use when writing applications such as this.
I wonder if it would be possible to create an Optimiser like RawR for all those people with 300 pieces of gear and no idea which combination will fit together best for their char. I read somewhere someone was going to attempt it, but for the life of me i cant recall where.
I wonder if it would be possible to create an Optimiser like RawR for all those people with 300 pieces of gear and no idea which combination will fit together best for their char. I read somewhere someone was going to attempt it, but for the life of me i cant recall where.
That thing could take ages to parse through all the items. In RawR you only had maybe 2-3 items per slot that were even remotely viable. In D3 you could have dozens per slot to test. Given that brute force is the only way to test every combination, I'm not sure anyone really wants to wait 6 to 8 weeks to find out which group of items gives them the best dps/survivability.
Ah ok, I worked with the WoW API very briefly so I am not as familiar with the rate limit. Good to know though.
Is this a completely custom application or a built on a framework (Cake / Drupal) etc? Seeing that I work with PHP / JS a lot, I like to get a sense of what my fellow developers choose to use when writing applications such as this.
Keep up the good work!
My initial one was done all hand coding. My next go through will probably use Cake / Bootstrap just to make the UI a bit more smoothe as I'm not a graphic designer so I don't have the best choices in look. However, this one, yup all hand coding, not fun.
Hi Kieble,
Do you plan to make it possible with EU server?
Absolutely, the API Connector I created is already set up for all realms so I just need to add a drop down for pre-fix (NA, EU, AUS, etc.) and it'll work no problem. I was gonna wait till it released before I did my update as who knows what will and won't work. They never updated the attributes field with the hidden values that Straton told me he would so I'm not sure if the DPS Calc will work right out of the box yet or not.
I already have a API Connector for PHP made so I may post that, and i'm working on one for JS, because if you've ever worked with JSON in JS it's way more complicated than PHP. Which makes no sense at all
I wonder if it would be possible to create an Optimiser like RawR for all those people with 300 pieces of gear and no idea which combination will fit together best for their char. I read somewhere someone was going to attempt it, but for the life of me i cant recall where.
That thing could take ages to parse through all the items. In RawR you only had maybe 2-3 items per slot that were even remotely viable. In D3 you could have dozens per slot to test. Given that brute force is the only way to test every combination, I'm not sure anyone really wants to wait 6 to 8 weeks to find out which group of items gives them the best dps/survivability.
This is true for sure. I was thinking more along the lines using the API primarily to pull in your current character initially, then having manually inputting gear stats for 2-3 items per slot and having the optimiser do its thing finding the best combination for your toon based on a certain preset like 'DW' or 'Sword&Board', etc.
Like you said having to parse and then have a DB entry for every single item is crazy, but im thinking if there is, like me, players out there with a crazy amount of items and no idea which one is the best cuz they are so close, manually entering is the least of the trouble to get a solid answer.
Rollback Post to RevisionRollBack
To post a comment, please login or register a new account.
If you have any resources for helping people make tools, post them here and I shall be adding them to a nice list!
Also post any new planned projects (or any projects you plan to update) using the API, so I may also start a nice list of user made applications.
Project 1 - Comparison Tool
Status - Completed
Location - http://www.unyieldin...om/D3/compare/ (will be updating links and making a splash page at /D3/
This tool is made to compare to users stats down the board. You start by inputting both users battle tags. Since I have had to use "dummy" data that I store locally only 2 users will work. First user will be "Kieble#1634", make sure to cap first letter (i haven't done verification yet). Second user do "Straton#1".
These are the two users I have created so far. Once you have entered those in, click "Load Heroes". This will bring up each hero for both battetags. Click on a hero for either side. This should bring up a list of all their stats with certain stats highlighted in different colors.
Green stats will show when one hero has a higher stat than the other. Blue indicates equals. You can also see specs at the bottom and highlight over them to get talent details.
Step 1: Insert player 1's battletag ("Kieble#1634" only works at this time)
Step 2: Insert player 2's battletag ("Straton#1" only works at this time)
Step 3: Select heroes for player 1 and player 2.
Step 4: Enjoy a detailed comparison of the two players.
Project 2 - DPS Calc
Status - Will need updates once API releases
Location - http://www.unyieldingvalor.com/D3/dpsCalc/
This tool does what all those excel sheet tools and online input tools do. However, you no longer have to input your own data. It will look up alll your stats from the API and do calculations to get your dps. It will then bring up an armory looking view of your toon. You select an item, and it will bring up a box allowing you to input data for the stats of an item you'd want to see how it affects you. Once you input the information hit the "Check" button and it will compare how that item will affect your DPS. It will also show you DPS stat values for all stats before and after the new item. Currently I'm working on getting 1h+off hand items working, but 2h, and all armors should be working. If you want to start over, you have to click your heroes name again to reload the page (should be programming a fix for this so that you just have to reclick the weapon or the "Check" button.
Step 1: Insert BattleTag (only "Kieble#1634" works at this time)
Step 2: Select hero (only "Kieble" works at this time)
Step 3: Select item (only Weapon and Pants work at this time)
Step 4: Insert stats for replacement item
Step 5: Hit "Check" button that appears. (For weapons you must select 1h/2h/1h+oh)
To Do:
1.)
Change comparison to be green if it's an increase, and red if decrease.2.) Add support for 1h+oh and just oh
3.) Remove some extra information that isn't needed.
4.) Add support for Effective Health, and Effective Health stat weights.
Sent you a private message. Don't want to clutter up this forum post, but i've checked both tools with FF and have no problems. If anyone else does, please send me a PM.
Edit: Figured this out. AJAX doesn't like local files, so swapping between www.unyieldingvalor.com and unyieldingvalor.com caused anyone who used the first one to not work. Fixed now
1) Do you know if the API will have any form of rate limiting (i.e. Twitter only allows you to make 150 unauthorized requests an hour)
2) Are you going to be caching any requests?
The API has the same request limit as WoW's API. It also depends on if you have an authorized key for their web API.
Pretty much what Molster said. It's a floating number so there is never a set "we stop api data being sent" number, but they said for un-verified accounts at around 3,000 requests per day they will start to throttle you and you'll randomly see a blizzard error saying you've requested too much. You'll start to see it more and more, till you are finally completely throttled. With the verification of an authorized key (which they have not allowed us to request yet, as I already tried and they told me to wait till release) you'll be able to request a lot more.
For the caching, yes. I'm caching all account infos (the battletag stuff), and all hero information. This will make it so I don't have to do as many requests. Item caching i thought about, but since they have no last modified, and there are so many unique items, the requests it would prevent would be minimal.
My project is done in PHP and Javascript, both accessing the API (PHP for the intial pulls, Jscript for the item pulls - since no cache is needed).
Ah ok, I worked with the WoW API very briefly so I am not as familiar with the rate limit. Good to know though.
Is this a completely custom application or a built on a framework (Cake / Drupal) etc? Seeing that I work with PHP / JS a lot, I like to get a sense of what my fellow developers choose to use when writing applications such as this.
Keep up the good work!
That thing could take ages to parse through all the items. In RawR you only had maybe 2-3 items per slot that were even remotely viable. In D3 you could have dozens per slot to test. Given that brute force is the only way to test every combination, I'm not sure anyone really wants to wait 6 to 8 weeks to find out which group of items gives them the best dps/survivability.
My initial one was done all hand coding. My next go through will probably use Cake / Bootstrap just to make the UI a bit more smoothe as I'm not a graphic designer so I don't have the best choices in look. However, this one, yup all hand coding, not fun.
Absolutely, the API Connector I created is already set up for all realms so I just need to add a drop down for pre-fix (NA, EU, AUS, etc.) and it'll work no problem. I was gonna wait till it released before I did my update as who knows what will and won't work. They never updated the attributes field with the hidden values that Straton told me he would so I'm not sure if the DPS Calc will work right out of the box yet or not.
I already have a API Connector for PHP made so I may post that, and i'm working on one for JS, because if you've ever worked with JSON in JS it's way more complicated than PHP. Which makes no sense at all
More than likely they are using screen scraping which is bad and can get you banned. diabloprogress.com is doing the same untill the API comes up.
I'm not sure who you were talking to in the second part of your question.
Edit: API is now live. Blah, i have to redo my coding since they aren't providing callback? info with jquery so my battletag pulls don't work. BOOOOO
This is true for sure. I was thinking more along the lines using the API primarily to pull in your current character initially, then having manually inputting gear stats for 2-3 items per slot and having the optimiser do its thing finding the best combination for your toon based on a certain preset like 'DW' or 'Sword&Board', etc.
Like you said having to parse and then have a DB entry for every single item is crazy, but im thinking if there is, like me, players out there with a crazy amount of items and no idea which one is the best cuz they are so close, manually entering is the least of the trouble to get a solid answer.