Legitimately a baby monkey torture of a marathon
This commit is contained in:
parent
37f807e53f
commit
76551467c2
3
archive/2025/SGDQ2025/data/queue.json
Executable file
3
archive/2025/SGDQ2025/data/queue.json
Executable file
@ -0,0 +1,3 @@
|
||||
[
|
||||
{ "post": "https://boards.4chan.org/v/thread/715324904#p715325892", "name": "DELTARUNE", "markers": ["tranny"] }
|
||||
]
|
||||
14408
archive/2025/SGDQ2025/data/ratings.json
Executable file
14408
archive/2025/SGDQ2025/data/ratings.json
Executable file
File diff suppressed because it is too large
Load Diff
196
archive/2025/SGDQ2025/data/total.json
Executable file
196
archive/2025/SGDQ2025/data/total.json
Executable file
@ -0,0 +1,196 @@
|
||||
[
|
||||
{ "post": "https://boards.4chan.org/v/thread/714688690#p714691581", "name": "Sonic the Hedgehog 2" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/714700063#p714700141", "name": "Okami HD", "markers": ["overestimate"] }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/714700063#p714700174", "name": "Okami HD", "markers": ["overestimate"] }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/714700063#p714700208", "name": "Okami HD", "markers": ["overestimate"] }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/714700063#p714706965", "name": "Banjo-Kazooie" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/714700063#p714708191", "name": "Banjo-Kazooie (Glitch Exhibition Incentive)", "markers": ["trainwreck"] }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/714717737#p714718023", "name": "Indiana Jones and the Great Circle" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/714717737#p714723054", "name": "Avowed" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/714724836#p714728387", "name": "Beat Saber", "markers": ["girl", "overestimate"] }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/714737350#p714737610", "name": "Sekiro" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/714737350#p714742892", "name": "Quake 64 (Remaster)", "markers": ["overestimate"] }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/714743297#p714747380", "name": "Lenna's Inception", "markers": ["tranny"] }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/714749098#p714750785", "name": "Mega Man X4" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/714749098#p714752668", "name": "Castlevania: The Adventure ReBirth" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/714749098#p714754564", "name": "Astro Boy: Omega Factor" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/714755457#p714757403", "name": "Voidwrought", "markers": ["tranny", "overestimate"] }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/714755457#p714758851", "name": "Timespinner", "markers": ["tranny", "overestimate", "ad"] }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/714755457#p714760920", "name": "UN Squadron" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/714763000#p714763116", "name": "Hello Kitty: Roller Rescue" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/714763000#p714764032", "name": "BODE Cunny", "markers": ["tranny"] }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/714763000#p714766993", "name": "LEGO Star Wars: The Movie: The Video Game (GBA)", "markers": ["tranny"] }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/714763000#p714769510", "name": "Teenage Mutant Ninja Turtles IV: Turtles in Time Arcade" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/714771482#p714772246", "name": "Spyro 3.5: Return to the Forgotten Realms", "markers": ["overestimate"] }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/714771482#p714774485", "name": "The Talos Principle: Reawakened" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/714771482#p714774504", "name": "The Talos Principle: Reawakened" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/714771482#p714777357", "name": "MainFrames", "markers": ["ad"] }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/714778950#p714781176", "name": "RollerCoaster Tycoon", "markers": ["trans rights"] }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/714785193#p714791278", "name": "Crash Twinsanity" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/714799771#p714800794", "name": "H4lo" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/714799771#p714800824", "name": "H4lo" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/714799771#p714800828", "name": "H4lo" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/714799771#p714800829", "name": "H4lo" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/714807323#p714809239", "name": "Metal Gear Solid 3: Snake Eater", "markers": ["overestimate"] }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/714807323#p714809249", "name": "Metal Gear Solid 3: Snake Eater", "markers": ["overestimate"] }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/714807323#p714813335", "name": "Star Wars Jedi: Survivor" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/714813825#p714818119", "name": "Castlevania: Order of Ecclesia" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/714820926#p714823745", "name": "Mega Man Maker" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/714826120#p714830069", "name": "Donkey Kong Jungle Bascist the Fascist", "markers": ["tranny"] }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/714832085#p714834338", "name": "The Legend of Zelda: Link's Awakening DX" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/714832085#p714834352", "name": "The Legend of Zelda: Link's Awakening DX" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/714832085#p714834359", "name": "The Legend of Zelda: Link's Awakening DX" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/714837935#p714839750", "name": "Wolfenstein II: Punch A Fucking Nazi Chud", "markers": ["foid"] }
|
||||
|
||||
{ "post": "https://boards.4chan.org/v/thread/714842824#p714845396", "name": "Blue Prince" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/714849178#p714850747", "name": "Plants vs. Zombies" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/714857062#p714857142", "name": "Uncharted 3: Drake's Deception" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/714857062#p714858445", "name": "Get to Work", "markers": ["ad"] }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/714857062#p714860653", "name": "Arctic Eggs" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/714857062#p714860759", "name": "Arctic Eggs" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/714857062#p714861948", "name": "Hungry Ghosts" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/714863573#p714863949", "name": "Finding Frankie" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/714863573#p714864028", "name": "Finding Frankie" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/714863573#p714864856", "name": "Ao Oni (2024)" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/714863573#p714864864", "name": "Ao Oni (2024)" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/714863573#p714864867", "name": "Ao Oni (2024)" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/714863573#p714867110", "name": "En Garde!" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/714870786#p714870873", "name": "We Love Katamari REROLL+ Royal Reverie" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/714870786#p714873432", "name": "OneShot" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/714870786#p714875368", "name": "Dr. Robotnik's Ring Racers", "markers": ["tranny"] }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/714870786#p714875402", "name": "Dr. Robotnik's Ring Racers", "markers": ["tranny"] }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/714876753#p714878984", "name": "Mario Kart: Super Circuit" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/714876753#p714878007", "name": "Mario Kart: Super Circuit" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/714876753#p714882570", "name": "Dread Delusion", "markers": ["tranny"] }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/714883751#p714887224", "name": "Seafrog", "markers": ["ad"] }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/714883751#p714890386", "name": "Casual Birder" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/714883751#p714890396", "name": "Casual Birder" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/714883751#p714890418", "name": "Casual Birder" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/714883751#p714890426", "name": "Casual Birder" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/714898720#p714903460", "name": "The Legend of Zelda: Majora's Mask" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/714907751#p714907891", "name": "A Plumber for All Seasons" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/714907751#p714911297", "name": "Pseudregalia" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/714921341#p714922546", "name": "Sonic Adventure 2", "markers": ["overestimate", "overestimate"] }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/714926224#p714928073", "name": "Octopath Traveler" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/714930860#p714932970", "name": "Kingdom Hearts: Birth by Sleep Final Mix HD", "markers": ["tranny","tranny","trainwreck"] }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/714930860#p714934774", "name": "Castlevania: Rondo of Blood" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/714935578#p714938024", "name": "BioShock" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/714935578#p714938026", "name": "BioShock" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/714939339#p714944009", "name": "Resident Evil 7: Biohazard" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/714939339#p714944018", "name": "Resident Evil 7: Biohazard" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/714939339#p714944029", "name": "Resident Evil 7: Biohazard" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/714946543#p714948105", "name": "Dead Rising 3" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/714946543#p714951339", "name": "Resident Evil HD Remaster" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/714946543#p714954752", "name": "Still Wakes the Deep" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/714955235#p714957680", "name": "Control", "markers": ["overestimate"] }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/714955235#p714961039", "name": "Siren", "markers": ["overestimate"] }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/714955235#p714962451", "name": "Astra and the New Constellation", "markers": ["tranny", "ad"] }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/714955235#p714963816", "name": "Quadrilateral Cowboy", "markers": ["tranny", "ad"] }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/714964335#p714966340", "name": "Pac-Man Championship Edition DX+" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/714964335#p714966345", "name": "Pac-Man Championship Edition DX+" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/714964335#p714968840", "name": "Evoland" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/714964335#p714968848", "name": "Evoland" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/714971714#p714972154", "name": "Prison City" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/714971714#p714974680", "name": "Rayforce" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/714971714#p714977270", "name": "Monolith", "markers": ["tranny"] }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/714979068#p714980458", "name": "Lets Play: Backyard Baseball '97", "markers": ["foid", "nonrun", "overestimate"] }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/714992606#p715001223", "name": "Nepokemon Sword/Shield", "markers": ["foid", "tranny"] }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/715001203#p715005540", "name": "Freaking Cuphead" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/715001203#p715006871", "name": "Freaking Cuphead DLC" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/715007791#p715010851", "name": "Tetris 99", "markers": ["overestimate", "nonrun"] }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/715007791#p715013761", "name": "Wii Music" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/715019358#p715021274", "name": "Titanfae 2", "markers": ["tranny"] }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/715024219#p715027782", "name": "Synchronica", "markers": ["overestimate", "nonrun"] }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/715030040#p715032930", "name": "Super Mario Odyssey" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/715033973#p715037110", "name": "The Elder Scrolls IV: Oblivion Remastered" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/715033973#p715040170", "name": "AEW Fight Forever" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/715033973#p715040183", "name": "AEW Fight Forever" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/715041436#p715043094", "name": "An Airport for Aliens Currently Run by Dogs", "markers": ["ad"] }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/715041436#p715044008", "name": "Shaq Fu" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/715041436#p715045789", "name": "Catlateral Damage: Remeowstered" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/715041436#p715046675", "name": "Mario Paint" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/715041646#p715050495", "name": "Hercules: The Wegendary Journeys" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/715041646#p715051765", "name": "Pocketbike Racer" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/715053282#p715053512", "name": "Nubby's Number Factory" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/715053282#p715053585", "name": "Nubby's Number Factory" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/715053282#p715055114", "name": "BOWLOUT" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/715053282#p715056479", "name": "Emergency Call Ambulance", "markers": ["tranny"] }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/715053282#p715056517", "name": "Emergency Call Ambulance", "markers": ["tranny"] }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/715053282#p715056542", "name": "Emergency Call Ambulance", "markers": ["tranny"] }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/715053282#p715058250", "name": "Rupper Bandits" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/715060257#p715061103", "name": "Wirehead" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/715060257#p715062904", "name": "Skate Horse" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/715060257#p715063035", "name": "Skate Horse" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/715060257#p715064657", "name": "Sega Marine Fishing" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/715060257#p715064661", "name": "Sega Marine Fishing" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/715060257#p715066865", "name": "Rose and Camellia" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/715060257#p715066870", "name": "Rose and Camellia" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/715067087#p715070614", "name": "The Bouncerrrrrrr" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/715067087#p715070963", "name": "The Bouncerrrrrrr" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/715067087#p715071330", "name": "The Bouncerrrrrrr" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/715067087#p715071605", "name": "Marriage Proposal" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/715067087#p715071685", "name": "Marriage Proposal" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/715085251#p715088090", "name": "The Legend of Zelda: Phantom Hourglass" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/715085251#p715088102", "name": "The Legend of Zelda: Phantom Hourglass" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/715093182#p715094120", "name": "Nintendo Puzzle Collection" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/715103194#p715104828", "name": "Donkey Kong Country Returns HD", "markers": ["neporun"] }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/715111527#p715112045", "name": "Community Clash: A Speedrunning Gameshow", "markers": ["nonrun"] }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/715116249#p715117489", "name": "Sayonara, Maria World 2", "markers": ["tranny", "tranny", "tranny", "tranny"] }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/715120840#p715122795", "name": "Super Metroid" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/715126713#p715127693", "name": "DOOM: The Dark Ages", "markers": ["neporun"] }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/715131531#p715136468", "name": "Gaylo: Reacharound" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/715131531#p715136472", "name": "Gaylo: Reacharound" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/715131531#p715136480", "name": "Gaylo: Reacharound" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/715131531#p715136490", "name": "Gaylo: Reacharound" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/715131531#p715136496", "name": "Gaylo: Reacharound" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/715136793#p715140503", "name": "Neon White", "markers": ["tranny"] }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/715142827#p715144493", "name": "Tony Hawk's Pro Skater 4" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/715142827#p715146135", "name": "Xenoblade Chronicles: Future Connected" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/715142827#p715147160", "name": "Chip 'n Dale Rescue Rangers 2" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/715142827#p715148165", "name": "Rockin' Kats" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/715142827#p715149560", "name": "Totally Rad" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/715151141#p715151517", "name": "Teenage Mutant Ninja Turtles II: The Arcade Game" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/715151141#p715152857", "name": "Strider" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/715151141#p715152863", "name": "Strider" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/715151141#p715154954", "name": "Mega Man 3" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/715151141#p715157018", "name": "Lumina Rush", "markers": ["ad"] }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/715157513#p715160695", "name": "Sonic Heroes", "markers": ["tranny"] }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/715157513#p715163297", "name": "Spelunky Series" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/715179878#p715182059", "name": "Pokemon XY" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/715186086#p715189209", "name": "Metroid: Zero Mission" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/715196254#p715198774", "name": "Super Mario Maker 2" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/715201204#p715205007", "name": "Balatro" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/715207353#p715214026", "name": "Pump It Up Phoenis", "markers": ["nonrun"] }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/715215098#p715218874", "name": "Bloodborne" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/715215098#p715218881", "name": "Bloodborne" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/715224114#p715225416", "name": "The oMegas", "markers": ["nonrun", "neporun"] }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/715224114#p715225441", "name": "The oMegas", "markers": ["nonrun", "neporun"] }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/715228640#p715231729", "name": "Monster Hunter Wilds (Lockout Bingo)", "markers": ["nonrun"] }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/715235114#p715235274", "name": "Monster Hunter Wilds (4-Way)", "markers": ["nonrun"] }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/715235114#p715240079", "name": "Marvel's Spider-Man 2" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/715241217#p715241252", "name": "Blasphemous" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/715241217#p715241262", "name": "Blasphemous" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/715241217#p715242884", "name": "Cytadela" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/715241217#p715245275", "name": "Batman: Vengeance" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/715241217#p715246201", "name": "Red Alliance" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/715246691#p715247576", "name": "Macbat 64: Journey of a Nice Chap" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/715246691#p715248770", "name": "Tall Twin Towers", "markers": ["tranny"] }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/715246691#p715248771", "name": "Tall Twin Towers", "markers": ["tranny"] }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/715252323#p715252752", "name": "Bo: Path of the Teal Lotus" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/715252323#p715253081", "name": "Bo: Path of the Teal Lotus" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/715271057#p715271146", "name": "Final Fantasy IX", "markers": ["overestimate"] }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/715271057#p715271161", "name": "Final Fantasy IX", "markers": ["overestimate"] }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/715271057#p715271196", "name": "Final Fantasy IX", "markers": ["overestimate"] }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/715275385#p715278674", "name": "Super Mario Bros. 3" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/715275385#p715278703", "name": "Super Mario Bros. 3" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/715275385#p715279429", "name": "Super Mario Bros. 3 (Any%)", "markers": ["overestimate"] }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/715285604#p715286120", "name": "Kirby Super Star Ultra (TAS)" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/715285604#p715286130", "name": "Kirby Super Star Ultra (TAS)" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/715285604#p715286140", "name": "Kirby Super Star Ultra (TAS)" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/715290676#p715293386", "name": "Celeste" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/715290676#p715293416", "name": "Celeste" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/715303087#p715304712", "name": "Super Mario 64" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/715303087#p715304718", "name": "Super Mario 64" }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/715306985#p715308897", "name": "Baby Monkey Ball: Torture & Roll", "markers": ["neporun"] }
|
||||
,{ "post": "https://boards.4chan.org/v/thread/715314273#p715317154", "name": "Mario Kart World (Knockout Tours)", "markers": ["neporun", "nonrun"] }
|
||||
]
|
||||
BIN
archive/2025/SGDQ2025/images/ratings[chronological].png
Executable file
BIN
archive/2025/SGDQ2025/images/ratings[chronological].png
Executable file
Binary file not shown.
|
After Width: | Height: | Size: 802 KiB |
BIN
archive/2025/SGDQ2025/images/ratings[chronological][type=boxplot].png
Executable file
BIN
archive/2025/SGDQ2025/images/ratings[chronological][type=boxplot].png
Executable file
Binary file not shown.
|
After Width: | Height: | Size: 401 KiB |
BIN
archive/2025/SGDQ2025/images/ratings[mean].png
Executable file
BIN
archive/2025/SGDQ2025/images/ratings[mean].png
Executable file
Binary file not shown.
|
After Width: | Height: | Size: 803 KiB |
BIN
archive/2025/SGDQ2025/images/ratings[median].png
Executable file
BIN
archive/2025/SGDQ2025/images/ratings[median].png
Executable file
Binary file not shown.
|
After Width: | Height: | Size: 805 KiB |
BIN
archive/2025/SGDQ2025/images/ratings[total].png
Executable file
BIN
archive/2025/SGDQ2025/images/ratings[total].png
Executable file
Binary file not shown.
|
After Width: | Height: | Size: 28 KiB |
99
chart.py
99
chart.py
@ -16,7 +16,7 @@ import matplotlib.pyplot as Plot
|
||||
import matplotlib.patches as patches
|
||||
|
||||
# consts
|
||||
TITLE = "AGDQ 2025"
|
||||
TITLE = "SGDQ 2025"
|
||||
USE_LEGEND = True # display the legend with markers
|
||||
TITLE_OFFSET = 0 # 2.5 # to-do: dynamically set this to how many columns are set with legend
|
||||
|
||||
@ -25,6 +25,7 @@ AUX_MODE = None # total | markers | None
|
||||
SORT_BY = None # sort runs by the values
|
||||
CUTOFF_SECONDS = 0 # 60 * 5
|
||||
MODE = "scatter"
|
||||
FILTER_BY = None # filters by markers
|
||||
|
||||
# more constant consts
|
||||
TIMESTAMP = str(int(time.time_ns()/1000/1000))
|
||||
@ -74,6 +75,7 @@ COLORS = {
|
||||
],
|
||||
"SPECIAL": (0.6, 0.2, 1.0),
|
||||
"BARBIE": (244.0/255.0, 33.0/255.0, 138.0/255.0),
|
||||
"ROSE AND CAMELLIA": (0.8705882352941177, 0.6313725490196078, 0.5764705882352941),
|
||||
} if DARK else {
|
||||
"BAND0": "#f0f0f0",
|
||||
"BAND1": "#f8f8f8",
|
||||
@ -94,6 +96,7 @@ COLORS = {
|
||||
],
|
||||
"SPECIAL": (0.4, 0.0, 0.8),
|
||||
"BARBIE": (244.0/255.0, 33.0/255.0, 138.0/255.0),
|
||||
"ROSE AND CAMELLIA": (0.8705882352941177, 0.6313725490196078, 0.5764705882352941),
|
||||
}
|
||||
|
||||
if DARK:
|
||||
@ -111,7 +114,7 @@ SCORES = {
|
||||
"C-": 5.7, "C": 6.0, "C+": 6.3,
|
||||
"B-": 6.7, "B": 7.0, "B+": 7.3,
|
||||
"A-": 7.7, "A": 8.0, "A+": 8.3,
|
||||
"S-": 8.7, "S": 9.0, "Plot": 9.0, "S+": 9.3,
|
||||
"S-": 8.7, "S": 9.0, "P": 9.0, "S+": 9.3,
|
||||
"SS": 9.3, "SSS": 9.5, "W": 9.7,
|
||||
"SSS+": 9.8,
|
||||
"SSSS": 9.9,
|
||||
@ -140,18 +143,23 @@ def add_marker( name, tag, color=COLORS["TEXT"], reverse=None, zoomer=None ):
|
||||
add_marker("girl", tag="!", reverse="femcel", zoomer="gyatt")
|
||||
add_marker("foid", tag="...", reverse="sex worker", zoomer="skibidi")
|
||||
add_marker("tranny", tag="*", reverse="real woman", zoomer="fr")
|
||||
add_marker("biohazard", tag="#")
|
||||
add_marker("male", tag="♂")
|
||||
add_marker("female", tag="♀")
|
||||
add_marker("BOOBS", tag="( Y )")
|
||||
add_marker("vt", tag="^")
|
||||
add_marker("race", tag="@")
|
||||
add_marker("trainwreck/cringekino", tag="%", reverse="flawless", zoomer="fanum tax")
|
||||
add_marker("biohazard", tag="#") # fatales
|
||||
add_marker("male", tag="♂") # fatales
|
||||
add_marker("female", tag="♀") # fatales
|
||||
add_marker("BOOBS", tag="( Y )") # memetic
|
||||
add_marker("vt", tag="^") # rarely used
|
||||
add_marker("amogus", tag=" sus") # rarely used
|
||||
add_marker("race", tag="@") # unused now
|
||||
add_marker("savestated", tag="\\") # rarely used, should be invalid now
|
||||
#add_marker("trainwreck/cringekino", tag="%", reverse="flawless", zoomer="fanum tax")
|
||||
add_marker("trainwreck", tag="%", reverse="flawless", zoomer="fanum tax")
|
||||
add_marker("cringekino", tag="%", reverse="kinocringe", zoomer="fanum tax")
|
||||
add_marker("DNF/invalid", tag="$", reverse="WR", zoomer="ohio")
|
||||
add_marker("overestimate", tag=">", reverse="underestimate", zoomer=":skull:")
|
||||
add_marker("amogus", tag=" sus")
|
||||
add_marker("savestated", tag="\\")
|
||||
add_marker("ad/nonrun", tag="✡", reverse="organic", zoomer="sigma")
|
||||
add_marker("overestimate", tag=">", reverse="underestimate", zoomer="💀")
|
||||
add_marker("ad", tag="✡", reverse="organic", zoomer="sigma")
|
||||
add_marker("nonrun", tag="@", reverse="letsplay", zoomer="content")
|
||||
add_marker("neporun", tag="\\", reverse="indie", zoomer="collab")
|
||||
#add_marker("ad/nonrun", tag="✡", reverse="organic", zoomer="sigma")
|
||||
|
||||
# Ratings fetch related
|
||||
|
||||
@ -288,6 +296,9 @@ def fetch_ratings( queue=[] ):
|
||||
|
||||
if no in ratings[name]["ratings"]:
|
||||
continue
|
||||
|
||||
if no in ratings[name]["binned"]:
|
||||
continue
|
||||
|
||||
parser = MyHTMLParser()
|
||||
parser.feed(com)
|
||||
@ -388,6 +399,25 @@ def rating_to_color(rating, stat):
|
||||
return RED
|
||||
return WHITE
|
||||
|
||||
if "trans rights" in markers:
|
||||
#F5A9B8
|
||||
BLUE = (0.3569, 0.8078, 0.9804)
|
||||
PINK = (0.9608, 0.6627, 0.7216)
|
||||
WHITE = (1.0, 1.0, 1.0)
|
||||
|
||||
distance = rating # - mean / stdev
|
||||
|
||||
if distance < 4.0:
|
||||
return BLUE
|
||||
if distance < 4.5:
|
||||
return PINK
|
||||
if distance > 7.0:
|
||||
return BLUE
|
||||
if distance > 6.0:
|
||||
return PINK
|
||||
|
||||
return WHITE
|
||||
|
||||
distance = 0
|
||||
if stdev > 0:
|
||||
distance = (abs(rating - mean) / stdev)
|
||||
@ -773,10 +803,12 @@ def compute_mean_smart(ratings):
|
||||
|
||||
def stat_new(name, ratings, entry={}):
|
||||
# Fallback in case of near-empty ratings
|
||||
"""
|
||||
if len(ratings) == 0:
|
||||
ratings.append(0.0)
|
||||
if len(ratings) == 1:
|
||||
ratings.append(ratings[0])
|
||||
"""
|
||||
|
||||
# Count frequency of each (rounded) rating
|
||||
buckets = [0] * 10
|
||||
@ -791,12 +823,12 @@ def stat_new(name, ratings, entry={}):
|
||||
stat['points'] = [rating_to_point(r, len(ratings)) for r in ratings]
|
||||
stat['buckets'] = buckets
|
||||
stat['count'] = len(ratings)
|
||||
stat['mean'] = statistics.mean(ratings)
|
||||
stat['median'] = statistics.median(ratings)
|
||||
stat['mode'] = statistics.mode(ratings)
|
||||
stat['median_grouped'] = statistics.median_grouped(round(r) for r in ratings)
|
||||
stat['stdev'] = statistics.pstdev(ratings)
|
||||
stat['mean_smart'] = compute_mean_smart(ratings)
|
||||
stat['mean'] = statistics.mean(ratings) if ratings else 0.0
|
||||
stat['median'] = statistics.median(ratings) if ratings else 0.0
|
||||
stat['mode'] = statistics.mode(ratings) if ratings else 0.0
|
||||
stat['median_grouped'] = statistics.median_grouped(round(r) for r in ratings) if ratings else 0.0
|
||||
stat['stdev'] = statistics.pstdev(ratings) if ratings else 0.0
|
||||
stat['mean_smart'] = compute_mean_smart(ratings) if ratings else 0.0
|
||||
|
||||
# attach extra data
|
||||
stat["markers"] = []
|
||||
@ -809,10 +841,12 @@ def stat_new(name, ratings, entry={}):
|
||||
for i, marker in enumerate(stat["markers"]):
|
||||
if marker in ["DNF", "invalid"]:
|
||||
stat["markers"][i] = "DNF/invalid"
|
||||
"""
|
||||
elif marker in ["trainwreck", "cringekino"]:
|
||||
stat["markers"][i] = "trainwreck/cringekino"
|
||||
elif marker in ["ad", "nonrun"]:
|
||||
stat["markers"][i] = "ad/nonrun"
|
||||
"""
|
||||
|
||||
if "event" in entry:
|
||||
stat["event"] = entry["event"]
|
||||
@ -838,6 +872,7 @@ def read_stats(filename):
|
||||
op = entry["posts"][0].split("#p")[-1]
|
||||
start_time = entry["times"][op] if "times" in entry and op in entry["times"] else 0
|
||||
|
||||
|
||||
# parse ratings in each run
|
||||
for no, score in entry["ratings"].items():
|
||||
#cur_time = entry["times"][no] if "times" in entry and no in entry["times"] else 0
|
||||
@ -854,12 +889,18 @@ def read_stats(filename):
|
||||
|
||||
# trim extraneous characters (for example: ZZZZZZZ) if not already a valid score
|
||||
if score not in SCORES:
|
||||
score = score[:3]
|
||||
# check if SSSS / ZZZZ
|
||||
if score[:4] in SCORES:
|
||||
score = score[:4]
|
||||
# check if first letter would match instead (per-run ratings that just share the first letter but keep it as a whole word)
|
||||
elif score[:1] in SCORES:
|
||||
score = score[:1]
|
||||
else:
|
||||
score = score[:3]
|
||||
|
||||
# cull anything not A-F
|
||||
if DROP_Z_S:
|
||||
if score[0] == "Z":
|
||||
continue
|
||||
if score[:2] == "SS":
|
||||
if SCORES[score] <= SCORES["Z"] or SCORES["S"] < SCORES[score]:
|
||||
continue
|
||||
|
||||
# invalid score
|
||||
@ -887,6 +928,10 @@ def read_stats(filename):
|
||||
aux["total"].append( rating )
|
||||
|
||||
stat = stat_new(name, ratings, entry)
|
||||
|
||||
if FILTER_BY and FILTER_BY not in {*stat["markers"]}:
|
||||
continue
|
||||
|
||||
stats.append(stat)
|
||||
|
||||
# flatten
|
||||
@ -927,6 +972,7 @@ def main():
|
||||
global MIN_COLUMNS
|
||||
global CUTOFF_SECONDS
|
||||
global SORT_BY
|
||||
global FILTER_BY
|
||||
global MODE
|
||||
global AUX_MODE
|
||||
global OUT_FILE
|
||||
@ -941,6 +987,7 @@ def main():
|
||||
parser.add_argument("--markers", type=str, default=None, help="Markers to attach to run rating")
|
||||
# modifiers
|
||||
parser.add_argument("--sort-by", type=str, default=None, help="Sort plotted ratings by this value")
|
||||
parser.add_argument("--filter-by", type=str, default=None, help="Filters for runs with this value")
|
||||
parser.add_argument("--mode", type=str, default=None, help="Additional modes (scatter | bars | boxplot)")
|
||||
parser.add_argument("--aux-mode", type=str, default=None, help="Additional modes (total | markers)")
|
||||
parser.add_argument("--cutoff-seconds", type=int, default=None, help="Ignore ratings made X seconds after the rating post")
|
||||
@ -956,6 +1003,9 @@ def main():
|
||||
|
||||
if args.sort_by:
|
||||
SORT_BY = args.sort_by
|
||||
|
||||
if args.filter_by:
|
||||
FILTER_BY = args.filter_by
|
||||
|
||||
if args.aux_mode:
|
||||
AUX_MODE = args.aux_mode
|
||||
@ -968,6 +1018,9 @@ def main():
|
||||
if args.mode:
|
||||
MODE = args.mode
|
||||
modifiers.append(f'[type={MODE}]')
|
||||
|
||||
if args.filter_by:
|
||||
modifiers.append(f'[filter={FILTER_BY}]')
|
||||
|
||||
if args.cutoff_seconds:
|
||||
CUTOFF_SECONDS = args.cutoff_seconds
|
||||
|
||||
Loading…
Reference in New Issue
Block a user