Closed bdefore closed 6 years ago
Thanks a lot for this, @bdefore! I'm not the owner of this project, but I made an userscript based on this project, for people using Chromium-based browsers (or any other browser compatible with Violentmonkey / Greasemonkey / Tampermonkey) since this extension is not (yet?) available on the Chrome Web Store.
@bdefore Thanks for the heads up, I will definitely update to use the API.
@bdefore Is that now all the data you're willing to publish or is there more to come? I've noticed that the test results aren't filed under the Steam AppID anymore but under some ID of your own… which broke my Userscript.
@DanMan for the moment yes, is there something specific you need access to? is your userscript available somewhere?
@bdefore Yes, on Openuserjs.
I was already working on adding more features to it, but without access to the test results (that were provided to you for free), I can't. I get that you want control about your server bandwidth, but cutting the cord just like that is not exactly in the spirit of open source/data.
@DanMan ok, i understand. unfortunately, the /data
prefixed endpoints were not intended to be consumed by other services. there's still a lot of development happening and i would rather not be at risk of breaking them, hence the move to a versioned /api
endpoint that serves as an ad hoc data contract.
access to the reports themselves is best achieved by linking them to SPCR. hopefully that suits your needs. maybe down the line there could be a dependable api for these too but it would come at the risk of fragementing where people go for the information.
i am working towards open sourcing the web app, and it's there where i'd welcome additions to the way this data is presented.
@bdefore How about you don't care about breaking unintended usage, but also don't prevent others from using the data as they see fit? I surely won't complain, if you decide to do things differently, but I do mind when you start getting possessive.
You basically cut everyone off from using the test results, and you did so on purpose by obfuscating the URL. What started out as a huge community effort has now effectively turned into a benevolent dictatorship. I wonder why, because the reasons you mention sound pretty flimsy to me.
I don't remember anyone putting you in charge of this. You volunteered, and did a great job thus far - thanks for that. But this last move rubs me the wrong way.
@bdefore My only gripe with the current implementation is that there isn't a way to specify a specific proton version or have it give back results based on X criteria (Example: Give a rating based on 10 recent reports).
My only gripe with the current implementation is that there isn't a way to specify a specific proton version or have it give back results based on X criteria (Example: Give a rating based on 10 recent reports).
I have that feature basically ready to go in my Userscript, but apparently it's not going to happen because he doesn't want it to.
@CuriousTommy I plan to include a trendingTier
property at the same endpoint matching what you can see on SPCR. it was acting inaccurately on my first pass, so it's not live yet.
@CuriousTommy @tryton-vanmeer i've added trendingTier
and provisionalTier
to the API.
The algorithm for a game's trending state is currently derived from the most recent third of reports. The algorithm for whether a game's rating is deemed 'pending' is if it has received at least three reports submitted with GPU drivers meeting official minimum requirements as defined here: https://github.com/ValveSoftware/Proton/wiki/Requirements
Both algorithms are subject to change. They will be refined over time.
All games with at least one report meeting minimum requirements will provide both a tier
and a trendingTier
. An example of one where these differ at this time is Cuphead: https://spcr.netlify.com/api/v1/reports/summaries/268910.json
Note the lack of a provisionalTier
in this case.
A game lacking enough reports to be conclusive will have tier
and trendingTier
of pending
while providing a provisionalTier
with where it seems to be headed. An example of one at this time is Hitman 2: Silent Assassin:
https://spcr.netlify.com/api/v1/reports/summaries/6850.json
Note that games without any reports meeting minimum specs will respond with a 404.
@CuriousTommy this doesn't entirely meet your request for accepting parameters for a custom timeframe or a proton version. I've added these to my notes for potential inclusion in the future.
hi @tryton-vanmeer thanks for making this plugin. i'm the developer of SPCR and wanted to give you a heads up that the site now provides a formal API that this should hook into.
The
data/reports/app
endpoints that this is currently relying on will soon be retired since I'm renovating the data model internally and want to protect data consumers, such as this plugin, from ongoing changes.An example is here: https://spcr.netlify.com/api/v1/reports/summaries/9940.json .. you can use
confidence
andtier
in the response itself rather than calculating on your own.