So, I made a thing... (a manifest completion badge)
#476
Posté 07 juin 2013 - 01:57
#477
Posté 07 juin 2013 - 12:10
#478
Posté 08 juin 2013 - 10:06
#479
Posté 08 juin 2013 - 10:36
N172 wrote...
I found a bug in the Promotion Distribution badge:
The Vanguard Portion is too large.
For example, I currently got:
82 times Adept
78 times Infiltrator
75 times Soldier
73 times Engineer and Sentinel
71 times Vanguard
But on the badge the Vanguard portion is the same size as the Adept portion (larger than the others), it is worse on the uber badge, where Vanguard is the largest.
I think it might be some kind of rounding issue.
Aside from that: Nice Job!
Yeah, that's a quantization problem. Once you get that many promotions, the differences should be non-existent in the graphics. There are only 70-100 pixels to represent the data. The actual problem seems to be that I always round down and then fill up the remaining space with the last one. I don't really see an easy fix, though.
#480
Posté 08 juin 2013 - 10:48
#481
Posté 08 juin 2013 - 02:29
#482
Posté 08 juin 2013 - 09:00
GuyBlade wrote...
It was broken. Seems like Bioware added an age gate to the N7HQ. I just updated it to work with the change.
Thanks!
#483
Posté 08 juin 2013 - 10:15
GuyBlade wrote...
N172 wrote...
I found a bug in the Promotion Distribution badge:
The Vanguard Portion is too large.
For example, I currently got:
82 times Adept
78 times Infiltrator
75 times Soldier
73 times Engineer and Sentinel
71 times Vanguard
But on the badge the Vanguard portion is the same size as the Adept portion (larger than the others), it is worse on the uber badge, where Vanguard is the largest.
I think it might be some kind of rounding issue.
Aside from that: Nice Job!
Yeah, that's a quantization problem. Once you get that many promotions, the differences should be non-existent in the graphics. There are only 70-100 pixels to represent the data. The actual problem seems to be that I always round down and then fill up the remaining space with the last one. I don't really see an easy fix, though.
I've just pushed a change that should make this a little better, though perhaps not a lot. Take a look and see if it seems more reasonable.
#484
Posté 08 juin 2013 - 11:10
85 times Adept => 23 / 13 px
80 times Infiltrator => 20 / 12 px
77 times Soldier => 21 / 12 px
74 times Engineer => 19 / 11 px
74 times Sentinel => 19 / 10 px
72 times Vanguard => 18 / 11 px
Soldier (promotion) and Sentinel+Vanguard (uber) are slightly off, but only by 1px.
My suggestion whould have been to round down and fill up with background color, but since it is only 1px off it is not really an issue anymore.
#485
Posté 08 juin 2013 - 11:20
#486
Posté 08 juin 2013 - 11:24
N172 wrote...
It is much better now (promotion/uber):
85 times Adept => 23 / 13 px
80 times Infiltrator => 20 / 12 px
77 times Soldier => 21 / 12 px
74 times Engineer => 19 / 11 px
74 times Sentinel => 19 / 10 px
72 times Vanguard => 18 / 11 px
Soldier (promotion) and Sentinel+Vanguard (uber) are slightly off, but only by 1px.
My suggestion whould have been to round down and fill up with background color, but since it is only 1px off it is not really an issue anymore.
What I ended up doing is rounding down and then putting the remaining pixels in the largest categories. It isn't quite right, but filling in with the background color doesn't look quite right (especially if someone is wearing a badge that doesn't match the page background).
Now to actually go play some ME3 multiplayer since I've only played about 2 games in the last 2 months.
Modifié par GuyBlade, 08 juin 2013 - 11:24 .
#487
Posté 14 août 2013 - 10:57
#488
Posté 14 août 2013 - 11:03
However - if you hadn't made those nice completion badges, I could've kept my OCD under control. Would've saved me from spending many hours completing all of the Silver challenges ;-)
#489
Posté 14 août 2013 - 12:08
#490
Posté 14 août 2013 - 01:09
GuyBlade wrote...
So, if anyone wanders by, the badges will be down for the foreseeable future. I'm changing jobs and moving to a new town. Until I get a new place, I won't have anywhere reliable from which to host them. They will be back, eventually. Probably no later than November...possibly earlier depending on how things go.
These have been truly awesome - I hope your move & new job go great, and even if you don't get it back up and running,
thank you so much!
#491
Posté 19 août 2013 - 03:22
#492
Posté 19 août 2013 - 03:26
LePetitRobo wrote...
I'm gonna miss my little Pacmen!
Me too, actually they were circles. Nonetheless, I was using the white bar to check my progress on completing all the challenges. Oh well, at least I don't have to do 600 waves of Volus anymore
#493
Posté 19 août 2013 - 10:17
PS- You might want to drop a note at the end of the OP to let people know as well, if you still edit a year old post.
#494
Posté 27 octobre 2013 - 07:10
#495
Posté 07 novembre 2013 - 09:48
#496
Posté 18 janvier 2014 - 05:32
After leaving things be for about a day, it completely killed my internet connection. It seems the problem is the sheer amount of time it takes for me to pull each user's data from the BW server. To get a feel for it, I killed the web server and manually ran a script to update the last 1000 users's information:

As you can see, it is taking something between 50 and 60 seconds per user to pull data. Although I had scripts written to help handle multiple simultaneous requests for the same users data, they all assumed relatively good turn around time for pulling the six pages that it takes to generate all of the user stats.
What this means for badges is that I'm going to have to completely rewrite the code that handles user polling so that multiple accesses don't kill my network. With any luck, I can get that done this weekend.
#497
Posté 18 janvier 2014 - 05:57
Initially, the challenge was just getting data. That ended up being easier than expected using some handy tools for doing automated html parsing (thanks to Mojolicious for their wonderful static DOM parsing library). Once the data was in a usable format, the first few badges were relatively obvious: just draw whatever we've got in some way that is sensible. I initially created this thread, then. That's when the technical challenges started.
I knew before I made it available that I couldn't have every badge access go out and pull data from Bioware. That would be too bandwidth intensive and is frankly just a bit rude. As such, I had some caching that would keep data around for a while before requesting more. This ended up being fine when there was only one badge, but quickly broke down once I added additional badges.
If a person had two badges in their signature, that would cause two requests to my server which would be fine if the data was cached. If the data wasn't cached, though, each of those requests would result in my scripts trying to go out and pull the data again because neither of the requests would know that there was already a fetch in progress--it was a classic race condition. The problem was even worse for posters who were prolific. They might have 3, 4 or 5 posts on the same page which might end up meaning as many as 15 requests would come in almost simultaneously per user who happened to hit the page during the refresh period.
That sort of multiplicative effect was the first real technical challenge. I ended up handling it by creating per-user lock files so that only one request for a user's data would be in flight at a time.
The next trouble came at the redesign of the N7HQ webpage. The big trick there was that most of the pages had been renamed and I needed to add additional 'boilerplate' to get to any of them. This was annoying and required lots of mucking about to see what was required to get past the age gate, but ultimately it also opened up a lot more data, so I probably shouldn't complain too much.
The new problem, though, is a bit trickier. The exceedingly slow poll rate that I now have for N7HQ data has broken my old lock-file system. The long lifetimes of file polls can sometimes bump up against the max running times set for the processes. Worse, I'm ending up with hundreds of open connections while data is trying to load. I think, ultimately, I'm going to have to set up a single master poller to limit the total number of connections and also limit the pain that happens when many users want to update at once. Hopefully that will be enough to keep it running for the next 15 months.
#498
Posté 18 janvier 2014 - 06:02
#499
Posté 18 janvier 2014 - 10:25
#500
Posté 18 janvier 2014 - 05:55





Retour en haut




