retroph / speedrun-watch Goto Github PK
View Code? Open in Web Editor NEWTool watching new runs from speedrun.com and posting info to several destinations - See https://retroph.github.io/
Tool watching new runs from speedrun.com and posting info to several destinations - See https://retroph.github.io/
Notably for NES & SNES runs feeds (also required for the upcoming GBA & GB feeds, with the 3DS VCs, and also GB/GBA with the GB player)
TODO:
Does a naive traversal of runs list (assumed ordered by descending time) looking for runs with lower time.
Should use correct comparison for ascending leaderboards.
Example: https://twitter.com/SNESRunsFeed/status/936483396351602688 https://twitter.com/SNESRunsFeed/status/936633749298696193
Search by player ID in leaderboard doesn't work for guests, first run with undefined ID (guest run) taken.
Example: https://twitter.com/SNESRunsFeed/status/935493751920873474 https://www.speedrun.com/run/y976lx2m
Run processing directly reads run category name and fetches link to category leaderboard.
Issues for subcategories:
Example: ALTTP Major Glitches https://t.co/nOX49dhYL8 https://twitter.com/SNESRunsFeed/status/936086327103279104
Did not support them at first because it was simpler and I was not sure it was a good idea. But there are not many IL runs so it wouldn't hurt adding them.
Some games like the classic Sonic have their run retimed after submission (e.g. to remove bonus countdown times). For new/unverified runs on those games leaderboard and player PB comparisions are completely wrong.
Add a static list of games for which to remove LB/PB comparisons for unverified runs.
For Twitter those are less of an issue, they just result in "status is a duplicate" errors.
Root cause: DB triggers (on run creation) are only guaranteed to be run at least once, and should be idempotent.
See #7
With our cache of SRL runs it's possible to detect changes in the run data when it's verified (if not verified too fast, of course). Should gather per-game statistics of changes of time after verification.
Problem: cannot filter by game series on the runs API. Will sadly have to poll the new runs for each game separately.
Ideally should not get the game series info from SRC on each run. Simple implementation: store game lists as static JSON files (and deploy bot to update). Next version: store game series in DB and update it on a low-frequency cron.
TODO: need to improve update scheduling to allow this to scale. Maintain a global update frequency (e.g. 1 or 2 hours) for the whole series and spread game updates over time.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.