Tom94 wrote:
1. Of course. This is not exactly how the algorithm works but should yield a sufficient approximation. That being said, correctly judging X is the problem here.CookChefSteak wrote:
1. If a certain map requires X amount of skills to get a decent score at and that X correlates to a certain pp range, then should pp gain not be expected when you are below that pp range and acquire such a score?
2. As far as I've noticed, accuracy is weighed too heavily on any map below 1.5 minutes(or >1 minute with DT). Try looking at maps like Eggman's Theme on DT. I lost around 6 pp(out of overall 8) because I improved a score but had 2% less. Note the score I improved had 3-4 mistakes and the improvement was an FC, so it really makes no sense to me. That map shouldn't give that much pp anyways imho, it's too easy to fc on DT.
3. Wouldn't checking whether or not the newly calculated pp would be less or more than the old one be enough? I mean, the servers already store everybody's pp so you have all the data you need available for comparison. But then again, I don't know how the scoring system is programmed so I don't want to assume things.
2. "2%" accuracy is usually a huge margin. Most people see "accuracy goes from 0% to 100%, therefore 2% is not a big difference" which is a completely wrong assumption. First of all, it greatly depends on where you've been previously. 96% and 98% are a 2% difference, but you have twice as many 100s in a 96% score than in a 98% score. That's a 100% relative difference! In your case you went down from around 95% to 92%. While not doubling your 100 count it still increased by a lot. Judging by how short the map is, you shouldn't expect to get too much of a bump for full-comboing it. Imho the decrease of pp is justified on that map.
3. No. The system needs to sort all your current scores to determine your user-pp, so it needs to be able to access your highest pp on a per-map basis for what you suggest to work. That'd force us to store 2 high-scores per map per player. Another problem is, that the pp algorithm will be tweaked frequently, so plays that previously were not deemed good enough and discarded might end up deserving the top spot in the future.
But since every player's current pp is stored as an integer on the server, why is it not possible or plausible to store newly calculated pp as a temporary variable before calling on the server's pp-update method, and compare it with the stored[old] pp value? It looks like a simple if statement in my head. It just seems like something like that should be very possible in a well-modulated algorithm. I'll say it again though, I don't know how you programmed it so it might not be that simple. Maybe if you could shed some light on the technical aspects of the algorithm I'll understand better.