From 54639224317bc97a1ca2350245eca0192e5c6899 Mon Sep 17 00:00:00 2001 From: bmdhacks Date: Fri, 4 Apr 2025 16:10:42 -0700 Subject: [PATCH 1/2] adding files to track popularity of games --- port_ids.json | 3082 +++++++++++++++++++++++++++++ port_popularity.json | 2408 ++++++++++++++++++++++ ranked_ports.md | 275 +++ tools/igdb_popularity.py | 231 +++ tools/rank_games_by_popularity.py | 274 +++ tools/update_game_ids.py | 178 ++ 6 files changed, 6448 insertions(+) create mode 100644 port_ids.json create mode 100644 port_popularity.json create mode 100644 ranked_ports.md create mode 100644 tools/igdb_popularity.py create mode 100644 tools/rank_games_by_popularity.py create mode 100644 tools/update_game_ids.py diff --git a/port_ids.json b/port_ids.json new file mode 100644 index 00000000..b3bc036b --- /dev/null +++ b/port_ids.json @@ -0,0 +1,3082 @@ +{ + "2048": { + "igdb_id": 9105 + }, + "a7xpg": { + "igdb_id": 79103 + }, + "abbayedesmorts": { + "igdb_id": 93452, + "itchio_url": "https://blackjet.itch.io/labbaye-des-morts" + }, + "absolutereflex": { + "itchio_url": "https://jukio.itch.io/absolute-reflex" + }, + "abuse": { + "igdb_id": 586 + }, + "aerofoil": { + "igdb_id": 92749 + }, + "air": { + "steam_id": 2983250 + }, + "akeyspath": { + "itchio_url": "https://geegaz.itch.io/out-of-controls" + }, + "alchemyquest": { + "igdb_id": 135904 + }, + "alephone-marathon": { + "igdb_id": 8709 + }, + "alephone-marathon2": { + "igdb_id": 8710 + }, + "alephone-marathoninfinity": { + "igdb_id": 8711 + }, + "alienblaster": { + "igdb_id": 180585 + }, + "alienpogs": { + "itchio_url": "https://meredosia.itch.io/alien-pogs-from-outer-space" + }, + "aliensquatter": { + "igdb_id": 121267, + "itchio_url": "https://willyelektrix.itch.io/alien-squatter", + "steam_id": 1131750 + }, + "alruna": { + "igdb_id": 273354, + "steam_id": 2655470 + }, + "ametadatagame": { + "itchio_url": "https://ansimuz.itch.io/a-meta-data-game" + }, + "anarch": { + "igdb_id": 184403, + "itchio_url": "https://drummyfish.itch.io/anarch" + }, + "angband": { + "igdb_id": 50261 + }, + "annalynn": { + "igdb_id": 142687, + "steam_id": 1508460 + }, + "annulus": { + "itchio_url": "https://toq-games.itch.io/annulus" + }, + "anodyne": { + "igdb_id": 11092, + "steam_id": 234900 + }, + "antonballclassic": { + "igdb_id": 313051, + "itchio_url": "https://summitsphere.itch.io/antonball" + }, + "apocrunner": { + "igdb_id": 161409, + "itchio_url": "https://omnitron-studios.itch.io/apoc-runner" + }, + "apondbeyond": { + "itchio_url": "https://npjarcade.itch.io/a-pond-beyond" + }, + "apotris": { + "igdb_id": 227679 + }, + "aquaria": { + "igdb_id": 7406, + "steam_id": 24420 + }, + "arengius": { + "igdb_id": 132653, + "itchio_url": "https://yaru.itch.io/arengius" + }, + "arkovstower": { + "steam_id": 2688600 + }, + "armagetronad": { + "igdb_id": 51244, + "itchio_url": "https://armagetronad.itch.io/armagetronad" + }, + "assaultshell": { + "igdb_id": 144644, + "itchio_url": "https://overloadedstudios.itch.io/assault-shell", + "steam_id": 1432970 + }, + "atomic_automaton": { + "itchio_url": "https://baratasoftware.itch.io/atomicautomaton" + }, + "augustus": { + "igdb_id": 6332, + "steam_id": 517790 + }, + "avp": { + "igdb_id": 14818, + "steam_id": 3730 + }, + "axecop": { + "igdb_id": 128955, + "itchio_url": "https://redtrianglegames.itch.io/axecop", + "steam_id": 1193300 + }, + "axiom.verge": { + "igdb_id": 8652, + "steam_id": 332200 + }, + "baconthulhu": { + "igdb_id": 60920, + "itchio_url": "https://bob-the-hamster.itch.io/crypt-of-baconthulhu" + }, + "balatro": { + "igdb_id": 251833, + "steam_id": 2379780 + }, + "banana.duck": { + "itchio_url": "https://cyfo.itch.io/banana-duck" + }, + "bananaguy2": { + "itchio_url": "https://bananamanhatguy.itch.io/bananaguy2" + }, + "bananaguyclassic": { + "itchio_url": "https://bananamanhatguy.itch.io/bananaguy-classic" + }, + "barbarian": { + "igdb_id": 11941 + }, + "battalion": { + "itchio_url": "https://all-x.itch.io/battalion" + }, + "bbja": { + "igdb_id": 47007 + }, + "beardblade": { + "igdb_id": 24517, + "steam_id": 1546940 + }, + "beatblock": { + "igdb_id": 306804, + "itchio_url": "https://bubbletabby.itch.io/beatblock", + "steam_id": 3045200 + }, + "beemisthecurseofgod": { + "igdb_id": 177130, + "itchio_url": "https://blebgo.itch.io/beemis-the-curse-of-god" + }, + "belleboomerang": { + "igdb_id": 150127, + "steam_id": 1632170 + }, + "benboquest": { + "igdb_id": 88179, + "itchio_url": "https://thumbtack.itch.io/benboquest" + }, + "bermuda_syndrome": { + "igdb_id": 8337 + }, + "billyfrontier": { + "igdb_id": 67425 + }, + "binarystarinfinity": { + "igdb_id": 147492, + "steam_id": 1491040 + }, + "biolab": { + "igdb_id": 301134 + }, + "biomassgrowth": { + "itchio_url": "https://brainos.itch.io/biomassgrowth" + }, + "bitsybox": { + "itchio_url": "https://ledoux.itch.io/bitsybox" + }, + "bittriprunner2": { + "igdb_id": 5592, + "steam_id": 218060 + }, + "blackout": { + "igdb_id": 162428, + "itchio_url": "https://freshgames.itch.io/blackout" + }, + "blastius": { + "itchio_url": "https://seek-seek.itch.io/blastius-gamejam2020" + }, + "bleed": { + "itchio_url": "https://bootdiskrevolution.itch.io/bleed" + }, + "bleed2": { + "itchio_url": "https://bootdiskrevolution.itch.io/bleed-2", + "steam_id": 396350 + }, + "blobwars": { + "igdb_id": 178552 + }, + "block.attack": { + "itchio_url": "https://sago008.itch.io/blockattack" + }, + "blockdude_playdate": { + "itchio_url": "https://joyrider3774.itch.io/blockdude-playdate" + }, + "blockout2": { + "igdb_id": 10208 + }, + "blood": { + "igdb_id": 36299, + "steam_id": 1010750 + }, + "bloodxthirsty": { + "itchio_url": "https://gamepond.itch.io/blood-x-thirsty", + "steam_id": 3200160 + }, + "blossomtales2": { + "igdb_id": 172489, + "steam_id": 1747830 + }, + "bluerevolver": { + "igdb_id": 24928, + "steam_id": 439490 + }, + "blues.brothers": { + "igdb_id": 7792 + }, + "bnbmax": { + "itchio_url": "https://hwilson.itch.io/bbmax" + }, + "bnbtourn": { + "itchio_url": "https://hwilson.itch.io/bumpers-broadswords-tournament" + }, + "boneraiserminions": { + "igdb_id": 197011, + "steam_id": 1944570 + }, + "bonesintheboneyard": { + "igdb_id": 319339, + "itchio_url": "https://jdmgames.itch.io/bones-in-the-boneyard" + }, + "boni": { + "itchio_url": "https://pistachoduck.itch.io/boniboni" + }, + "bootlegbox": { + "itchio_url": "https://hwilson.itch.io/bootleg-box-01" + }, + "boswars": { + "igdb_id": 153760 + }, + "botbreak": { + "itchio_url": "https://hwilson.itch.io/bot-break" + }, + "botvice": { + "igdb_id": 22751, + "itchio_url": "https://dyagames.itch.io/bot-vice", + "steam_id": 491040 + }, + "bowlingcross": { + "igdb_id": 201118, + "itchio_url": "https://hwilson.itch.io/bowling-cross-final-frame" + }, + "boxspace": { + "igdb_id": 147383, + "steam_id": 1613150 + }, + "bravedogsroad": { + "itchio_url": "https://puppiesandanime.itch.io/brave-dogs-road" + }, + "breaker": { + "itchio_url": "https://managore.itch.io/breaker" + }, + "brittleblade": { + "itchio_url": "https://fartfish.itch.io/brittle-blade" + }, + "brogue": { + "igdb_id": 12516 + }, + "brokenpipes": { + "itchio_url": "https://cocawsugar-gj2020.itch.io/broken-pipes" + }, + "brotato": { + "igdb_id": 199116, + "steam_id": 1942280 + }, + "brotherbrother": { + "igdb_id": 123734, + "steam_id": 1147850 + }, + "bstone-aog": { + "igdb_id": 8489 + }, + "bstone-ps": { + "igdb_id": 8490, + "steam_id": 358310 + }, + "bugdom": { + "igdb_id": 50343 + }, + "bugscraper": { + "itchio_url": "https://yolwoocle.itch.io/bugscraper", + "steam_id": 2957130 + }, + "bumpersbroadswords": { + "itchio_url": "https://hwilson.itch.io/bbgaiden" + }, + "bunnysflowers": { + "igdb_id": 142422, + "steam_id": 1375480 + }, + "burgerspace": { + "igdb_id": 4609 + }, + "burst": {}, + "butterflysoup": { + "igdb_id": 69414, + "itchio_url": "https://brianna-lei.itch.io/butterfly-soup" + }, + "bytepath": { + "igdb_id": 86519, + "steam_id": 760330 + }, + "bzflag": { + "igdb_id": 121833 + }, + "c-dogs": { + "igdb_id": 23572 + }, + "caidenquest": { + "itchio_url": "https://brainjar.itch.io/caidens-quest" + }, + "cairn": { + "igdb_id": 178665, + "itchio_url": "https://rubic.itch.io/cairn" + }, + "callystrials": { + "igdb_id": 32583, + "steam_id": 476510 + }, + "candybag": { + "itchio_url": "https://jontopielski.itch.io/candy-bag" + }, + "cannonball-lr": { + "igdb_id": 45392 + }, + "cannonball-st": { + "igdb_id": 45392 + }, + "cantoi": { + "igdb_id": 312784, + "itchio_url": "https://ludosgd.itch.io/canto-i", + "steam_id": 3096700 + }, + "cardswithpersonalities": { + "igdb_id": 182661, + "itchio_url": "https://elastiskalinjen.itch.io/cards-with-personalities-classic", + "steam_id": 2147020 + }, + "carmageddon": { + "igdb_id": 626, + "steam_id": 282010 + }, + "carriesorderup": { + "igdb_id": 24812, + "itchio_url": "https://inkdragonworks.itch.io/carries-order-up", + "steam_id": 522490 + }, + "cataclysm-dda": { + "igdb_id": 18730, + "steam_id": 2330750 + }, + "catacomb": { + "igdb_id": 11043 + }, + "catacomb3d": { + "igdb_id": 8705 + }, + "catsonmars": { + "igdb_id": 178884, + "itchio_url": "https://jontopielski.itch.io/cats-on-mars" + }, + "catwarrior": { + "igdb_id": 281983, + "steam_id": 2640520 + }, + "cave.story": { + "igdb_id": 6189 + }, + "cave.story-evo": { + "igdb_id": 6189 + }, + "cavebuster": { + "igdb_id": 203586, + "itchio_url": "https://jontopielski.itch.io/cave-buster" + }, + "cavecrawler": { + "igdb_id": 187590, + "itchio_url": "https://evan12811.itch.io/cave-crawler", + "steam_id": 1865440 + }, + "cceleste": { + "igdb_id": 86148, + "itchio_url": "https://maddymakesgamesinc.itch.io/celesteclassic" + }, + "ceferino": {}, + "celeste": { + "igdb_id": 26226, + "itchio_url": "https://maddymakesgamesinc.itch.io/celeste", + "steam_id": 504230 + }, + "chargekid": { + "igdb_id": 144576, + "itchio_url": "https://eldskald.itch.io/charge-kid", + "steam_id": 1334300 + }, + "chasm": { + "igdb_id": 3222, + "steam_id": 312200 + }, + "chessisstupid": { + "igdb_id": 230735, + "itchio_url": "https://hwilson.itch.io/chess-is-stupid" + }, + "chipndale": { + "igdb_id": 6490, + "itchio_url": "https://gcup.itch.io/chip-n-dale-project-robots" + }, + "chromavescence": { + "itchio_url": "https://maybebarney.itch.io/chromavescence" + }, + "circainfinity": { + "igdb_id": 16312, + "steam_id": 390610 + }, + "cityglitch": { + "igdb_id": 86747, + "itchio_url": "https://mindfungus.itch.io/cityglitch", + "steam_id": 756790 + }, + "clannad": { + "igdb_id": 9607, + "steam_id": 324160 + }, + "clashmastery": { + "itchio_url": "https://abhimonk.itch.io/clash-mastery" + }, + "classicube": { + "igdb_id": 117562, + "itchio_url": "https://andrewph.itch.io/classicube" + }, + "cleavingcaliber": { + "itchio_url": "https://hwilson.itch.io/cleaving-caliber" + }, + "cliff_hanger": { + "itchio_url": "https://joelchrono.itch.io/cliff-hanger" + }, + "climb": { + "igdb_id": 182760, + "itchio_url": "https://junch.itch.io/climb" + }, + "clockwind": { + "igdb_id": 185029, + "itchio_url": "https://alesan99.itch.io/clockwind" + }, + "cmdungeon": { + "itchio_url": "https://cuca.itch.io/cmdungeon" + }, + "cognizance": { + "igdb_id": 126325, + "itchio_url": "https://managore.itch.io/cognizance" + }, + "coincrypt": { + "igdb_id": 14570, + "steam_id": 264690 + }, + "colorlines": { + "igdb_id": 50119 + }, + "commander.genius": { + "igdb_id": 93840 + }, + "cookservedelicious": { + "igdb_id": 11238, + "itchio_url": "https://chubigans.itch.io/cook-serve-delicious", + "steam_id": 247020 + }, + "corsixth": { + "igdb_id": 127904 + }, + "cosmo-engine": { + "igdb_id": 8484 + }, + "cromagrally": { + "igdb_id": 92404 + }, + "crushborgs": { + "igdb_id": 199626, + "steam_id": 1504340 + }, + "cryptrio": { + "igdb_id": 291501, + "itchio_url": "https://ci.itch.io/cryptrio", + "steam_id": 2878680 + }, + "crystalbreaker": { + "steam_id": 2772080 + }, + "crystalsamalgam": { + "igdb_id": 183023 + }, + "ctp2": { + "steam_id": 572050 + }, + "curseball": { + "igdb_id": 205648 + }, + "cursedgem": { + "steam_id": 1194480 + }, + "curseofthearrow": { + "igdb_id": 184410 + }, + "cybarian": { + "steam_id": 928840 + }, + "cyberseraph": { + "itchio_url": "https://cosmicvoid.itch.io/cyber-seraph" + }, + "daikatana": { + "igdb_id": 8201, + "steam_id": 242980 + }, + "darkcrypt": { + "igdb_id": 164215, + "itchio_url": "https://daisy-games.itch.io/dark-crypt", + "steam_id": 1706170 + }, + "darkdeity": { + "igdb_id": 147215, + "steam_id": 1374840 + }, + "darkmoon": { + "itchio_url": "https://projectlevel.itch.io/dark-moon" + }, + "darksheep": { + "igdb_id": 150884, + "itchio_url": "https://daisy-games.itch.io/dark-sheep", + "steam_id": 1576490 + }, + "davedavedave": { + "itchio_url": "https://aksilirate.itch.io/dave-dave-dave", + "steam_id": 1625760 + }, + "daydreamer": { + "itchio_url": "https://nizakashii.itch.io/daydreamer" + }, + "deadicedeluxe": { + "itchio_url": "https://hwilson.itch.io/dead-ice-deluxe" + }, + "deadknight": { + "itchio_url": "https://backterria.itch.io/dead-knight" + }, + "deathchase3d": { + "igdb_id": 23075 + }, + "deathroad": { + "igdb_id": 21634, + "steam_id": 252610 + }, + "deathroids": { + "igdb_id": 166907, + "steam_id": 1389010 + }, + "deeprune": { + "igdb_id": 153962, + "itchio_url": "https://jc-bailey.itch.io/deep-rune", + "steam_id": 1631780 + }, + "defshot": { + "itchio_url": "https://securas.itch.io/defshot" + }, + "deltarune": { + "igdb_id": 171233, + "steam_id": 1671210 + }, + "demodome": { + "itchio_url": "https://hwilson.itch.io/demodome" + }, + "demonizer": { + "igdb_id": 139678, + "itchio_url": "https://ioribranford.itch.io/demonizer", + "steam_id": 1091390 + }, + "demonkeep": { + "itchio_url": "https://youdoyoubuddy.itch.io/demon-keep" + }, + "demonofsakurapass": { + "itchio_url": "https://brainos.itch.io/touge" + }, + "demonslayer": { + "itchio_url": "https://zenteku.itch.io/demon-slayer" + }, + "demonstone64": { + "itchio_url": "https://radcodex.itch.io/demonstone64" + }, + "depthsoflimbo": { + "igdb_id": 29996, + "itchio_url": "https://evgiz.itch.io/depths-of-limbo", + "steam_id": 568400 + }, + "derclou": { + "igdb_id": 10123 + }, + "derelict": { + "itchio_url": "https://programancer.itch.io/derelict" + }, + "descent": { + "igdb_id": 1872, + "steam_id": 273570 + }, + "descent2": { + "igdb_id": 668, + "steam_id": 273580 + }, + "descent3": { + "igdb_id": 667, + "steam_id": 273590 + }, + "destructivator": { + "itchio_url": "https://pugfuglygames.itch.io/destructivator" + }, + "destructivator2": { + "igdb_id": 127778, + "steam_id": 1124990 + }, + "devbootleg": { + "igdb_id": 119315, + "steam_id": 1066260 + }, + "devilutionx": { + "igdb_id": 125 + }, + "dfencervstheorb": { + "itchio_url": "https://danbo.itch.io/d-fencer-vs-the-orb" + }, + "digger": { + "igdb_id": 24425 + }, + "digitaltamersreborn": { + "itchio_url": "https://dragonrod342.itch.io/digital-tamers-reborn" + }, + "dinothawr": { + "igdb_id": 62332 + }, + "discroom": { + "igdb_id": 131614, + "steam_id": 1229580 + }, + "diverdown": { + "itchio_url": "https://escada-games.itch.io/diver-down" + }, + "dokimon": { + "igdb_id": 315726, + "steam_id": 2019300 + }, + "domeromantik": { + "igdb_id": 200611, + "itchio_url": "https://bippinbits.itch.io/dome-romantik", + "steam_id": 1637320 + }, + "donottakethiscathome": { + "itchio_url": "https://pixeliminal.itch.io/do-not-take-this-cat-home" + }, + "donut.dodo": { + "igdb_id": 188771, + "itchio_url": "https://zapposh.itch.io/donut-dodo-retropie-edition", + "steam_id": 1779560 + }, + "doom2d": { + "igdb_id": 89509 + }, + "doom2rpg": { + "igdb_id": 101031 + }, + "doom3": { + "igdb_id": 280, + "steam_id": 208200 + }, + "doomrl": { + "igdb_id": 79379 + }, + "doomrpg": { + "igdb_id": 101029 + }, + "doukutsu-rs": { + "igdb_id": 6189, + "steam_id": 200900 + }, + "downwell": { + "igdb_id": 13677, + "steam_id": 360740 + }, + "draculatower": { + "itchio_url": "https://yaru.itch.io/draculas-tower" + }, + "drally": { + "igdb_id": 35552, + "steam_id": 358270 + }, + "drbloodshot": { + "igdb_id": 311041, + "itchio_url": "https://sunshine-error.itch.io/dr-bloodshot" + }, + "drilbertiidiggeredoo": { + "itchio_url": "https://wheybags.itch.io/drilbert-ii-diggeredoo" + }, + "drinkndrive": { + "itchio_url": "https://turboware.itch.io/drinkndrive" + }, + "droid7": { + "igdb_id": 134927, + "itchio_url": "https://juancolacelli.itch.io/droid7" + }, + "ducklingsmaze": { + "itchio_url": "https://silvercatstudios.itch.io/ducklings-maze" + }, + "dudelingsarcadesportsball": { + "igdb_id": 287797, + "itchio_url": "https://heavy-element.itch.io/dudelings", + "steam_id": 1905160 + }, + "duelingdragons": { + "igdb_id": 183566, + "itchio_url": "https://blabberf.itch.io/dueling-dragons" + }, + "duke.nukem.3d": { + "igdb_id": 342, + "steam_id": 434050 + }, + "duke3dawo": { + "steam_id": 434050 + }, + "dumbasssmartass": { + "itchio_url": "https://apicici.itch.io/dumbass-smartass" + }, + "dumpyandbumpy": { + "igdb_id": 150310, + "itchio_url": "https://programancer.itch.io/dumpy", + "steam_id": 1631500 + }, + "dunelegacy": { + "igdb_id": 86 + }, + "dungeoncrawlstonesoup": { + "igdb_id": 16983 + }, + "dungeonrush": { + "itchio_url": "https://rapiz.itch.io/dungeonrush" + }, + "dungeonsouls": { + "igdb_id": 18013, + "steam_id": 383230 + }, + "dynamate_playdate": { + "igdb_id": 279173, + "itchio_url": "https://joyrider3774.itch.io/dynamate-playdate" + }, + "echo_chamber": { + "itchio_url": "https://jontopielski.itch.io/echo-chamber" + }, + "edna": { + "igdb_id": 210676, + "itchio_url": "https://kz.itch.io/edna" + }, + "eity": { + "itchio_url": "https://jeme.itch.io/eity" + }, + "elecdude": { + "igdb_id": 192493, + "itchio_url": "https://misteryjay.itch.io/elec-dude-full", + "steam_id": 1907980 + }, + "elechead": { + "igdb_id": 129518, + "itchio_url": "https://namatakahashi.itch.io/elechead", + "steam_id": 1456880 + }, + "elsewhereinthenight": { + "igdb_id": 229373, + "itchio_url": "https://cosmicvoid.itch.io/elsewhere-in-the-night" + }, + "emojimerge": { + "itchio_url": "https://a327ex.itch.io/emoji-merge" + }, + "endlessdungeon": { + "itchio_url": "https://randomnovice.itch.io/endless-dungeon" + }, + "entropipes": { + "itchio_url": "https://son-link.itch.io/entropipes" + }, + "entwined": { + "igdb_id": 312855, + "itchio_url": "https://patashu.itch.io/entwined-time", + "steam_id": 3147300 + }, + "erebos": { + "itchio_url": "https://steamknight.itch.io/erebos" + }, + "estigma": { + "igdb_id": 142497 + }, + "exhumed": { + "igdb_id": 165054, + "steam_id": 1678430 + }, + "exilesquadron": { + "igdb_id": 123849, + "itchio_url": "https://onebitstudio.itch.io/exile-squadron", + "steam_id": 1161910 + }, + "exult": { + "igdb_id": 6165 + }, + "ez": { + "steam_id": 795040 + }, + "f-zeropocket": { + "igdb_id": 265055 + }, + "f1spirit": { + "igdb_id": 41649 + }, + "fade_to_black": { + "igdb_id": 12427 + }, + "faithdemonsiege": { + "itchio_url": "https://crackedghostgames.itch.io/faith-demon-siege" + }, + "fallenleaf": { + "igdb_id": 141083, + "steam_id": 1459010 + }, + "falling_time": { + "itchio_url": "https://congusbongus.itch.io/falling-time" + }, + "fallout1": { + "igdb_id": 13, + "steam_id": 38400 + }, + "fallout2": { + "igdb_id": 14, + "steam_id": 38410 + }, + "farmner": { + "itchio_url": "https://jaydensippy.itch.io/farmner" + }, + "feather.park": { + "igdb_id": 218569, + "itchio_url": "https://jontopielski.itch.io/feather-park" + }, + "fell": { + "igdb_id": 196957, + "itchio_url": "https://dakota-vaughan.itch.io/fell" + }, + "fheroes2": { + "igdb_id": 51821 + }, + "fightorperish": { + "itchio_url": "https://dulsi.itch.io/fight-or-perish" + }, + "final_quest": { + "itchio_url": "https://less96.itch.io/final-quest-godot" + }, + "finding_paradise": { + "igdb_id": 36044, + "steam_id": 337340 + }, + "fire_and_fondness2": { + "igdb_id": 176708, + "itchio_url": "https://johngabrieluk.itch.io/fire-and-fondness-2" + }, + "firearrow": { + "igdb_id": 31889, + "itchio_url": "https://gryzor.itch.io/fire-arrow-plus", + "steam_id": 509780 + }, + "fireboy": { + "igdb_id": 157810, + "itchio_url": "https://dtrgames.itch.io/fire-boy" + }, + "firework": { + "igdb_id": 112854, + "steam_id": 974870 + }, + "fishfillets": { + "igdb_id": 27521 + }, + "fistbump": { + "igdb_id": 182615, + "itchio_url": "https://fartfish.itch.io/fist-bump" + }, + "flaskoman": { + "igdb_id": 153852, + "steam_id": 1645940 + }, + "flinthook": { + "igdb_id": 20330, + "steam_id": 401710 + }, + "flywrench": { + "igdb_id": 12072, + "steam_id": 337350 + }, + "fnafnes": { + "itchio_url": "https://tai5-5.itch.io/fnafnes" + }, + "forager": { + "igdb_id": 25580, + "steam_id": 751780 + }, + "forgodden": { + "itchio_url": "https://gizmo199.itch.io/forgodden" + }, + "formula_1_playdate": { + "itchio_url": "https://joyrider3774.itch.io/forumla-1-game-watch-playdate" + }, + "foxtower": { + "itchio_url": "https://nozomu57.itch.io/fox-tower" + }, + "franbow": { + "igdb_id": 11821, + "steam_id": 362680 + }, + "franken": { + "igdb_id": 199805 + }, + "freeciv": { + "igdb_id": 73190 + }, + "freecol": { + "igdb_id": 92716 + }, + "freedink": { + "igdb_id": 11345 + }, + "freedom.planet": { + "igdb_id": 7116, + "steam_id": 248310 + }, + "freedroid": { + "igdb_id": 121934, + "steam_id": 1979930 + }, + "freegish": { + "igdb_id": 8384, + "steam_id": 9500 + }, + "freeserf": { + "igdb_id": 124693 + }, + "freesynd": { + "igdb_id": 49 + }, + "fridaynightfunkin": { + "igdb_id": 140635, + "itchio_url": "https://ninja-muffin24.itch.io/funkin" + }, + "frogfall": { + "igdb_id": 305420, + "itchio_url": "https://kultisti.itch.io/frogfall" + }, + "frogger2": { + "igdb_id": 335157, + "itchio_url": "https://ryan-silberman.itch.io/frogger2" + }, + "frozen-bubble": { + "igdb_id": 61702, + "itchio_url": "https://zepr.itch.io/fb" + }, + "fungusreaper": { + "igdb_id": 248882, + "steam_id": 2406640 + }, + "galaxychampionstv": { + "steam_id": 842750 + }, + "gardenstory": { + "igdb_id": 119856, + "steam_id": 1062140 + }, + "gatoroboto": { + "igdb_id": 107317, + "steam_id": 916730 + }, + "gaugeofrage": { + "igdb_id": 107779, + "steam_id": 917870 + }, + "gaurodan": { + "igdb_id": 50350 + }, + "gemrb": { + "igdb_id": 5, + "steam_id": 228280 + }, + "geometrystrike": { + "itchio_url": "https://profpatonildo.itch.io/geometry-strike" + }, + "ghostris": { + "itchio_url": "https://yaru.itch.io/ghostris" + }, + "globeba": { + "itchio_url": "https://team-bugulon.itch.io/globeba" + }, + "gloomreducer": { + "igdb_id": 185785, + "itchio_url": "https://owch.itch.io/gloom-reducer" + }, + "goblindungeoneer": { + "igdb_id": 151526, + "itchio_url": "https://crackedghostgames.itch.io/goblin-dungeoneer", + "steam_id": 1527670 + }, + "goinghomerevisited": { + "itchio_url": "https://flamendless.itch.io/going-home" + }, + "goldenhornet": { + "igdb_id": 83348, + "itchio_url": "https://hijong-park.itch.io/golden-hornet", + "steam_id": 1226290 + }, + "goldminer": { + "igdb_id": 194800, + "steam_id": 1764010 + }, + "gooptygoo": { + "igdb_id": 134967, + "itchio_url": "https://dylanbrowngames.itch.io/gooptygoo" + }, + "gravityblocks": { + "itchio_url": "https://soultie.itch.io/gravity-blocks-ludum-dare-51" + }, + "gravitycircuit": { + "igdb_id": 106534, + "steam_id": 858710 + }, + "gravitydefied": { + "igdb_id": 151054 + }, + "grazecountergm": { + "igdb_id": 211893, + "steam_id": 1486440 + }, + "grelox": { + "itchio_url": "https://sunteam.itch.io/grelox" + }, + "grielsquest": { + "igdb_id": 73909 + }, + "grimstorm": { + "igdb_id": 191881, + "itchio_url": "https://nik.itch.io/grimstorm" + }, + "grizzland": { + "igdb_id": 119915, + "steam_id": 603110 + }, + "gta3": { + "igdb_id": 730, + "steam_id": 12100 + }, + "gtavc": { + "igdb_id": 733, + "steam_id": 12110 + }, + "guacamelee": { + "igdb_id": 19121, + "steam_id": 214770 + }, + "gumchugirl": { + "igdb_id": 137682, + "itchio_url": "https://caseportman.itch.io/gumchu-girl-demo" + }, + "gumgem": { + "igdb_id": 134792, + "itchio_url": "https://dazel.itch.io/gumgem" + }, + "gumgirlgb": { + "itchio_url": "https://caseportman.itch.io/gum-girl" + }, + "gungungun": { + "igdb_id": 30905, + "steam_id": 544400 + }, + "gunroar": { + "igdb_id": 91936 + }, + "gunsandguns": { + "itchio_url": "https://yousfiwalid.itch.io/guns-and-guns" + }, + "gyrobossdx": { + "igdb_id": 116069, + "steam_id": 971610 + }, + "hackgrid": { + "igdb_id": 169852, + "steam_id": 1543290 + }, + "hakopalace": { + "itchio_url": "https://nizakashii.itch.io/hakopalace" + }, + "half-life": { + "igdb_id": 231, + "steam_id": 70 + }, + "hallowe_en": {}, + "hallowedcandy": { + "itchio_url": "https://projectlevel.itch.io/hallowed-candy" + }, + "halloweenforever": { + "igdb_id": 25361, + "itchio_url": "https://imaginarymonsters.itch.io/halloween-forever", + "steam_id": 425650 + }, + "hallowseve": { + "itchio_url": "https://maxatrillionator.itch.io/hallows-eve" + }, + "hammerwatch": { + "igdb_id": 7891, + "steam_id": 239070 + }, + "happyhills": { + "igdb_id": 209496, + "steam_id": 3278760 + }, + "hatchwell": { + "igdb_id": 182284, + "steam_id": 1424690 + }, + "hauntedlandsburial": { + "igdb_id": 240502, + "itchio_url": "https://alevgor.itch.io/haunted-lands-burial-grounds", + "steam_id": 2980900 + }, + "hawkisland": { + "itchio_url": "https://lutd.itch.io/hawk-island" + }, + "hawkthorne": { + "igdb_id": 47032, + "itchio_url": "https://greendale.itch.io/hawkthorne" + }, + "heart.of.darkness": { + "igdb_id": 6433 + }, + "hebihebi": { + "igdb_id": 177261, + "itchio_url": "https://taylorritenour.itch.io/hebi-hebi" + }, + "heboris-sdl": {}, + "help.no.brake": { + "igdb_id": 223761, + "itchio_url": "https://edgarmendoza.itch.io/help-no-brake" + }, + "hexen2": { + "igdb_id": 6637, + "steam_id": 9060 + }, + "hftsr": { + "igdb_id": 140992, + "itchio_url": "https://bluestreak0.itch.io/hunt-for-the-shadow-rider" + }, + "hijinx": { + "itchio_url": "https://johngabrieluk.itch.io/hijinx" + }, + "hikoban": { + "itchio_url": "https://xxchickychuxx.itch.io/hikoban" + }, + "holonomy": { + "igdb_id": 310570, + "itchio_url": "https://fuzzyzilla.itch.io/holonomy" + }, + "honeyguardian": { + "itchio_url": "https://ioribranford.itch.io/honey-guardian" + }, + "hopowl": { + "igdb_id": 255544, + "itchio_url": "https://kultisti.itch.io/hop-owl" + }, + "hordes": { + "itchio_url": "https://pugfuglygames.itch.io/the-hordes" + }, + "hota": { + "igdb_id": 46420 + }, + "hotlinesanzu": { + "igdb_id": 317239, + "itchio_url": "https://yaru.itch.io/touhou-hotline-sanzu" + }, + "hoverboard": { + "igdb_id": 59459 + }, + "hovertank3d": { + "igdb_id": 18994 + }, + "humming.out": { + "itchio_url": "https://mfproject.itch.io/hummin-out" + }, + "hunters": { + "itchio_url": "https://hwilson.itch.io/hunters" + }, + "hurrican": { + "igdb_id": 94360, + "itchio_url": "https://tugastudio.itch.io/hurrican" + }, + "hydorah": { + "igdb_id": 26975, + "steam_id": 628800 + }, + "hydra.castle.labyrinth": { + "igdb_id": 65135, + "itchio_url": "https://miimoka.itch.io/hydra-castle-labyrinth-fp" + }, + "hyper.jump": { + "itchio_url": "https://edgarmendoza.itch.io/hyper-jump" + }, + "hyperfight": { + "itchio_url": "https://johjoh.itch.io/hyperfight" + }, + "hyperlightdrifter": { + "igdb_id": 9806, + "steam_id": 257850 + }, + "hyperprincesspitch": { + "igdb_id": 79745 + }, + "ichorous": { + "igdb_id": 287888, + "itchio_url": "https://mattstov.itch.io/ichorous" + }, + "iconoclasts": { + "igdb_id": 34705, + "steam_id": 393520 + }, + "icytower": { + "igdb_id": 18095 + }, + "igachahead": { + "itchio_url": "https://dylanbrowngames.itch.io/i-gacha-head" + }, + "iii": { + "itchio_url": "https://yukonmakesgames.itch.io/iii" + }, + "imagestriker": { + "igdb_id": 200794, + "steam_id": 1180790 + }, + "inertiablast": { + "igdb_id": 12967 + }, + "infested": { + "itchio_url": "https://grahfmetal.itch.io/infested" + }, + "infra_arcana": { + "igdb_id": 57855 + }, + "interstatedrifter": { + "igdb_id": 141776, + "steam_id": 1383770 + }, + "invaders": { + "igdb_id": 3601 + }, + "ioawn4t": { + "igdb_id": 144554, + "itchio_url": "https://laurahunt.itch.io/if-on-a-winters-night-four-travelers", + "steam_id": 1603980 + }, + "ionfury": { + "igdb_id": 54844, + "steam_id": 562860 + }, + "iortcw": { + "igdb_id": 281, + "steam_id": 9010 + }, + "iosas": { + "igdb_id": 133013, + "itchio_url": "https://cicada-games-official.itch.io/isles-of-sea-and-sky", + "steam_id": 1233070 + }, + "ironferret": { + "itchio_url": "https://bagelcollie.itch.io/iron-ferret" + }, + "itcamefromtheforest": { + "itchio_url": "https://zooperdan.itch.io/it-came-from-the-forest" + }, + "itta": { + "igdb_id": 89378, + "steam_id": 775580 + }, + "jazz2": { + "igdb_id": 764 + }, + "jediacademy": { + "igdb_id": 153, + "steam_id": 6020 + }, + "jedioutcast": { + "igdb_id": 152, + "steam_id": 6030 + }, + "jestershelper": { + "itchio_url": "https://all-x.itch.io/jesters-helper" + }, + "jetlancer": { + "igdb_id": 113836, + "steam_id": 913060 + }, + "jetsetwilly": { + "igdb_id": 8170 + }, + "jugglrx": { + "itchio_url": "https://a327ex.itch.io/jugglrx-prototype" + }, + "jumpnbump": { + "igdb_id": 19226 + }, + "jumpoffthebridge": { + "igdb_id": 117553, + "steam_id": 1057780 + }, + "jumponhead": { + "igdb_id": 298819, + "itchio_url": "https://organzola.itch.io/jumponhead" + }, + "kaijubigbattel": { + "igdb_id": 29075, + "itchio_url": "https://super-walrus-games.itch.io/kaiju-big-battel-fighto-fantasy", + "steam_id": 611710 + }, + "kaima": { + "igdb_id": 126070, + "itchio_url": "https://nomnomnami.itch.io/kaima" + }, + "kanon": { + "igdb_id": 11410, + "steam_id": 2850310 + }, + "kemonorogue": {}, + "kenslabyrinth": { + "igdb_id": 8743 + }, + "kikai": { + "itchio_url": "https://farawaytimes.itch.io/kikai" + }, + "kingofmachines": { + "igdb_id": 154727, + "itchio_url": "https://hwilson.itch.io/king-of-machines" + }, + "kleebuucravesfruitsalad": { + "igdb_id": 217132, + "itchio_url": "https://dylanbrowngames.itch.io/kleebuu-craves-fruit-salad", + "steam_id": 2126980 + }, + "klorets": { + "igdb_id": 186396, + "itchio_url": "https://nizakashii.itch.io/klorets" + }, + "kobodeluxe": { + "igdb_id": 50792 + }, + "la-mulana": { + "igdb_id": 7936, + "steam_id": 230700 + }, + "labremnants": { + "igdb_id": 188367, + "steam_id": 1953020 + }, + "labyrinthoflegendaryloot": { + "igdb_id": 176520, + "itchio_url": "https://dominaxis-games.itch.io/labyrinth-of-legendary-loot" + }, + "lastmission": { + "igdb_id": 40083 + }, + "lawnbusterforhire": { + "itchio_url": "https://turdboomerang.itch.io/lawn-buster-for-hire" + }, + "lbreakouthd": { + "igdb_id": 275785 + }, + "leapyear": { + "igdb_id": 302965, + "itchio_url": "https://managore.itch.io/leap-year", + "steam_id": 2951770 + }, + "leftdeadspace": { + "igdb_id": 185190, + "itchio_url": "https://rezajamesahmed.itch.io/left-among-dead-in-space" + }, + "legbreaker": { + "igdb_id": 129546, + "itchio_url": "https://almbkn.itch.io/legbreaker" + }, + "lierolibre": { + "igdb_id": 9078 + }, + "liltanks": { + "igdb_id": 28046, + "steam_id": 495820 + }, + "lineoff": { + "igdb_id": 181913, + "itchio_url": "https://kultisti.itch.io/lineoff" + }, + "lisathebashful": { + "igdb_id": 172484 + }, + "lisathehopeful": { + "igdb_id": 129962, + "itchio_url": "https://taco-salad.itch.io/lisa-the-hopeful" + }, + "lisathejoyful": { + "igdb_id": 22711, + "steam_id": 379310 + }, + "lisathepainful": { + "igdb_id": 8492, + "steam_id": 335670 + }, + "lisathepointless": { + "igdb_id": 153686 + }, + "lisathetimeless": { + "igdb_id": 159151 + }, + "lisatheunbreakable": { + "igdb_id": 215081 + }, + "lisatheundone": { + "igdb_id": 297621 + }, + "littlebusters": { + "igdb_id": 7364, + "steam_id": 635940 + }, + "littlefroggame": { + "igdb_id": 229057, + "itchio_url": "https://jamphibious.itch.io/little-frog-game" + }, + "littlerunmo": { + "igdb_id": 275803, + "itchio_url": "https://juhosprite.itch.io/little-runmo" + }, + "lividmeadow": { + "igdb_id": 271209, + "itchio_url": "https://noeye-soft.itch.io/livid-meadow" + }, + "lizandlaz": { + "itchio_url": "https://jdmgames.itch.io/liz-laz-1" + }, + "locust": { + "igdb_id": 143275, + "itchio_url": "https://hwilson.itch.io/locustusa2" + }, + "lode": { + "itchio_url": "https://fabledforgegames.itch.io/lode" + }, + "loderunneronline": { + "igdb_id": 72299 + }, + "loopcat": { + "itchio_url": "https://nabo-games.itch.io/loop-cat" + }, + "lose95": { + "igdb_id": 227216, + "itchio_url": "https://kultisti.itch.io/lose95" + }, + "lostethereal": { + "igdb_id": 177930, + "itchio_url": "https://lucregames.itch.io/lost-ethereal" + }, + "lostinsideact1": { + "igdb_id": 291751, + "itchio_url": "https://ayetoons.itch.io/lost-inside-act-1", + "steam_id": 1727490 + }, + "lostpotato": { + "igdb_id": 138439, + "itchio_url": "https://blobfishdev.itch.io/lost-potato", + "steam_id": 1365010 + }, + "love": { + "itchio_url": "https://thatsmytrunks.itch.io/love" + }, + "love3": { + "igdb_id": 161222, + "itchio_url": "https://retroware.itch.io/love-3", + "steam_id": 1604300 + }, + "luck.be.a.landlord": { + "igdb_id": 142035, + "steam_id": 1404850 + }, + "lugaruhd": { + "igdb_id": 14940, + "steam_id": 25010 + }, + "luminousslash": { + "itchio_url": "https://gizmo199.itch.io/luminous-slash" + }, + "lunarlux": { + "igdb_id": 134188, + "steam_id": 1932680 + }, + "mableandthewood": { + "igdb_id": 89773, + "steam_id": 568070 + }, + "magicalbroom": { + "igdb_id": 83616 + }, + "magicvigilante": { + "igdb_id": 241772, + "itchio_url": "https://nizakashii.itch.io/magicvigilante" + }, + "magnibox": { + "igdb_id": 116051, + "itchio_url": "https://josephgribbin.itch.io/magnibox", + "steam_id": 999410 + }, + "mago": { + "igdb_id": 120365, + "steam_id": 1098280 + }, + "maldita.castilla": { + "igdb_id": 288182 + }, + "manicminer": { + "igdb_id": 10161 + }, + "margot_beatrice_adventure": { + "itchio_url": "https://levrault.itch.io/margot-beatrice-adventure" + }, + "maskless": { + "itchio_url": "https://kultisti.itch.io/maskless" + }, + "maxdownforce": { + "itchio_url": "https://foppygames.itch.io/max-downforce" + }, + "maximilien_adventure": { + "itchio_url": "https://levrault.itch.io/maximilien-adventure" + }, + "meanderland": { + "igdb_id": 265703, + "itchio_url": "https://whiskerfjords.itch.io/meander-land", + "steam_id": 3296110 + }, + "meandmyshadow": { + "itchio_url": "https://acmepjz.github.io/meandmyshadow/" + }, + "megaball": { + "itchio_url": "https://badcomputer0.itch.io/megaball" + }, + "megazeux": { + "igdb_id": 60709 + }, + "mercenarykings": { + "igdb_id": 84923, + "steam_id": 218820 + }, + "meritous": { + "igdb_id": 78479 + }, + "metanethunterg4": { + "itchio_url": "https://nightkawata.itch.io/metanet-hunter-g4" + }, + "mezzer": { + "itchio_url": "https://danieldavis.itch.io/mezzer" + }, + "microplatformer": { + "itchio_url": "https://mvbred.itch.io/micro-platformer" + }, + "mightymike": { + "igdb_id": 72658 + }, + "milkinside": { + "itchio_url": "https://nikita-kryukov.itch.io/pmkm", + "steam_id": 1392820 + }, + "mimisdeliverydash": { + "itchio_url": "https://caffinate.itch.io/mimis-delivery-dash" + }, + "mindustry": { + "igdb_id": 83368, + "itchio_url": "https://anuke.itch.io/mindustry", + "steam_id": 1127400 + }, + "minetest": { + "itchio_url": "https://titellaire.itch.io/minetest" + }, + "minidoom": { + "igdb_id": 241983, + "itchio_url": "https://calaverastudio.itch.io/minidoom2" + }, + "minidoom2": { + "igdb_id": 95994, + "itchio_url": "https://calaverastudio.itch.io/minidoom2" + }, + "minit": { + "igdb_id": 26970, + "steam_id": 609490 + }, + "mire": { + "igdb_id": 202893, + "itchio_url": "https://bagelcollie.itch.io/mire" + }, + "missiledancer": { + "itchio_url": "https://terarin.itch.io/missiledancer", + "steam_id": 860590 + }, + "mobility": { + "igdb_id": 134789, + "itchio_url": "https://auroriax.itch.io/mobility" + }, + "mojotron": { + "itchio_url": "https://dulsi.itch.io/mojotron-robot-wars" + }, + "monolith": { + "igdb_id": 262420, + "itchio_url": "https://team-d-13.itch.io/monolith", + "steam_id": 603960 + }, + "monsterbattlegrounds": { + "itchio_url": "https://weentermakesgames.itch.io/monster-battlegrounds" + }, + "moonleap": { + "igdb_id": 199146, + "steam_id": 2166050 + }, + "mrrescue": { + "igdb_id": 51222, + "itchio_url": "https://tangramgames.itch.io/mrrescue" + }, + "mslugsbf": { + "igdb_id": 324895 + }, + "multimanicminer": { + "itchio_url": "https://stephensmith.itch.io/multi-manic-miner" + }, + "multris": { + "igdb_id": 190786, + "itchio_url": "https://rustymonster.itch.io/multris", + "steam_id": 1768350 + }, + "murtop": { + "igdb_id": 232814, + "itchio_url": "https://hiulit.itch.io/murtop", + "steam_id": 2148170 + }, + "must-have-been-the-wind": { + "itchio_url": "https://untamed-arcade.itch.io/must-have-been-the-wind" + }, + "mystikbelle": { + "igdb_id": 36144, + "itchio_url": "https://darkfalzx.itch.io/mystik-belle", + "steam_id": 332610 + }, + "mythos": { + "itchio_url": "https://alkaliii.itch.io/mtgl" + }, + "nainainights": { + "itchio_url": "https://yozoraki.itch.io/nnnnokia" + }, + "nanosaur": { + "igdb_id": 70818 + }, + "nanosaur2": { + "igdb_id": 63257 + }, + "nebulus": { + "igdb_id": 7817 + }, + "neogensokyo": { + "itchio_url": "https://fiorefire.itch.io/neo-gens0" + }, + "neoncityriders": { + "igdb_id": 51949, + "steam_id": 1102650 + }, + "ner": { + "itchio_url": "https://youdoyoubuddy.itch.io/ner" + }, + "netouchezpas5": { + "igdb_id": 115253, + "itchio_url": "https://ci.itch.io/ne-touchez-pas-5" + }, + "neverball": { + "igdb_id": 51247 + }, + "nextdoor": { + "igdb_id": 148067, + "itchio_url": "https://broelbrak.itch.io/nextdoor" + }, + "nfs2se": { + "igdb_id": 91 + }, + "nidhogg": { + "igdb_id": 5551, + "steam_id": 94400 + }, + "nightofelchupacabra": { + "itchio_url": "https://all-x.itch.io/chupacabra" + }, + "nightshift": { + "itchio_url": "https://icydog.itch.io/the-night-shift" + }, + "noiz2sa": { + "igdb_id": 86033 + }, + "nonstopspaceprobe": { + "igdb_id": 237389, + "itchio_url": "https://ci.itch.io/non-stop-space-probe" + }, + "noparachute": { + "igdb_id": 149296, + "steam_id": 1575300 + }, + "notenoughtime": { + "itchio_url": "https://apicici.itch.io/ines-in-not-enough-time" + }, + "notransmission": { + "igdb_id": 183070, + "itchio_url": "https://ycjy.itch.io/no-transmission" + }, + "nuclearthronemobile": { + "igdb_id": 178698, + "itchio_url": "https://toncho.itch.io/nuclear-throne-mobile" + }, + "nulldrifter": { + "igdb_id": 126989, + "steam_id": 1170050 + }, + "nuvie": { + "igdb_id": 12230 + }, + "nvpw": { + "itchio_url": "https://all-x.itch.io/nvpw" + }, + "ocda": { + "igdb_id": 185117, + "itchio_url": "https://kirstu.itch.io/ocda" + }, + "oceansheart": { + "igdb_id": 142340, + "steam_id": 1393750 + }, + "oddworld": { + "igdb_id": 999, + "steam_id": 15700 + }, + "ofmiceandmoggies": { + "igdb_id": 143824, + "itchio_url": "https://bippinbits.itch.io/of-mice-and-moggies", + "steam_id": 1409180 + }, + "ohmygodlookatthisknight": { + "igdb_id": 76640, + "steam_id": 781440 + }, + "omegastrike": { + "igdb_id": 39752, + "steam_id": 680340 + }, + "onenighthotsprings": { + "igdb_id": 107776, + "itchio_url": "https://npckc.itch.io/one-night-hot-springs", + "steam_id": 917680 + }, + "openclaw": { + "igdb_id": 2474 + }, + "openenroth": { + "igdb_id": 7739 + }, + "openfodder": { + "igdb_id": 5519 + }, + "openggs": { + "igdb_id": 3074 + }, + "openhexagon": { + "igdb_id": 133332, + "steam_id": 1358090 + }, + "openjazz": { + "igdb_id": 3167 + }, + "openmohaa": { + "igdb_id": 51836 + }, + "opennotrium": { + "igdb_id": 35751, + "steam_id": 349100 + }, + "openomf": { + "igdb_id": 14429 + }, + "openrct2": { + "igdb_id": 331 + }, + "opensupaplex": { + "igdb_id": 14418 + }, + "opensyobon": { + "igdb_id": 78662 + }, + "openttd": { + "igdb_id": 18074 + }, + "opentyrian": { + "igdb_id": 3804 + }, + "opentyrian2000": { + "igdb_id": 14432 + }, + "openxcom": { + "igdb_id": 24 + }, + "operationsteel": { + "igdb_id": 151732, + "itchio_url": "https://leanderish.itch.io/steel", + "steam_id": 1489300 + }, + "operius": { + "igdb_id": 182319 + }, + "oquonie": { + "igdb_id": 60514, + "itchio_url": "https://hundredrabbits.itch.io/oquonie" + }, + "osanasrevenge": { + "itchio_url": "https://metaquarius.itch.io/osanas-revenge" + }, + "ottomatic": { + "igdb_id": 67426, + "itchio_url": "https://jorio.itch.io/ottomatic" + }, + "outlawn": { + "itchio_url": "https://programancer.itch.io/outlawn-retrogradejam2" + }, + "outofammo": { + "itchio_url": "https://hwilson.itch.io/outofammo" + }, + "overgun": { + "itchio_url": "https://yousfiwalid.itch.io/overgun", + "steam_id": 1890700 + }, + "owlboy": { + "igdb_id": 12597, + "steam_id": 115800 + }, + "oxytone": { + "igdb_id": 267287, + "itchio_url": "https://oxgames.itch.io/oxytone", + "steam_id": 2594020 + }, + "pachycefalosaurus": { + "itchio_url": "https://ludosgd.itch.io/pachycephalosaurus-game" + }, + "pacman": { + "igdb_id": 2750 + }, + "panicroom": { + "itchio_url": "https://ghostomato.itch.io/panic-room" + }, + "panzerpaladin": { + "igdb_id": 116195, + "steam_id": 975510 + }, + "parsec47": { + "igdb_id": 71655 + }, + "passage": { + "igdb_id": 36502 + }, + "paused": { + "itchio_url": "https://cyfo.itch.io/paused" + }, + "pekka-kana-2": { + "igdb_id": 94449, + "itchio_url": "https://danilolc.itch.io/pekka-kana-2" + }, + "perfectdark": { + "igdb_id": 1463 + }, + "pigeon": { + "igdb_id": 179842, + "itchio_url": "https://escada-games.itch.io/pigeon-ascent" + }, + "pinball_disc_room": { + "itchio_url": "https://dulsi.itch.io/pinball-disc-room" + }, + "pingo": { + "itchio_url": "https://nkrapivindev.itch.io/pingo-gms2" + }, + "pingus": { + "igdb_id": 146207 + }, + "pinky": { + "itchio_url": "https://omich.itch.io/pinky" + }, + "pippubaublequest": { + "igdb_id": 165602, + "itchio_url": "https://ci.itch.io/pippu-bauble-quest", + "steam_id": 1604110 + }, + "pixeldescent": { + "itchio_url": "https://jc-bailey.itch.io/pixel-descent", + "steam_id": 2569330 + }, + "pixelheat": { + "itchio_url": "https://lucasmegastriker.itch.io/beat-of-the-pixelheat" + }, + "plague": { + "itchio_url": "https://foletto.itch.io/plague" + }, + "planetarian": { + "igdb_id": 11413, + "steam_id": 623080 + }, + "planetd4rk": { + "itchio_url": "https://abhimonk.itch.io/planet-d4rk" + }, + "planetmerge": { + "itchio_url": "https://kodingnights.itch.io/planet-merge" + }, + "planetwaves": { + "itchio_url": "https://escada-games.itch.io/planet-waves" + }, + "plaqueattackremake": { + "itchio_url": "https://escada-games.itch.io/dentaldefense" + }, + "pleasedonttouchanything": { + "igdb_id": 9327, + "steam_id": 354240 + }, + "plumberssdl": { + "igdb_id": 4251 + }, + "plunderislands": { + "igdb_id": 239486, + "steam_id": 2279370 + }, + "pocketcrystalleague": { + "itchio_url": "https://moodytail.itch.io/pocket-crystal-league" + }, + "pockettactics": { + "igdb_id": 177000, + "itchio_url": "https://team-potato.itch.io/pocket-tactics" + }, + "pocketwondersport": { + "igdb_id": 180325, + "itchio_url": "https://hwilson.itch.io/pocket-wonder-sport" + }, + "postvoid": { + "igdb_id": 133149, + "steam_id": 1285670 + }, + "powder": { + "igdb_id": 49505 + }, + "powerlevel": { + "igdb_id": 177863, + "itchio_url": "https://smithmanc.itch.io/power-level" + }, + "powerputtlegend": { + "igdb_id": 225432, + "itchio_url": "https://team-bugulon.itch.io/powerputt-legend" + }, + "ppengui": { + "itchio_url": "https://all-x.itch.io/pepper-pengui" + }, + "prehistorik.2": { + "igdb_id": 10718, + "steam_id": 749140 + }, + "prisnhax": { + "igdb_id": 319777, + "itchio_url": "https://ci.itch.io/prisnhax" + }, + "profadeluxe": { + "igdb_id": 13933 + }, + "psebay": { + "igdb_id": 43063, + "steam_id": 608660 + }, + "psrl": { + "itchio_url": "https://requinnzious.itch.io/phantasy-star-rl" + }, + "pullywog": { + "itchio_url": "https://team-bugulon.itch.io/pullywog" + }, + "pulstario": { + "igdb_id": 126731, + "itchio_url": "https://thatsmytrunks.itch.io/pulstario", + "steam_id": 1188000 + }, + "pupaipospacedx": { + "igdb_id": 126969, + "itchio_url": "https://bolhut.itch.io/pupaipo-space-deluxe", + "steam_id": 1148500 + }, + "puremetal": { + "igdb_id": 169288, + "steam_id": 757050 + }, + "push": { + "itchio_url": "https://yyuta342.itch.io/push" + }, + "putridshotultra": { + "igdb_id": 207273, + "steam_id": 2053360 + }, + "puztrix_playdate": { + "igdb_id": 315769 + }, + "pyk": { + "itchio_url": "https://rafalkowalski.itch.io/pyk" + }, + "q2pro": { + "igdb_id": 262016, + "steam_id": 2320 + }, + "quake": { + "igdb_id": 333, + "steam_id": 2310 + }, + "quake.2": { + "igdb_id": 262016, + "steam_id": 2320 + }, + "quake3": { + "igdb_id": 355, + "steam_id": 2200 + }, + "quakespasm": { + "igdb_id": 333, + "steam_id": 2310 + }, + "quester": { + "steam_id": 1406490 + }, + "qyoblaster": { + "itchio_url": "https://teamblackhatrobot.itch.io/q-yo-blastergame", + "steam_id": 772610 + }, + "ragingblasters": { + "igdb_id": 142659, + "steam_id": 1464550 + }, + "rakuen": { + "igdb_id": 28544, + "steam_id": 559210 + }, + "rambleplanet": { + "igdb_id": 152374, + "itchio_url": "https://willyelektrix.itch.io/ramble-planet" + }, + "randungeon": { + "itchio_url": "https://escada-games.itch.io/randungeon" + }, + "raptor": { + "igdb_id": 9082, + "steam_id": 358360 + }, + "ravenshike": { + "igdb_id": 164982, + "steam_id": 1689270 + }, + "rawgl": { + "igdb_id": 4348, + "steam_id": 233550 + }, + "rebound": { + "igdb_id": 177690, + "itchio_url": "https://rebound.itch.io/rebound" + }, + "redhandsomehood": { + "itchio_url": "https://bolhut.itch.io/red-handsome-hood" + }, + "redneck.rampage": { + "igdb_id": 9002, + "steam_id": 565550 + }, + "redneck.rampage.rides.again": { + "igdb_id": 9004, + "steam_id": 580940 + }, + "redo": { + "igdb_id": 114085 + }, + "redtrees": { + "igdb_id": 152425 + }, + "redtrianglesc": { + "steam_id": 1761680 + }, + "relichunters": { + "igdb_id": 129846, + "steam_id": 382490 + }, + "reminiscence": { + "igdb_id": 185854, + "steam_id": 961620 + }, + "render96ex": { + "igdb_id": 1074 + }, + "residentvania": { + "itchio_url": "https://oco.itch.io/residentvania" + }, + "retrotime": { + "itchio_url": "https://joyrider3774.itch.io/retrotime" + }, + "revbros": { + "itchio_url": "https://all-x.itch.io/reverse-bros" + }, + "rick.dangerous": { + "igdb_id": 8979 + }, + "rigelengine": { + "igdb_id": 956 + }, + "riptale": { + "igdb_id": 28313, + "steam_id": 616000 + }, + "riskofrain": { + "igdb_id": 3173, + "steam_id": 248820 + }, + "rite": { + "igdb_id": 135362, + "itchio_url": "https://pondgames.itch.io/rite", + "steam_id": 1322650 + }, + "rlone": { + "itchio_url": "https://junforme.itch.io/rlone" + }, + "road.invaders": { + "itchio_url": "https://blasin.itch.io/road-invaders" + }, + "roadwarriors2": { + "igdb_id": 184824, + "itchio_url": "https://yaru.itch.io/road-warriors-2" + }, + "rockbot": { + "igdb_id": 39199 + }, + "rockheads": { + "itchio_url": "https://hwilson.itch.io/rockheads" + }, + "rocksndiamonds": { + "igdb_id": 80290 + }, + "roguelight": { + "igdb_id": 56913, + "itchio_url": "https://managore.itch.io/roguelight" + }, + "roguesentry": { + "igdb_id": 142987, + "steam_id": 1555770 + }, + "rota": { + "igdb_id": 201487, + "itchio_url": "https://hhoneysoftware.itch.io/rota", + "steam_id": 1993830 + }, + "rotationalshift": { + "itchio_url": "https://gleeson.itch.io/rotational-shift" + }, + "rott": { + "igdb_id": 2380, + "itchio_url": "", + "steam_id": 358410 + }, + "rrootage": { + "igdb_id": 25169, + "itchio_url": "" + }, + "russiansubwaydogs": { + "igdb_id": 56564, + "itchio_url": "https://spookysquid.itch.io/russian-subway-dogs", + "steam_id": 762610 + }, + "rvgl": { + "igdb_id": 3585, + "itchio_url": "", + "steam_id": 287310 + }, + "rwatch": { + "itchio_url": "https://nizakashii.itch.io/rwatch" + }, + "salvagette": { + "igdb_id": 174475, + "itchio_url": "https://e1sif.itch.io/salvagette" + }, + "samuraibrothers": { + "igdb_id": 328185, + "steam_id": 3403860 + }, + "santassurprise": { + "itchio_url": "https://pirate-shell.itch.io/santas-surprise" + }, + "satlovecake": { + "itchio_url": "https://baku.itch.io/satan-loves-cake" + }, + "satryn": { + "itchio_url": "https://maybell.itch.io/satryn", + "steam_id": 1677360 + }, + "savant": { + "igdb_id": 7879, + "steam_id": 259530 + }, + "savingprincess": { + "itchio_url": "https://brainos.itch.io/savingprincess" + }, + "sawa": { + "igdb_id": 13100, + "steam_id": 250500 + }, + "scaletheskulltower": { + "itchio_url": "https://cortok.itch.io/scaletheskulltower" + }, + "sdlbomber": { + "igdb_id": 18153 + }, + "sdlpal": { + "igdb_id": 18928, + "steam_id": 1546570 + }, + "sdlpop": {}, + "sdlsopwith": { + "igdb_id": 24424 + }, + "sdlzombies": {}, + "secretteagarden": { + "igdb_id": 209942, + "itchio_url": "https://angusbeer.itch.io/secret-tea-garden" + }, + "septuple": { + "itchio_url": "https://nnbnh.itch.io/septuple" + }, + "serioussam-tfe": { + "igdb_id": 857, + "steam_id": 227780 + }, + "serioussam-tse": { + "igdb_id": 858, + "steam_id": 227780 + }, + "sevenkingdoms": { + "igdb_id": 33303, + "steam_id": 450140 + }, + "shadow.warrior": { + "igdb_id": 2947, + "steam_id": 238070 + }, + "shadowwrangler": { + "igdb_id": 180613, + "itchio_url": "https://jdmgames.itch.io/shadow-wrangler" + }, + "shatteredpixeldungeon": { + "igdb_id": 130394, + "steam_id": 1769170 + }, + "sheepo": { + "steam_id": 1281790 + }, + "shippy": { + "itchio_url": "https://dulsi.itch.io/shippy-1984" + }, + "shipwreck": { + "itchio_url": "https://ohthesetrees.itch.io/shipwreck", + "steam_id": 342490 + }, + "shirobimetal": {}, + "shovel.knight": { + "igdb_id": 26848, + "steam_id": 250760 + }, + "shovelknightpocketdungeon": { + "igdb_id": 133503, + "steam_id": 1184760 + }, + "shrubnaut": { + "igdb_id": 179774, + "itchio_url": "https://gleeson.itch.io/shrubnaut" + }, + "siegeofosaka": { + "igdb_id": 239181, + "itchio_url": "https://hwilson.itch.io/siege-of-osaka" + }, + "simonsqrev": { + "igdb_id": 317859 + }, + "simutrans": { + "igdb_id": 33717, + "steam_id": 434520 + }, + "skeletonboomerang": { + "igdb_id": 44177, + "steam_id": 658150 + }, + "skifree": { + "igdb_id": 11681 + }, + "skijump3": { + "igdb_id": 186727 + }, + "sm": { + "igdb_id": 1103 + }, + "smoothiegalaxy": { + "igdb_id": 182518, + "itchio_url": "https://pixel-boy.itch.io/smoothie-galaxy" + }, + "smworld": { + "igdb_id": 1070 + }, + "snaklipse": { + "itchio_url": "https://kultisti.itch.io/snaklipse" + }, + "sneakr": { + "igdb_id": 184950, + "itchio_url": "https://josephgribbin.itch.io/sneakr" + }, + "sneggpit": { + "itchio_url": "https://eludi.itch.io/sneggpit" + }, + "snkrx": { + "igdb_id": 148027, + "steam_id": 915310 + }, + "snout": { + "igdb_id": 148275, + "itchio_url": "https://aarjvark.itch.io/snout" + }, + "snowyland": { + "igdb_id": 187156, + "steam_id": 1731730 + }, + "soh": { + "igdb_id": 1029 + }, + "soh2": { + "igdb_id": 1030 + }, + "sokobos": { + "igdb_id": 189863, + "steam_id": 1655890 + }, + "sokobrawn": { + "itchio_url": "https://steven-miller.itch.io/sokobrawn" + }, + "somnokid": { + "igdb_id": 201114, + "itchio_url": "https://team-bugulon.itch.io/somnokid" + }, + "sonic.1": { + "steam_id": 71113 + }, + "sonic.2": { + "igdb_id": 4438 + }, + "sonic.cd": { + "igdb_id": 5452, + "steam_id": 200940 + }, + "sonic.mania": { + "igdb_id": 21062, + "steam_id": 584400 + }, + "sonic1sms": { + "igdb_id": 227798, + "itchio_url": "https://creative-araya.itch.io/sonic-1-sms-remake" + }, + "sonic2sms": { + "igdb_id": 227799, + "itchio_url": "https://creative-araya.itch.io/sonic-2-sms-remake" + }, + "sonic3air": { + "igdb_id": 132189 + }, + "sonic3sms": { + "igdb_id": 227802 + }, + "sonictimetwisted": { + "igdb_id": 125154, + "itchio_url": "https://overboundn.itch.io/sonic-time-twisted" + }, + "sonictt16b": { + "igdb_id": 136814 + }, + "sorr": { + "igdb_id": 72327 + }, + "space.cadet.pinball": { + "igdb_id": 79247 + }, + "spacegladiators": { + "igdb_id": 143871, + "steam_id": 1144910 + }, + "spacemothdx": { + "igdb_id": 33928, + "steam_id": 425340 + }, + "spacewingwar": { + "igdb_id": 200942, + "steam_id": 1979470 + }, + "spearmintmountain": { + "igdb_id": 183495, + "itchio_url": "https://baku.itch.io/spearmint-mountain" + }, + "spectralslash": { + "itchio_url": "https://abhimonk.itch.io/spectral-slash" + }, + "spellsling": { + "itchio_url": "https://youdoyoubuddy.itch.io/spell-sling" + }, + "spelltower": { + "itchio_url": "https://youdoyoubuddy.itch.io/spell-tower" + }, + "spellworm": { + "igdb_id": 124054, + "itchio_url": "https://ci.itch.io/spellworm" + }, + "spelunky": { + "igdb_id": 8145, + "itchio_url": "https://yancharkin.itch.io/spelunky-classic-hd" + }, + "spinch": { + "igdb_id": 87679, + "steam_id": 794240 + }, + "splinterzone": { + "igdb_id": 28867, + "itchio_url": "https://mokka.itch.io/splinter-zone", + "steam_id": 612160 + }, + "spooky": { + "igdb_id": 95207, + "steam_id": 820620 + }, + "spookynakki": { + "igdb_id": 275810, + "itchio_url": "https://team-bugulon.itch.io/spookynakki" + }, + "squeek": { + "igdb_id": 184974, + "itchio_url": "https://foletto.itch.io/squeek-the-meek" + }, + "srb2": { + "igdb_id": 95508 + }, + "srb2kart": { + "igdb_id": 121436 + }, + "starbound": { + "igdb_id": 3019, + "steam_id": 211820 + }, + "starboy": { + "itchio_url": "https://mrkdji.itch.io/starboy" + }, + "starcatcher": { + "itchio_url": "https://escada-games.itch.io/starcatcher" + }, + "stardewvalley": { + "igdb_id": 17000, + "steam_id": 413150 + }, + "starfighter": { + "igdb_id": 62147 + }, + "stargrovescramble": { + "igdb_id": 177939, + "itchio_url": "https://team-bugulon.itch.io/stargrove-scramble" + }, + "starvsthegame": { + "itchio_url": "https://rian-shinozaki.itch.io/star-vs-the-game" + }, + "static": { + "itchio_url": "https://martin-akehurst.itch.io/staticgame" + }, + "steamlink": {}, + "steelassault": { + "igdb_id": 56668, + "steam_id": 1280300 + }, + "stop_the_eggspress": { + "itchio_url": "https://stephensmith.itch.io/stop-the-eggspress" + }, + "strangeadventures": { + "igdb_id": 23510, + "itchio_url": "https://rich.itch.io/strangeadventures" + }, + "streetsofclaus": { + "itchio_url": "https://all-x.itch.io/streets-of-claus" + }, + "strikeysisters": { + "igdb_id": 38793, + "itchio_url": "https://dyagames.itch.io/strikey-sisters", + "steam_id": 643880 + }, + "sudokul": { + "itchio_url": "https://mode8fx.itch.io/sudokul" + }, + "sulka": { + "igdb_id": 186667, + "itchio_url": "https://kultisti.itch.io/sulka" + }, + "sunsetshaped": { + "igdb_id": 177683, + "itchio_url": "https://bucketfish.itch.io/sunset-shaped" + }, + "sunsetwitchclassic": { + "itchio_url": "https://angusbeer.itch.io/sunset-witch-classic" + }, + "super.mario.war": { + "igdb_id": 87815 + }, + "supercakeboy": { + "igdb_id": 240816 + }, + "supercratebox": { + "igdb_id": 9945, + "steam_id": 212800 + }, + "superdrome.bugs": { + "itchio_url": "https://pistachoduck.itch.io/superdrome-bugs" + }, + "superdungeonmuncher": { + "igdb_id": 311602, + "itchio_url": "https://n-nexy.itch.io/super-dungeon-muncher", + "steam_id": 3095800 + }, + "supergaelicdodgeball": { + "itchio_url": "https://shoehead.itch.io/sgdb" + }, + "superglitter": { + "igdb_id": 135436, + "itchio_url": "https://tinycactus.itch.io/superglitterrush", + "steam_id": 1338020 + }, + "superhexagon": { + "igdb_id": 3251, + "steam_id": 221640 + }, + "supermeatboy": { + "igdb_id": 885, + "steam_id": 40800 + }, + "supermegazero": { + "igdb_id": 194981, + "steam_id": 1581880 + }, + "superraftboatclassic": { + "igdb_id": 144142, + "steam_id": 1541250 + }, + "superrobotninjagirl": { + "itchio_url": "https://yaru.itch.io/super-robot-ninja-girl" + }, + "superskelemania": { + "igdb_id": 74875, + "itchio_url": "https://benal.itch.io/super-skelemania", + "steam_id": 730920 + }, + "superstarpath": { + "igdb_id": 19981, + "itchio_url": "https://dyagames.itch.io/super-star-path", + "steam_id": 375120 + }, + "supertransball2": { + "igdb_id": 47554 + }, + "supertux": { + "igdb_id": 51231 + }, + "supertuxkart": { + "igdb_id": 10763 + }, + "superxyx": { + "steam_id": 654500 + }, + "swapwoodquestr": { + "itchio_url": "https://team-bugulon.itch.io/swapwood-quest-r" + }, + "tabletanks": { + "igdb_id": 229882, + "itchio_url": "https://rologfos.itch.io/table-tanks" + }, + "tailsadventure": { + "igdb_id": 265890 + }, + "tailspin": { + "igdb_id": 177371, + "itchio_url": "https://team-bugulon.itch.io/tailspin" + }, + "tamashii": { + "igdb_id": 115152, + "steam_id": 1026400 + }, + "tamiku": { + "igdb_id": 140952, + "itchio_url": "https://josyan.itch.io/tamiku", + "steam_id": 1117890 + }, + "tantibus": { + "itchio_url": "https://benal.itch.io/tantibus" + }, + "techmaniac": { + "itchio_url": "https://johngabrieluk.itch.io/techmaniac" + }, + "templeofkashteki": { + "itchio_url": "https://securas.itch.io/temple-of-kashteki" + }, + "tempuslocus": { + "itchio_url": "https://nubitoad.itch.io/tempus-locus" + }, + "terminus": { + "itchio_url": "https://logodum.itch.io/terminus-roguelike" + }, + "theaspect": { + "itchio_url": "https://backterria.itch.io/the-aspect" + }, + "thecorruptionwithin": { + "itchio_url": "https://cosmicvoid.itch.io/the-corruption-within", + "steam_id": 1395400 + }, + "thecurseofissyos": { + "igdb_id": 47094 + }, + "thefoundersofredacted": { + "itchio_url": "https://apicici.itch.io/the-founders-of-redacted" + }, + "thelegendoflumina": { + "itchio_url": "https://wizbane.itch.io/the-legend-of-lumina", + "steam_id": 2638340 + }, + "thermomorph": { + "itchio_url": "https://varunramesh.itch.io/thermomorph" + }, + "therush": { + "itchio_url": "https://hornbuckle-who.itch.io/the-rush", + "steam_id": 2525190 + }, + "thestarlitescape": { + "itchio_url": "https://xjackfox.itch.io/the-starlit-escape" + }, + "thesunandmoon": { + "igdb_id": 17811, + "itchio_url": "https://managore.itch.io/sunandmoon", + "steam_id": 321560 + }, + "thewind": { + "itchio_url": "https://airdorf.itch.io/thewind" + }, + "thextech": { + "igdb_id": 87816 + }, + "threecoins": { + "igdb_id": 293264, + "itchio_url": "https://lucasmegastriker.itch.io/insert-three-coins" + }, + "thunderpunch": { + "itchio_url": "https://npjarcade.itch.io/thunder-punch" + }, + "thwack": { + "igdb_id": 221080, + "itchio_url": "https://jontopielski.itch.io/thwack" + }, + "thysword": { + "igdb_id": 68320, + "itchio_url": "https://gamephase.itch.io/thy-sword", + "steam_id": 560300 + }, + "ticoban": { + "itchio_url": "https://son-link.itch.io/ticoban" + }, + "tileworld": { + "igdb_id": 131408 + }, + "timespinner": { + "igdb_id": 28952, + "steam_id": 368620 + }, + "tiny-crate": { + "igdb_id": 177568, + "itchio_url": "https://hhoneysoftware.itch.io/tinycrate" + }, + "tinytowndefense": { + "itchio_url": "https://zefrost.itch.io/tiny-town-defense" + }, + "tinyworldracing": { + "igdb_id": 147569, + "itchio_url": "https://ci.itch.io/tiny-world-racing" + }, + "titan_tactics": { + "igdb_id": 163135, + "itchio_url": "https://team-potato.itch.io/titan-tactics" + }, + "titanion": { + "igdb_id": 50413 + }, + "tmntsr": { + "igdb_id": 144465, + "steam_id": 1361510 + }, + "to_the_moon": { + "steam_id": 206440 + }, + "tomb.raider.1": { + "igdb_id": 912, + "steam_id": 224960 + }, + "tomoyo_after": { + "igdb_id": 7218, + "steam_id": 462990 + }, + "topnep": { + "igdb_id": 187445, + "steam_id": 1798780 + }, + "touhoucirno": { + "itchio_url": "https://yaru.itch.io/touhou-streets-of-frog" + }, + "towardsthepantheones": { + "itchio_url": "https://connorort.itch.io/towards-the-pantheon-escaping-eternity" + }, + "towerbabe": { + "itchio_url": "https://keyslam.itch.io/tower-babe" + }, + "towerbag": { + "igdb_id": 178708, + "itchio_url": "https://matheuscunegato.itch.io/towerbag" + }, + "towerfall": { + "igdb_id": 9567, + "itchio_url": "https://maddymakesgamesinc.itch.io/towerfall", + "steam_id": 251470 + }, + "towerfortress": { + "igdb_id": 75968, + "steam_id": 593700 + }, + "toziuha": { + "igdb_id": 192635, + "itchio_url": "https://dannygaray60.itch.io/toziuha-night-draculas-revenge", + "steam_id": 1872040 + }, + "trianglerun": { + "itchio_url": "https://terrycavanagh.itch.io/triangle-run" + }, + "trickykeys": { + "igdb_id": 144942, + "itchio_url": "https://saturnyoshi.itch.io/tricky-keys" + }, + "trickykeys2": { + "igdb_id": 214956, + "itchio_url": "https://team-bugulon.itch.io/tricky-keys-2" + }, + "triggerrally": { + "igdb_id": 63239 + }, + "trogdorrb": { + "itchio_url": "https://mode8fx.itch.io/trogdor-reburninated" + }, + "trolley.delayma": { + "igdb_id": 267294, + "itchio_url": "https://albertnez.itch.io/trolley-delayma", + "steam_id": 2372500 + }, + "tsunderswap": { + "igdb_id": 212220 + }, + "tumbledown": { + "igdb_id": 190043, + "itchio_url": "https://managore.itch.io/tumbledown-drive" + }, + "tumikifighters": { + "igdb_id": 50414 + }, + "turbotabletennis": { + "itchio_url": "https://menacingmecha.itch.io/turbo-table-tennis" + }, + "tvruhh": { + "igdb_id": 78062, + "steam_id": 790060 + }, + "twodie": { + "igdb_id": 142501, + "steam_id": 1466260 + }, + "ubermoshcollection": { + "igdb_id": 35585, + "steam_id": 357070 + }, + "udlrmodify": { + "igdb_id": 291919, + "itchio_url": "https://deertwoheads.itch.io/udlr-modify" + }, + "udongeinx": { + "igdb_id": 171809, + "itchio_url": "https://potemki11.itch.io/udongein-x", + "steam_id": 1819230 + }, + "ufo50": { + "igdb_id": 54555, + "steam_id": 1147860 + }, + "ultimatetapankaikki": { + "igdb_id": 19239 + }, + "undergrave": { + "igdb_id": 187687, + "itchio_url": "https://wired-dreams-studio.itch.io/undergrave", + "steam_id": 1776930 + }, + "undertale": { + "igdb_id": 12517, + "steam_id": 391540 + }, + "ungratefulbirdsngd": { + "igdb_id": 231327, + "itchio_url": "https://jdmgames.itch.io/ungrateful-birds-no-good-deed" + }, + "unlikely": { + "itchio_url": "https://nachogames.itch.io/unlikely" + }, + "upo": { + "itchio_url": "https://jeme.itch.io/upo" + }, + "uqm": { + "igdb_id": 46575 + }, + "utyellow": { + "igdb_id": 136482 + }, + "valhalla": { + "igdb_id": 15465, + "steam_id": 447530 + }, + "vanillara": { + "igdb_id": 295 + }, + "vanillatd": { + "igdb_id": 647 + }, + "vcmi": { + "igdb_id": 364 + }, + "verticaldropheroeshd": { + "igdb_id": 9808, + "steam_id": 311480 + }, + "vhr": { + "igdb_id": 142489, + "steam_id": 1594060 + }, + "vikingsofmidgard": { + "igdb_id": 182031, + "itchio_url": "https://fenrir-lunaris.itch.io/vikings-of-midgard" + }, + "viralreload": { + "igdb_id": 194344, + "itchio_url": "https://retrocademedia.itch.io/viral-reload" + }, + "vitasnake": { + "itchio_url": "https://nkrapivindev.itch.io/vitasnake-gms2" + }, + "voidbreach": { + "itchio_url": "https://cosmicvoid.itch.io/void-breach", + "steam_id": 1204710 + }, + "voidpyramid": { + "igdb_id": 30302, + "itchio_url": "https://willyelektrix.itch.io/void-pyramid" + }, + "voidstranger": { + "igdb_id": 178900, + "itchio_url": "https://system-erasure.itch.io/void-stranger", + "steam_id": 2121980 + }, + "vortexion": { + "igdb_id": 318864 + }, + "vvvvvv": { + "igdb_id": 1990, + "steam_id": 70300 + }, + "wakingmars": { + "igdb_id": 14722, + "steam_id": 227200 + }, + "walthrosrenewal": { + "igdb_id": 155962, + "steam_id": 1317270 + }, + "waternet": { + "igdb_id": 233609, + "itchio_url": "https://joyrider3774.itch.io/waternet" + }, + "widelands": { + "igdb_id": 47043 + }, + "willyousnail": { + "igdb_id": 120816, + "steam_id": 1115050 + }, + "wipeout": { + "igdb_id": 1083 + }, + "wizardchase": { + "itchio_url": "https://clarkjohn.itch.io/wizard" + }, + "wizardorb": { + "itchio_url": "https://slimewitch.itch.io/wizard-orb" + }, + "wizznic": { + "itchio_url": "https://dusted.itch.io/wizznic" + }, + "wolf3d": { + "igdb_id": 262516, + "steam_id": 2270 + }, + "wordlesdl": { + "igdb_id": 150086 + }, + "wordswithfreds": { + "itchio_url": "https://thatsmytrunks.itch.io/words-with-freds" + }, + "world.war.ii.gi": { + "igdb_id": 2533, + "steam_id": 376750 + }, + "worldofgoo": { + "igdb_id": 942, + "steam_id": 22000 + }, + "worship_vector": { + "itchio_url": "https://pcercuei.itch.io/worship-vector" + }, + "wuppo": { + "igdb_id": 26175, + "steam_id": 400630 + }, + "xenofightersr": { + "itchio_url": "https://team-xf.itch.io/xeno-fighters-r" + }, + "xenonvalkyrie": { + "igdb_id": 29949, + "steam_id": 573780 + }, + "xmoto": { + "igdb_id": 122757 + }, + "xooxenoxafari": { + "igdb_id": 149000, + "itchio_url": "https://willyelektrix.itch.io/xoo-xeno-xafari" + }, + "yarntown": { + "itchio_url": "https://maxatrillionator.itch.io/yarntown" + }, + "yellowjacket": { + "itchio_url": "https://gizmo199.itch.io/yellow-jacket" + }, + "yolkheroes": { + "igdb_id": 250985, + "steam_id": 2417850 + }, + "youdiedbanry": { + "igdb_id": 116041, + "steam_id": 1037100 + }, + "youhave10s2023": { + "igdb_id": 256443, + "steam_id": 2390510 + }, + "z-warp": { + "igdb_id": 192278, + "steam_id": 1990820 + }, + "zelda-bookofmudora": { + "igdb_id": 243614 + }, + "zelda-mercurischest": { + "igdb_id": 243269 + }, + "zelda-mysteryofsolarusdx": { + "igdb_id": 243615 + }, + "zelda-mysteryofsolarusxd": { + "igdb_id": 46620 + }, + "zelda-roth-se": { + "igdb_id": 243616 + }, + "zelda3": { + "igdb_id": 1026 + }, + "zelda3t": { + "igdb_id": 202979 + }, + "zelda_roth": { + "igdb_id": 46430 + }, + "zeldadoi": { + "igdb_id": 316720 + }, + "zeldansq": { + "igdb_id": 330579 + }, + "zeldaolb": { + "igdb_id": 202978 + }, + "zeldaxd-mercurischess": { + "igdb_id": 243666 + }, + "zeldoschallenge": { + "igdb_id": 243618 + }, + "zeldoschallenge2": { + "igdb_id": 243619 + }, + "zeroptianinvasion": { + "igdb_id": 111576, + "steam_id": 974110 + }, + "zeroranger": { + "igdb_id": 59737, + "steam_id": 809020 + }, + "zgloom": { + "igdb_id": 3030 + }, + "ziggurat": { + "itchio_url": "https://nethead.itch.io/ziggurat" + }, + "ziiaol": { + "igdb_id": 1025, + "itchio_url": "https://hoverbat.itch.io/ziiaol" + }, + "znax": { + "igdb_id": 183682, + "itchio_url": "https://joyrider3774.itch.io/znax" + } +} diff --git a/port_popularity.json b/port_popularity.json new file mode 100644 index 00000000..f905cda2 --- /dev/null +++ b/port_popularity.json @@ -0,0 +1,2408 @@ +{ + "popularity_metrics": { + "2048": { + "1": 8.9733147425e-05, + "2": 8.31976749e-06, + "3": 2.5395857936e-05, + "4": 6.0448402078e-05 + }, + "abbayedesmorts": { + "1": 6.902549802e-06 + }, + "abuse": { + "2": 2.2186046641e-05, + "3": 1.2697928968e-05, + "4": 1.7717635092e-05 + }, + "aerofoil": { + "4": 1.042213829e-06 + }, + "alephone-marathon": { + "1": 2.0707649406e-05, + "2": 2.7732558301e-05, + "3": 2.5395857936e-05, + "4": 1.980206275e-05 + }, + "alephone-marathon2": { + "2": 1.386627915e-05, + "3": 1.2697928968e-05, + "4": 1.4590993605e-05 + }, + "alephone-marathoninfinity": { + "2": 1.9412790811e-05, + "4": 9.37992446e-06 + }, + "aliensquatter": { + "2": 2.77325583e-06 + }, + "angband": { + "2": 1.109302332e-05, + "3": 2.5395857936e-05, + "4": 1.0422138289e-05 + }, + "annalynn": { + "1": 2.0707649406e-05, + "4": 3.126641487e-06 + }, + "anodyne": { + "2": 4.4372093281e-05, + "3": 1.2697928968e-05, + "4": 3.6477484012e-05, + "5": 2.6050038e-07, + "6": 1.1003261291e-05, + "7": 1.2688523621e-05, + "8": 1.1235324024e-05 + }, + "apocrunner": { + "4": 1.042213829e-06 + }, + "apotris": { + "3": 1.2697928968e-05 + }, + "aquaria": { + "1": 6.902549802e-06, + "2": 5.2691860771e-05, + "3": 2.5395857936e-05, + "4": 5.1068477617e-05, + "5": 0.0, + "6": 1.1174252143e-05, + "7": 9.529777234e-06, + "8": 1.0947805889e-05 + }, + "arengius": { + "2": 2.77325583e-06 + }, + "armagetronad": { + "4": 6.253282974e-06 + }, + "assaultshell": { + "2": 2.77325583e-06 + }, + "augustus": { + "1": 6.902549802e-06, + "2": 1.9412790811e-05, + "3": 7.6187573807e-05, + "4": 8.9630389288e-05, + "5": 1.5109022014e-05, + "6": 1.5560167483e-05, + "7": 7.977173078e-06, + "8": 1.4515979661e-05, + "9": 0.000112703714228 + }, + "avp": { + "1": 2.7610199208e-05, + "2": 1.9412790811e-05, + "4": 1.5633207434e-05, + "5": 6.51250949e-07, + "6": 1.9587002035e-05, + "7": 1.7239259941e-05, + "8": 1.9263715009e-05 + }, + "axecop": { + "2": 2.77325583e-06 + }, + "axiom.verge": { + "1": 2.0707649406e-05, + "2": 0.000202447675596, + "3": 0.000253958579356, + "4": 0.000174049709431, + "5": 3.256254744e-06, + "6": 4.662065565e-05, + "7": 2.891056015e-05, + "8": 4.418195333e-05, + "9": 0.000190910516615 + }, + "balatro": { + "1": 0.000469373386529, + "2": 0.000202447675596, + "3": 0.00079996952497, + "4": 0.000206358338128, + "5": 0.002204354211744, + "6": 0.001179101614408, + "7": 0.000145730638384, + "8": 0.001036805137415, + "9": 0.000250536086668 + }, + "barbarian": { + "4": 1.4590993605e-05 + }, + "bbja": { + "4": 1.042213829e-06 + }, + "beardblade": { + "2": 8.31976749e-06, + "4": 2.084427658e-06 + }, + "beatblock": { + "1": 2.7610199208e-05, + "10": 0.000471159018306, + "2": 8.31976749e-06 + }, + "benboquest": { + "3": 1.2697928968e-05, + "4": 2.084427658e-06 + }, + "bermuda_syndrome": { + "2": 5.54651166e-06, + "3": 1.2697928968e-05, + "4": 5.211069145e-06 + }, + "billyfrontier": { + "4": 1.042213829e-06 + }, + "biolab": { + "1": 6.902549802e-06 + }, + "bittriprunner2": { + "1": 1.3805099604e-05, + "2": 1.386627915e-05, + "3": 2.5395857936e-05, + "4": 4.2730766986e-05, + "5": 1.3025019e-07, + "6": 2.3913070577e-05, + "7": 1.3277442439e-05, + "8": 2.2448531268e-05 + }, + "blackout": { + "1": 6.902549802e-06, + "4": 1.042213829e-06 + }, + "blobwars": { + "4": 1.042213829e-06 + }, + "blockout2": { + "1": 6.902549802e-06, + "4": 2.6055345723e-05 + }, + "blood": { + "3": 1.2697928968e-05, + "4": 8.337710631e-06, + "5": 0.0, + "6": 1.0481739194e-05, + "7": 6.103340476e-06, + "8": 9.87882821e-06 + }, + "blossomtales2": { + "2": 2.7732558301e-05, + "3": 1.2697928968e-05, + "4": 4.168855316e-06, + "9": 9.989353316e-06 + }, + "bluerevolver": { + "1": 1.3805099604e-05, + "2": 2.77325583e-06, + "4": 3.126641487e-06 + }, + "blues.brothers": { + "1": 1.3805099604e-05, + "2": 2.77325583e-06, + "4": 2.2928704236e-05 + }, + "boneraiserminions": { + "2": 1.109302332e-05, + "4": 5.211069145e-06, + "5": 2.474753606e-06, + "6": 4.2012452204e-05, + "7": 9.904543755e-06, + "8": 3.7591153017e-05, + "9": 9.2000391293e-05 + }, + "boswars": { + "4": 2.084427658e-06 + }, + "botvice": { + "2": 1.663953498e-05, + "4": 1.2506565947e-05 + }, + "brogue": { + "3": 2.5395857936e-05, + "4": 4.168855316e-06 + }, + "brotato": { + "1": 0.00011044079683, + "2": 4.4372093281e-05, + "3": 0.000330146153162, + "4": 0.000112559093524, + "5": 0.001220704778567, + "6": 0.000788165230717, + "7": 0.000168270167686, + "8": 0.00070280490454, + "9": 0.000238114092907 + }, + "bstone-aog": { + "1": 6.902549802e-06, + "2": 8.31976749e-06, + "3": 1.2697928968e-05, + "4": 1.980206275e-05, + "5": 0.0, + "6": 1.043044194e-06, + "7": 1.070761487e-06, + "8": 1.0468609e-06 + }, + "bstone-ps": { + "2": 5.54651166e-06, + "3": 2.5395857936e-05, + "4": 8.337710631e-06, + "5": 0.0, + "6": 3.76179873e-07, + "7": 8.5660919e-07, + "8": 4.42335591e-07 + }, + "bugdom": { + "2": 2.77325583e-06, + "4": 7.295496802e-06 + }, + "burgerspace": { + "1": 6.902549802e-06, + "2": 8.31976749e-06, + "3": 1.2697928968e-05, + "4": 4.3772980815e-05 + }, + "butterflysoup": { + "1": 6.902549802e-06, + "2": 2.2186046641e-05, + "4": 1.0422138289e-05 + }, + "bzflag": { + "4": 1.042213829e-06 + }, + "c-dogs": { + "4": 2.084427658e-06 + }, + "cairn": { + "4": 1.042213829e-06 + }, + "cannonball-st": { + "1": 6.902549802e-06, + "2": 2.77325583e-06, + "3": 1.2697928968e-05, + "4": 6.253282974e-06 + }, + "carmageddon": { + "1": 2.7610199208e-05, + "2": 3.0505814131e-05, + "3": 1.2697928968e-05, + "4": 0.000183429633891 + }, + "cataclysm-dda": { + "1": 3.4512749009e-05, + "2": 2.7732558301e-05, + "3": 3.8093786903e-05, + "4": 2.0844276579e-05, + "5": 4.298256263e-06, + "6": 3.471114285e-06, + "7": 1.766756454e-06, + "8": 3.236422078e-06, + "9": 0.000139695671505 + }, + "catacomb3d": { + "1": 2.7610199208e-05, + "2": 2.77325583e-06, + "4": 4.168855316e-06 + }, + "cavecrawler": { + "2": 2.77325583e-06, + "4": 6.253282974e-06 + }, + "cceleste": { + "1": 6.902549802e-06, + "2": 8.31976749e-06, + "4": 2.6055345723e-05 + }, + "celeste": { + "1": 0.000186368844651, + "2": 0.000876348842304, + "3": 0.001739616268587, + "4": 0.00131110499679, + "5": 0.000237836846528, + "6": 0.000980119560565, + "7": 0.000160774837276, + "8": 0.000867294766496, + "9": 0.000231980733488 + }, + "chasm": { + "1": 0.000124245896434, + "2": 9.9837209883e-05, + "3": 0.000101583431742, + "4": 5.7321760591e-05, + "5": 1.042001518e-06, + "6": 1.5406275716e-05, + "7": 3.6138200187e-05, + "8": 1.8261087669e-05 + }, + "chipndale": { + "1": 6.902549802e-06, + "2": 3.3279069961e-05, + "3": 1.2697928968e-05, + "4": 0.000134445583932 + }, + "circainfinity": { + "2": 5.54651166e-06, + "4": 3.126641487e-06 + }, + "cityglitch": { + "2": 2.77325583e-06, + "4": 1.042213829e-06 + }, + "clannad": { + "1": 4.1415298811e-05, + "2": 8.8744186562e-05, + "3": 6.3489644839e-05, + "4": 3.3350842526e-05 + }, + "classicube": { + "3": 2.5395857936e-05, + "4": 2.084427658e-06 + }, + "cognizance": { + "4": 1.042213829e-06 + }, + "coincrypt": { + "4": 5.211069145e-06, + "5": 1.3025019e-07, + "6": 4.403014425e-06, + "7": 4.443660171e-06, + "8": 4.408611395e-06 + }, + "colorlines": { + "2": 2.77325583e-06, + "4": 3.126641487e-06 + }, + "commander.genius": { + "1": 6.902549802e-06, + "4": 2.2928704236e-05, + "5": 7.81501139e-07, + "6": 1.1883864176e-05, + "7": 5.300269361e-06, + "8": 1.0977294929e-05, + "9": 3.1003226095e-05 + }, + "cookservedelicious": { + "2": 1.109302332e-05, + "3": 1.2697928968e-05, + "4": 3.4393056355e-05, + "5": 2.474753606e-06, + "6": 4.5175782956e-05, + "7": 1.6436188826e-05, + "8": 4.1218304867e-05 + }, + "cosmo-engine": { + "4": 1.5633207434e-05, + "5": 1.3025019e-07, + "6": 1.017395566e-06, + "7": 9.10147264e-07, + "8": 1.002627341e-06 + }, + "cromagrally": { + "4": 1.042213829e-06 + }, + "curseball": { + "3": 1.2697928968e-05, + "4": 1.042213829e-06 + }, + "daikatana": { + "1": 6.902549802e-06, + "2": 3.8825581621e-05, + "3": 1.2697928968e-05, + "4": 3.4393056355e-05, + "5": 0.0, + "6": 4.796293383e-06, + "7": 2.7250879845e-05, + "8": 7.888318048e-06 + }, + "darkcrypt": { + "3": 1.2697928968e-05 + }, + "darkdeity": { + "1": 2.0707649406e-05, + "2": 4.4372093281e-05, + "3": 5.0791715871e-05, + "4": 5.211069145e-06, + "5": 1.0810765751e-05, + "6": 1.6500617166e-05, + "7": 3.8708027756e-05, + "8": 1.9558605404e-05, + "9": 0.000211018619016 + }, + "darksheep": { + "3": 1.2697928968e-05, + "4": 1.042213829e-06 + }, + "deathchase3d": { + "4": 3.126641487e-06 + }, + "deathroad": { + "2": 4.1598837451e-05, + "3": 0.000101583431742, + "4": 3.2308628697e-05, + "5": 1.4457771065e-05, + "6": 7.3158435797e-05, + "7": 3.5174514849e-05, + "8": 6.7928002333e-05, + "9": 0.000195361731046 + }, + "deltarune": { + "1": 0.000213979043859, + "10": 0.000599881108792, + "2": 0.000194127908105, + "3": 7.6187573807e-05, + "4": 4.168855316e-06 + }, + "demonizer": { + "2": 8.31976749e-06, + "4": 3.126641487e-06 + }, + "derclou": { + "2": 8.31976749e-06, + "3": 1.2697928968e-05, + "4": 6.253282974e-06 + }, + "descent": { + "1": 6.902549802e-06, + "2": 2.7732558301e-05, + "3": 2.5395857936e-05, + "4": 6.5659471222e-05, + "5": 1.3025019e-07, + "6": 3.761798732e-06, + "7": 8.03071115e-07, + "8": 3.354378235e-06, + "9": 2.1816126543e-05 + }, + "descent2": { + "2": 2.2186046641e-05, + "4": 2.2928704236e-05, + "9": 4.3865165469e-05 + }, + "descent3": { + "2": 1.9412790811e-05, + "3": 1.2697928968e-05, + "4": 1.3548779776e-05, + "5": 0.0, + "6": 5.55720267e-07, + "7": 1.713218379e-06, + "8": 7.15109206e-07 + }, + "destructivator2": { + "2": 5.54651166e-06, + "4": 1.042213829e-06 + }, + "devbootleg": { + "2": 1.9412790811e-05, + "3": 1.2697928968e-05, + "4": 7.295496802e-06, + "5": 1.3025019e-07, + "6": 8.694884797e-06, + "7": 6.906411591e-06, + "8": 8.448609797e-06 + }, + "devilutionx": { + "1": 6.2122948217e-05, + "2": 0.000219087210576, + "3": 0.000139677218646, + "4": 0.000513811417661 + }, + "digger": { + "1": 6.902549802e-06, + "3": 1.2697928968e-05, + "4": 1.1464352118e-05 + }, + "dinothawr": { + "4": 2.084427658e-06 + }, + "discroom": { + "2": 1.663953498e-05, + "3": 6.3489644839e-05, + "4": 2.3970918065e-05 + }, + "dokimon": { + "3": 1.2697928968e-05 + }, + "domeromantik": { + "1": 1.3805099604e-05, + "2": 9.7063954053e-05, + "3": 0.000139677218646, + "4": 5.3152905275e-05, + "5": 8.2969370886e-05, + "6": 0.000123335701158, + "7": 6.5423526857e-05, + "8": 0.000115361122261, + "9": 0.00020159860708 + }, + "donut.dodo": { + "4": 3.126641487e-06 + }, + "doom2d": { + "2": 5.54651166e-06, + "4": 4.168855316e-06 + }, + "doom2rpg": { + "1": 2.0707649406e-05, + "2": 1.109302332e-05, + "4": 8.337710631e-06 + }, + "doom3": { + "1": 8.2830597623e-05, + "2": 0.000133116279844, + "3": 0.000139677218646, + "4": 0.000405421179453, + "5": 2.865504175e-06, + "6": 5.8837951987e-05, + "7": 4.4864906306e-05, + "8": 5.6913846105e-05 + }, + "doomrl": { + "4": 1.042213829e-06 + }, + "doomrpg": { + "1": 2.0707649406e-05, + "2": 8.31976749e-06, + "4": 1.1464352118e-05 + }, + "doukutsu-rs": { + "1": 1.3805099604e-05, + "2": 8.5970930732e-05, + "3": 7.6187573807e-05, + "4": 0.000121939017984 + }, + "downwell": { + "1": 1.3805099604e-05, + "2": 8.3197674902e-05, + "3": 0.000177771005549, + "4": 0.00011672794884, + "5": 1.693252467e-06, + "6": 6.7361845932e-05, + "7": 1.4615894298e-05, + "8": 6.0098662364e-05 + }, + "drally": { + "2": 2.77325583e-06, + "4": 2.084427658e-06, + "5": 9.11751328e-07, + "6": 5.805139407e-06, + "7": 3.587050982e-06, + "8": 5.499705854e-06 + }, + "droid7": { + "4": 2.084427658e-06 + }, + "duke.nukem.3d": { + "1": 7.5928047821e-05, + "2": 0.000105383721543, + "3": 0.00011428136071, + "4": 0.00035956377098 + }, + "dumpyandbumpy": { + "2": 2.77325583e-06, + "4": 2.084427658e-06 + }, + "dunelegacy": { + "1": 7.5928047821e-05, + "2": 5.2691860771e-05, + "3": 1.2697928968e-05, + "4": 0.000108390238208 + }, + "dungeoncrawlstonesoup": { + "1": 1.3805099604e-05, + "2": 2.77325583e-06, + "3": 5.0791715871e-05, + "4": 1.1464352118e-05 + }, + "dungeonsouls": { + "1": 6.902549802e-06, + "2": 1.386627915e-05, + "4": 8.337710631e-06, + "5": 1.3025019e-07, + "6": 1.4072547075e-05, + "7": 3.1212697347e-05, + "8": 1.6432767224e-05 + }, + "elecdude": { + "4": 1.042213829e-06 + }, + "elechead": { + "1": 2.0707649406e-05, + "2": 3.3279069961e-05, + "4": 6.253282974e-06 + }, + "elsewhereinthenight": { + "4": 1.042213829e-06 + }, + "estigma": { + "5": 0.0, + "6": 1.436323152e-06, + "7": 9.10147264e-07, + "8": 1.363868074e-06 + }, + "exhumed": { + "2": 3.0505814131e-05, + "3": 6.3489644839e-05, + "4": 8.337710631e-06, + "5": 9.11751328e-07, + "6": 5.907733918e-06, + "7": 3.961817502e-06, + "8": 5.639778792e-06 + }, + "exilesquadron": { + "4": 1.042213829e-06 + }, + "exult": { + "1": 2.0707649406e-05, + "2": 2.7732558301e-05, + "3": 1.2697928968e-05, + "4": 3.2308628697e-05 + }, + "f1spirit": { + "2": 2.77325583e-06, + "4": 2.084427658e-06 + }, + "fade_to_black": { + "1": 1.3805099604e-05, + "2": 2.2186046641e-05, + "4": 1.0422138289e-05 + }, + "fallenleaf": { + "2": 1.109302332e-05, + "4": 4.168855316e-06 + }, + "fallout1": { + "1": 6.2122948217e-05, + "2": 0.000452040700303, + "3": 0.000279354437291, + "4": 0.000487756071938, + "5": 1.6932524671e-05, + "6": 0.000175795694385, + "7": 6.8153968649e-05, + "8": 0.000160973294003, + "9": 0.000176288794792 + }, + "fallout2": { + "1": 7.5928047821e-05, + "2": 0.000501959305244, + "3": 0.00022856272142, + "4": 0.000594061882488, + "5": 2.1751781692e-05, + "6": 0.00012271158455, + "7": 4.6524586611e-05, + "8": 0.000112220539561, + "9": 0.00015320458972 + }, + "feather.park": { + "2": 2.77325583e-06 + }, + "fheroes2": { + "1": 6.902549802e-06, + "2": 1.386627915e-05, + "3": 6.3489644839e-05, + "4": 3.2308628697e-05 + }, + "finding_paradise": { + "1": 2.0707649406e-05, + "2": 0.000163622093975, + "3": 1.2697928968e-05, + "4": 9.3799244603e-05, + "5": 2.214253226e-06, + "6": 0.000155567476658, + "7": 2.1736458187e-05, + "8": 0.000137138777882 + }, + "firearrow": { + "4": 1.042213829e-06 + }, + "fishfillets": { + "3": 1.2697928968e-05, + "4": 1.042213829e-06 + }, + "flinthook": { + "2": 3.8825581621e-05, + "3": 1.2697928968e-05, + "4": 1.1464352118e-05 + }, + "flywrench": { + "4": 5.211069145e-06 + }, + "forager": { + "1": 0.000124245896434, + "2": 6.9331395752e-05, + "3": 0.000165073076581, + "4": 0.000103179169064, + "5": 4.2722062246e-05, + "6": 0.000312066853456, + "7": 0.000218221191055, + "8": 0.000299144188265, + "9": 0.000188529634478 + }, + "franbow": { + "1": 2.0707649406e-05, + "2": 0.000110930233203, + "3": 2.5395857936e-05, + "4": 0.000121939017984, + "5": 1.1071266131e-05, + "6": 0.000155319539923, + "7": 2.719734177e-05, + "8": 0.000137676952852, + "9": 0.000190289416927 + }, + "franken": { + "2": 8.31976749e-06, + "4": 4.168855316e-06 + }, + "freeciv": { + "1": 6.902549802e-06, + "2": 2.77325583e-06, + "3": 1.2697928968e-05, + "4": 5.211069145e-06 + }, + "freecol": { + "3": 1.2697928968e-05 + }, + "freedink": { + "1": 2.7610199208e-05, + "2": 5.54651166e-06, + "4": 1.2506565947e-05 + }, + "freedom.planet": { + "1": 6.902549802e-06, + "2": 5.2691860771e-05, + "4": 3.1266414868e-05, + "5": 3.90750569e-07, + "6": 3.8515689291e-05, + "7": 1.2527909398e-05, + "8": 3.4937139468e-05 + }, + "freegish": { + "2": 1.386627915e-05, + "4": 1.4590993605e-05, + "5": 0.0, + "6": 2.351124208e-06, + "7": 1.0868229093e-05, + "8": 3.523940212e-06 + }, + "freeserf": { + "2": 5.54651166e-06, + "4": 8.337710631e-06 + }, + "freesynd": { + "1": 3.4512749009e-05, + "2": 4.4372093281e-05, + "4": 6.9828326538e-05 + }, + "fridaynightfunkin": { + "1": 0.00011044079683, + "2": 5.8238372432e-05, + "3": 0.000165073076581, + "4": 3.7519697841e-05 + }, + "frogfall": { + "4": 1.042213829e-06 + }, + "frozen-bubble": { + "4": 1.042213829e-06 + }, + "gardenstory": { + "1": 0.000441763187321, + "2": 7.7651163242e-05, + "3": 2.5395857936e-05, + "4": 2.1886490407e-05, + "5": 1.953752847e-06, + "6": 1.1268297111e-05, + "7": 8.351939599e-06, + "8": 1.0866711031e-05, + "9": 3.9698621728e-05 + }, + "gatoroboto": { + "1": 6.902549802e-06, + "2": 6.3784884092e-05, + "3": 7.6187573807e-05, + "4": 7.816603717e-05, + "5": 5.21000759e-07, + "6": 3.631845685e-05, + "7": 1.2902675919e-05, + "8": 3.3094074503e-05 + }, + "gemrb": { + "1": 2.7610199208e-05, + "2": 0.000205220931426, + "3": 0.000190468934517, + "4": 0.000235540325337 + }, + "goldenhornet": { + "2": 2.77325583e-06 + }, + "goldminer": { + "4": 5.211069145e-06 + }, + "gravitycircuit": { + "1": 1.3805099604e-05, + "2": 4.4372093281e-05, + "3": 5.0791715871e-05, + "4": 1.0422138289e-05, + "5": 4.168006073e-06, + "6": 2.1587594997e-05, + "7": 6.852873517e-06, + "8": 1.9558605404e-05, + "9": 6.0298428048e-05 + }, + "gravitydefied": { + "4": 6.253282974e-06 + }, + "grazecountergm": { + "4": 1.042213829e-06 + }, + "grizzland": { + "4": 1.042213829e-06 + }, + "gta3": { + "1": 0.000151856095642, + "2": 0.000263459303857, + "3": 0.000279354437291, + "4": 0.001276711940435, + "5": 4.168006073e-06, + "6": 0.000107852479558, + "7": 0.000103917402316, + "8": 0.000107310614496 + }, + "gtavc": { + "1": 0.000338224940293, + "2": 0.00035775000208, + "3": 0.000406333726969, + "4": 0.00235019218423, + "5": 2.0319029605e-05, + "6": 0.000231555811046, + "7": 0.000113768407996, + "8": 0.000215336338198 + }, + "guacamelee": { + "2": 2.4959302471e-05, + "3": 3.8093786903e-05, + "4": 3.5435270184e-05, + "5": 1.172251708e-06, + "6": 4.7330267684e-05, + "7": 2.2057686633e-05, + "8": 4.3850201636e-05 + }, + "hackgrid": { + "3": 1.2697928968e-05 + }, + "half-life": { + "1": 0.000213979043859, + "2": 0.000551877910185, + "3": 0.00068568816426, + "4": 0.002053161242986, + "5": 9.4822138156e-05, + "6": 0.001209589283224, + "7": 0.000270849118142, + "8": 0.001080323587358, + "9": 0.000213891205073 + }, + "halloweenforever": { + "2": 5.54651166e-06, + "4": 2.084427658e-06 + }, + "hammerwatch": { + "2": 2.4959302471e-05, + "3": 1.2697928968e-05, + "4": 3.4393056355e-05, + "5": 9.11751328e-07, + "6": 4.9159869795e-05, + "7": 3.6566504782e-05, + "8": 4.7425747668e-05 + }, + "happyhills": { + "1": 4.1415298811e-05, + "4": 1.042213829e-06 + }, + "hatchwell": { + "3": 1.2697928968e-05, + "4": 1.042213829e-06 + }, + "heart.of.darkness": { + "1": 6.902549802e-06, + "2": 9.7063954053e-05, + "3": 2.5395857936e-05, + "4": 8.2334892485e-05 + }, + "hexen2": { + "1": 1.3805099604e-05, + "2": 4.7145349111e-05, + "3": 5.0791715871e-05, + "4": 3.4393056355e-05, + "5": 0.0, + "6": 3.701951934e-06, + "7": 5.889188179e-06, + "8": 4.003137103e-06 + }, + "hopowl": { + "2": 2.77325583e-06 + }, + "hota": { + "4": 6.253282974e-06 + }, + "hoverboard": { + "4": 2.084427658e-06 + }, + "hovertank3d": { + "4": 3.126641487e-06 + }, + "hurrican": { + "3": 1.2697928968e-05 + }, + "hydorah": { + "2": 2.77325583e-06, + "4": 1.042213829e-06 + }, + "hyperlightdrifter": { + "1": 4.1415298811e-05, + "2": 0.000404895351191, + "3": 0.000406333726969, + "4": 0.000251173532771, + "5": 2.331478397e-05, + "6": 0.000139648228387, + "7": 6.4566917667e-05, + "8": 0.000129309437913, + "9": 0.000240753766581 + }, + "ichorous": { + "4": 1.042213829e-06 + }, + "iconoclasts": { + "1": 1.3805099604e-05, + "2": 0.000144209303164, + "3": 0.000177771005549, + "4": 9.7968099919e-05, + "5": 1.302501898e-06, + "6": 3.4659845591e-05, + "7": 3.3621910692e-05, + "8": 3.4516920656e-05, + "9": 4.1975987251e-05 + }, + "icytower": { + "2": 2.77325583e-06, + "3": 2.5395857936e-05, + "4": 2.5013131894e-05 + }, + "inertiablast": { + "4": 3.126641487e-06 + }, + "infra_arcana": { + "2": 2.77325583e-06, + "4": 1.042213829e-06 + }, + "interstatedrifter": { + "3": 1.2697928968e-05, + "4": 1.042213829e-06 + }, + "invaders": { + "1": 4.1415298811e-05, + "2": 3.3279069961e-05, + "4": 0.000156332074339 + }, + "ioawn4t": { + "1": 6.902549802e-06, + "2": 4.1598837451e-05, + "4": 2.1886490407e-05 + }, + "ionfury": { + "1": 6.902549802e-06, + "2": 0.000108156977373, + "3": 0.000101583431742, + "4": 5.0026263788e-05, + "5": 1.302501898e-06, + "6": 5.9727104415e-05, + "7": 3.6994809377e-05, + "8": 5.6596838931e-05, + "9": 0.000101368644921 + }, + "iortcw": { + "1": 4.1415298811e-05, + "2": 0.000135889535674, + "3": 0.000152375147613, + "4": 0.000404378965624, + "5": 5.86125854e-06, + "6": 6.6344450366e-05, + "7": 3.0784392752e-05, + "8": 6.1447785918e-05, + "9": 6.7027008002e-05 + }, + "iosas": { + "2": 8.31976749e-06, + "3": 1.2697928968e-05, + "4": 6.253282974e-06 + }, + "itta": { + "2": 4.1598837451e-05, + "3": 1.2697928968e-05, + "4": 1.1464352118e-05 + }, + "jazz2": { + "1": 6.902549802e-06, + "2": 1.663953498e-05, + "3": 3.8093786903e-05, + "4": 0.000110474665866 + }, + "jediacademy": { + "1": 6.2122948217e-05, + "2": 9.4290698223e-05, + "3": 0.000152375147613, + "4": 0.000338719494401, + "5": 7.294010627e-06, + "6": 0.000108151713548, + "7": 2.767918444e-05, + "8": 9.7070545553e-05, + "9": 0.000120467460329 + }, + "jedioutcast": { + "1": 2.7610199208e-05, + "2": 0.000110930233203, + "3": 0.000126979289678, + "4": 0.00026263788489, + "5": 2.735253985e-06, + "6": 3.6104718286e-05, + "7": 2.1843534335e-05, + "8": 3.4140935403e-05, + "9": 0.000108433653873 + }, + "jetlancer": { + "2": 1.386627915e-05, + "3": 1.2697928968e-05, + "4": 3.126641487e-06, + "9": 6.7673986844e-05 + }, + "jetsetwilly": { + "1": 6.902549802e-06, + "4": 1.0422138289e-05 + }, + "jumpnbump": { + "4": 3.126641487e-06 + }, + "kaijubigbattel": { + "2": 2.77325583e-06, + "4": 1.042213829e-06 + }, + "kaima": { + "4": 1.042213829e-06 + }, + "kanon": { + "2": 1.9412790811e-05, + "3": 1.2697928968e-05, + "4": 6.253282974e-06 + }, + "kenslabyrinth": { + "4": 6.253282974e-06 + }, + "kleebuucravesfruitsalad": { + "4": 1.042213829e-06 + }, + "la-mulana": { + "2": 4.4372093281e-05, + "3": 6.3489644839e-05, + "4": 1.7717635092e-05, + "5": 1.823502657e-06, + "6": 1.6697256645e-05, + "7": 2.6608422953e-05, + "8": 1.8062036653e-05 + }, + "labyrinthoflegendaryloot": { + "4": 1.042213829e-06 + }, + "lastmission": { + "2": 2.77325583e-06 + }, + "lbreakouthd": { + "3": 1.2697928968e-05 + }, + "leapyear": { + "1": 1.3805099604e-05, + "2": 2.77325583e-06, + "3": 1.2697928968e-05, + "4": 4.168855316e-06, + "9": 0.000151677719653 + }, + "leftdeadspace": { + "1": 6.902549802e-06 + }, + "legbreaker": { + "2": 8.31976749e-06 + }, + "lierolibre": { + "2": 2.77325583e-06, + "4": 2.0844276579e-05 + }, + "liltanks": { + "4": 1.042213829e-06 + }, + "lisathehopeful": { + "2": 8.31976749e-06, + "4": 3.126641487e-06 + }, + "lisathejoyful": { + "2": 2.2186046641e-05, + "3": 1.2697928968e-05, + "4": 3.5435270184e-05, + "9": 6.7466953615e-05 + }, + "lisathepainful": { + "1": 7.5928047821e-05, + "2": 0.000241273257217, + "3": 0.000152375147613, + "4": 0.000113601307353, + "5": 2.865504175e-06, + "6": 0.00011839406555, + "7": 3.4157291436e-05, + "8": 0.000106794556306, + "9": 0.000206023942358 + }, + "lisathepointless": { + "4": 2.084427658e-06 + }, + "lisathetimeless": { + "2": 2.77325583e-06, + "4": 1.042213829e-06 + }, + "lisatheundone": { + "3": 1.2697928968e-05 + }, + "littlebusters": { + "1": 2.7610199208e-05, + "2": 4.9918604941e-05, + "3": 5.0791715871e-05, + "4": 1.1464352118e-05 + }, + "littlerunmo": { + "4": 1.042213829e-06 + }, + "locust": { + "2": 2.77325583e-06, + "4": 1.042213829e-06 + }, + "loderunneronline": { + "1": 6.902549802e-06, + "2": 5.54651166e-06 + }, + "lostpotato": { + "2": 2.77325583e-06, + "4": 1.042213829e-06 + }, + "love3": { + "2": 2.77325583e-06, + "4": 1.042213829e-06 + }, + "luck.be.a.landlord": { + "1": 6.902549802e-06, + "2": 5.54651166e-06, + "3": 1.2697928968e-05, + "4": 1.1464352118e-05, + "5": 2.7613040232e-05, + "6": 8.3776967673e-05, + "7": 3.6727119005e-05, + "8": 7.7298144613e-05, + "9": 0.000211872631087 + }, + "lugaruhd": { + "2": 2.77325583e-06, + "4": 9.37992446e-06, + "5": 1.3025019e-07, + "6": 3.650654679e-06, + "7": 5.889188179e-06, + "8": 3.958903544e-06 + }, + "lunarlux": { + "2": 1.386627915e-05, + "4": 3.126641487e-06 + }, + "mableandthewood": { + "2": 8.31976749e-06, + "4": 4.168855316e-06 + }, + "magicvigilante": { + "2": 2.77325583e-06 + }, + "magnibox": { + "3": 1.2697928968e-05, + "4": 1.042213829e-06 + }, + "mago": { + "2": 5.54651166e-06, + "4": 2.084427658e-06 + }, + "maldita.castilla": { + "4": 2.084427658e-06 + }, + "manicminer": { + "1": 1.3805099604e-05, + "4": 1.4590993605e-05 + }, + "meanderland": { + "4": 1.042213829e-06 + }, + "megazeux": { + "1": 6.902549802e-06 + }, + "mercenarykings": { + "2": 1.109302332e-05, + "4": 6.253282974e-06 + }, + "mightymike": { + "4": 1.042213829e-06 + }, + "mindustry": { + "1": 5.5220398415e-05, + "2": 2.2186046641e-05, + "3": 7.6187573807e-05, + "4": 2.5013131894e-05, + "5": 6.9944351909e-05, + "6": 0.000175496460395, + "7": 4.7595348098e-05, + "8": 0.000157884317123, + "9": 0.000191764528686 + }, + "minidoom": { + "2": 2.77325583e-06 + }, + "minidoom2": { + "2": 2.77325583e-06 + }, + "minit": { + "1": 6.902549802e-06, + "2": 0.000124796512353, + "3": 7.6187573807e-05, + "4": 0.000160500929655, + "5": 5.21000759e-07, + "6": 1.9817839684e-05, + "7": 1.4776508521e-05, + "8": 1.9123642072e-05 + }, + "mire": { + "4": 1.042213829e-06 + }, + "monolith": { + "1": 2.0707649406e-05, + "2": 1.109302332e-05, + "4": 3.126641487e-06, + "9": 0.000216427362133 + }, + "moonleap": { + "2": 2.77325583e-06, + "4": 5.211069145e-06 + }, + "mslugsbf": { + "1": 4.1415298811e-05 + }, + "mystikbelle": { + "2": 8.31976749e-06, + "4": 1.042213829e-06 + }, + "nanosaur": { + "4": 5.211069145e-06 + }, + "nanosaur2": { + "2": 2.77325583e-06, + "4": 2.084427658e-06 + }, + "nebulus": { + "1": 6.902549802e-06, + "2": 5.54651166e-06, + "4": 1.980206275e-05 + }, + "neoncityriders": { + "2": 2.77325583e-06 + }, + "neverball": { + "3": 1.2697928968e-05, + "4": 4.168855316e-06 + }, + "nextdoor": { + "2": 2.77325583e-06, + "4": 1.042213829e-06 + }, + "nfs2se": { + "1": 1.3805099604e-05, + "2": 3.6052325791e-05, + "3": 5.0791715871e-05, + "4": 0.000182387420062 + }, + "nidhogg": { + "2": 2.2186046641e-05, + "3": 2.5395857936e-05, + "4": 0.000104221382893, + "5": 1.302501898e-06, + "6": 5.8889249243e-05, + "7": 4.1277855325e-05, + "8": 5.6464138254e-05, + "9": 0.000132423629324 + }, + "noparachute": { + "3": 1.2697928968e-05 + }, + "nulldrifter": { + "2": 2.77325583e-06 + }, + "nuvie": { + "1": 6.902549802e-06, + "2": 1.9412790811e-05, + "4": 2.5013131894e-05 + }, + "oceansheart": { + "1": 6.902549802e-06, + "2": 3.3279069961e-05, + "3": 2.5395857936e-05, + "4": 8.337710631e-06, + "5": 2.6050038e-07, + "6": 9.40449683e-06, + "7": 1.2634985547e-05, + "8": 9.849339171e-06, + "9": 5.8461008138e-05 + }, + "oddworld": { + "1": 4.8317848613e-05, + "2": 0.000130343024014, + "3": 0.00011428136071, + "4": 0.0002522157466, + "5": 5.21000759e-07, + "6": 3.1573460722e-05, + "7": 3.3943139139e-05, + "8": 3.1899768406e-05 + }, + "ohmygodlookatthisknight": { + "2": 2.77325583e-06, + "4": 3.126641487e-06, + "5": 1.3025019e-07, + "6": 1.6910995209e-05, + "7": 4.871964766e-06, + "8": 1.5253205647e-05 + }, + "omegastrike": { + "4": 3.126641487e-06 + }, + "onenighthotsprings": { + "2": 1.386627915e-05, + "3": 2.5395857936e-05, + "4": 2.6055345723e-05, + "5": 2.6050038e-07, + "6": 2.3246206256e-05, + "7": 6.906411591e-06, + "8": 2.0996196076e-05 + }, + "openclaw": { + "1": 6.902549802e-06, + "2": 2.2186046641e-05, + "3": 5.0791715871e-05, + "4": 5.4195119104e-05 + }, + "openenroth": { + "1": 2.7610199208e-05, + "2": 1.386627915e-05, + "3": 2.5395857936e-05, + "4": 2.3970918065e-05 + }, + "openfodder": { + "1": 2.0707649406e-05, + "2": 2.4959302471e-05, + "3": 1.2697928968e-05, + "4": 5.2110691446e-05 + }, + "openggs": { + "3": 1.2697928968e-05, + "4": 2.7097559552e-05 + }, + "openhexagon": { + "2": 2.77325583e-06 + }, + "openjazz": { + "1": 2.7610199208e-05, + "2": 1.109302332e-05, + "3": 1.2697928968e-05, + "4": 7.7123823341e-05 + }, + "openmohaa": { + "2": 8.31976749e-06, + "3": 2.5395857936e-05, + "4": 1.0422138289e-05 + }, + "opennotrium": { + "2": 2.77325583e-06 + }, + "openomf": { + "2": 2.77325583e-06, + "4": 1.3548779776e-05 + }, + "openrct2": { + "1": 4.1415298811e-05, + "2": 3.3279069961e-05, + "3": 1.2697928968e-05, + "4": 0.000144867722221 + }, + "opensupaplex": { + "1": 6.902549802e-06, + "3": 2.5395857936e-05, + "4": 2.5013131894e-05 + }, + "opensyobon": { + "1": 1.3805099604e-05, + "4": 1.5633207434e-05 + }, + "openttd": { + "1": 2.0707649406e-05, + "2": 2.2186046641e-05, + "3": 0.000126979289678, + "4": 4.6899622302e-05, + "5": 6.5515845457e-05, + "6": 0.000115837752321, + "7": 2.8964098224e-05, + "8": 0.000103875141402 + }, + "opentyrian": { + "2": 8.31976749e-06, + "3": 1.2697928968e-05, + "4": 1.6675421263e-05 + }, + "opentyrian2000": { + "2": 1.9412790811e-05, + "3": 3.8093786903e-05, + "4": 1.4590993605e-05 + }, + "openxcom": { + "1": 3.4512749009e-05, + "2": 6.3784884092e-05, + "3": 1.2697928968e-05, + "4": 0.000101094741406, + "5": 4.558756642e-06, + "6": 3.0496218358e-05, + "7": 1.0493462573e-05, + "8": 2.7741813846e-05 + }, + "operius": { + "1": 6.902549802e-06 + }, + "oquonie": { + "2": 2.77325583e-06 + }, + "ottomatic": { + "4": 1.042213829e-06 + }, + "owlboy": { + "2": 0.000266232559687, + "3": 0.000177771005549, + "4": 0.000134445583932, + "5": 6.51250949e-07, + "6": 4.1858560437e-05, + "7": 5.0593480262e-05, + "8": 4.3061369832e-05, + "9": 0.000154498547403 + }, + "pacman": { + "1": 0.000124245896434, + "2": 2.4959302471e-05, + "3": 2.5395857936e-05, + "4": 0.000269933381692 + }, + "panzerpaladin": { + "1": 6.902549802e-06, + "2": 4.9918604941e-05, + "4": 4.168855316e-06 + }, + "parsec47": { + "4": 1.042213829e-06 + }, + "passage": { + "2": 5.54651166e-06, + "4": 5.211069145e-06 + }, + "pekka-kana-2": { + "2": 2.77325583e-06, + "3": 1.2697928968e-05, + "4": 5.211069145e-06 + }, + "perfectdark": { + "1": 2.0707649406e-05, + "2": 0.000174715117295, + "3": 3.8093786903e-05, + "4": 0.000142783294563 + }, + "pigeon": { + "4": 3.126641487e-06 + }, + "pingus": { + "1": 6.902549802e-06, + "3": 1.2697928968e-05, + "4": 1.042213829e-06 + }, + "planetarian": { + "2": 1.386627915e-05, + "4": 1.0422138289e-05 + }, + "pleasedonttouchanything": { + "1": 1.3805099604e-05, + "2": 2.4959302471e-05, + "3": 1.2697928968e-05, + "4": 3.856191167e-05, + "5": 6.51250949e-07, + "6": 3.9729724337e-05, + "7": 3.2336996908e-05, + "8": 3.8711736515e-05, + "9": 0.000119691085718 + }, + "plumberssdl": { + "1": 6.902549802e-06, + "2": 5.54651166e-06, + "4": 8.337710631e-06 + }, + "plunderislands": { + "2": 2.77325583e-06 + }, + "postvoid": { + "2": 4.7145349111e-05, + "3": 5.0791715871e-05, + "4": 2.8139773381e-05, + "5": 7.81501139e-07, + "6": 8.9205927206e-05, + "7": 1.6275574603e-05, + "8": 7.9163326357e-05, + "9": 7.6369382477e-05 + }, + "powder": { + "2": 2.77325583e-06, + "3": 1.2697928968e-05, + "4": 2.084427658e-06 + }, + "prehistorik.2": { + "1": 6.902549802e-06, + "4": 4.2730766986e-05 + }, + "prisnhax": { + "1": 6.902549802e-06 + }, + "profadeluxe": { + "4": 2.084427658e-06 + }, + "psebay": { + "4": 3.126641487e-06 + }, + "pulstario": { + "2": 2.77325583e-06 + }, + "quake.2": { + "2": 2.77325583e-06, + "4": 5.211069145e-06 + }, + "quake3": { + "1": 4.1415298811e-05, + "2": 0.000108156977373, + "3": 0.00022856272142, + "4": 0.000376239192243, + "5": 2.605003795e-06, + "6": 3.0385074304e-05, + "7": 8.24486345e-06, + "8": 2.7336339554e-05, + "9": 2.2411347077e-05 + }, + "quakespasm": { + "1": 1.3805099604e-05, + "2": 0.000177488373125, + "3": 0.000215864792452, + "4": 0.000367901481611, + "5": 9.768764233e-06, + "6": 0.000117564759921, + "7": 2.5377047242e-05, + "8": 0.000104870396483, + "9": 0.000110892173471 + }, + "ragingblasters": { + "2": 2.77325583e-06 + }, + "rakuen": { + "2": 6.1011628262e-05, + "3": 2.5395857936e-05, + "4": 2.7097559552e-05, + "5": 2.6050038e-07, + "6": 4.7911636579e-05, + "7": 1.1510685985e-05, + "8": 4.2899180115e-05 + }, + "raptor": { + "1": 2.0707649406e-05, + "2": 5.54651166e-06, + "4": 2.3970918065e-05 + }, + "ravenshike": { + "2": 2.77325583e-06, + "3": 1.2697928968e-05 + }, + "rawgl": { + "1": 4.1415298811e-05, + "2": 0.000122023256523, + "3": 1.2697928968e-05, + "4": 0.000217822690246 + }, + "redneck.rampage": { + "2": 3.3279069961e-05, + "3": 1.2697928968e-05, + "4": 2.5013131894e-05, + "9": 1.3353643293e-05 + }, + "redneck.rampage.rides.again": { + "2": 1.109302332e-05, + "4": 2.084427658e-06 + }, + "redo": { + "2": 1.386627915e-05, + "3": 1.2697928968e-05, + "4": 1.042213829e-06 + }, + "relichunters": { + "2": 2.77325583e-06, + "3": 1.2697928968e-05, + "4": 3.126641487e-06 + }, + "reminiscence": { + "1": 6.902549802e-06, + "2": 1.386627915e-05, + "3": 1.2697928968e-05, + "4": 8.337710631e-06 + }, + "render96ex": { + "1": 0.00028990709168, + "2": 0.000280098838838, + "3": 0.000584104732518, + "4": 0.001502872341313 + }, + "rick.dangerous": { + "2": 5.54651166e-06, + "3": 1.2697928968e-05, + "4": 1.5633207434e-05 + }, + "rigelengine": { + "1": 2.7610199208e-05, + "2": 2.2186046641e-05, + "4": 4.2730766986e-05 + }, + "riskofrain": { + "1": 2.0707649406e-05, + "2": 8.0424419072e-05, + "3": 6.3489644839e-05, + "4": 0.000141741080734, + "5": 2.344503416e-06, + "6": 0.000236164014493, + "7": 0.000104613397282, + "8": 0.000218049329825, + "9": 0.000126885490438 + }, + "rite": { + "2": 2.77325583e-06, + "3": 1.2697928968e-05, + "4": 3.126641487e-06 + }, + "roguelight": { + "2": 2.77325583e-06, + "3": 1.2697928968e-05, + "4": 3.126641487e-06 + }, + "rota": { + "4": 1.042213829e-06 + }, + "rott": { + "2": 3.3279069961e-05, + "3": 1.2697928968e-05, + "4": 3.2308628697e-05 + }, + "rrootage": { + "2": 2.77325583e-06 + }, + "russiansubwaydogs": { + "2": 8.31976749e-06 + }, + "rvgl": { + "1": 2.7610199208e-05, + "2": 2.2186046641e-05, + "3": 5.0791715871e-05, + "4": 0.000115685735011, + "5": 1.302501898e-06, + "6": 1.0131207949e-05, + "7": 5.942726253e-06, + "8": 9.554448776e-06, + "9": 0.000103930681134 + }, + "savant": { + "2": 1.663953498e-05, + "4": 1.1464352118e-05, + "5": 1.3025019e-07, + "6": 2.2092018009e-05, + "7": 1.1724838283e-05, + "8": 2.0664444382e-05 + }, + "sawa": { + "4": 8.337710631e-06, + "5": 0.0, + "6": 1.5671311536e-05, + "7": 4.818426692e-06, + "8": 1.4176855707e-05 + }, + "sdlbomber": { + "3": 1.2697928968e-05, + "4": 1.5633207434e-05 + }, + "sdlpal": { + "1": 6.902549802e-06, + "2": 5.54651166e-06, + "4": 9.37992446e-06, + "5": 8.987263094e-06, + "6": 3.0744155092e-05, + "7": 5.300269361e-06, + "8": 2.7240500176e-05, + "9": 5.6416554998e-05 + }, + "sdlsopwith": { + "2": 2.77325583e-06 + }, + "serioussam-tfe": { + "1": 2.0707649406e-05, + "2": 5.5465116602e-05, + "3": 3.8093786903e-05, + "4": 0.000226160400877, + "5": 1.432752088e-06, + "6": 2.5409240527e-05, + "7": 6.745797368e-06, + "8": 2.2839261041e-05 + }, + "serioussam-tse": { + "1": 3.4512749009e-05, + "2": 3.6052325791e-05, + "3": 2.5395857936e-05, + "4": 0.000167796426457, + "5": 2.214253226e-06, + "6": 1.4995897673e-05, + "7": 3.854741353e-06, + "8": 1.3461746501e-05 + }, + "sevenkingdoms": { + "2": 8.31976749e-06 + }, + "shadow.warrior": { + "1": 4.8317848613e-05, + "2": 6.3784884092e-05, + "3": 0.000101583431742, + "4": 7.6081609512e-05 + }, + "shatteredpixeldungeon": { + "1": 2.0707649406e-05, + "2": 2.77325583e-06, + "3": 3.8093786903e-05, + "4": 6.253282974e-06, + "5": 1.2764518598e-05, + "6": 1.2619124838e-05, + "7": 3.908279428e-06, + "8": 1.141963052e-05, + "9": 9.9143037705e-05 + }, + "shovel.knight": { + "1": 1.3805099604e-05, + "2": 0.000141436047334, + "3": 0.000152375147613, + "4": 0.000110474665866, + "5": 5.86125854e-06, + "6": 0.000131363721634, + "7": 3.592404789e-05, + "8": 0.000118221559086, + "9": 0.000175745332565 + }, + "shovelknightpocketdungeon": { + "2": 5.54651166e-06, + "3": 1.2697928968e-05, + "4": 3.126641487e-06, + "5": 6.51250949e-07, + "6": 3.915690498e-06, + "7": 2.409213346e-06, + "8": 3.708246709e-06 + }, + "shrubnaut": { + "3": 1.2697928968e-05 + }, + "simutrans": { + "2": 2.77325583e-06, + "3": 1.2697928968e-05, + "4": 6.253282974e-06, + "5": 2.605003795e-06, + "6": 3.958438211e-06, + "7": 8.084249227e-06, + "8": 4.526567553e-06 + }, + "skeletonboomerang": { + "2": 2.77325583e-06 + }, + "skifree": { + "2": 2.77325583e-06, + "4": 3.0224201039e-05 + }, + "skijump3": { + "2": 2.77325583e-06 + }, + "sm": { + "1": 0.00011044079683, + "2": 0.000402122095361, + "3": 0.000317448224195, + "4": 0.000773322661064 + }, + "smworld": { + "1": 0.000213979043859, + "2": 0.000271779071348, + "3": 0.000520615087679, + "4": 0.001525801045549 + }, + "snkrx": { + "3": 1.2697928968e-05, + "4": 8.337710631e-06, + "5": 1.302501898e-06, + "6": 3.4360611601e-05, + "7": 1.2153142878e-05, + "8": 3.1302615358e-05 + }, + "snout": { + "4": 1.042213829e-06 + }, + "soh": { + "1": 0.000186368844651, + "2": 0.000493639537754, + "3": 0.00068568816426, + "4": 0.001434086228603 + }, + "soh2": { + "1": 6.2122948217e-05, + "2": 0.000382709304551, + "3": 0.000368239940066, + "4": 0.000688903340921 + }, + "sokobos": { + "3": 1.2697928968e-05, + "4": 1.042213829e-06 + }, + "sonic.2": { + "1": 8.2830597623e-05, + "2": 8.8744186562e-05, + "3": 7.6187573807e-05, + "4": 0.000492967141082 + }, + "sonic.cd": { + "1": 2.7610199208e-05, + "2": 3.8825581621e-05, + "3": 2.5395857936e-05, + "4": 0.000151121005194, + "5": 2.6050038e-07, + "6": 4.1439632851e-05, + "7": 3.0463164306e-05, + "8": 3.9928159392e-05 + }, + "sonic.mania": { + "1": 4.8317848613e-05, + "2": 0.000238500001387, + "3": 0.000507917158711, + "4": 0.000322044073138, + "5": 9.768764233e-06, + "6": 0.000207104119288, + "7": 8.6999370821e-05, + "8": 0.000190565545074, + "9": 0.00019362782775 + }, + "sonic3air": { + "1": 3.4512749009e-05, + "2": 5.54651166e-06, + "4": 5.211069145e-06 + }, + "sonic3sms": { + "1": 0.000276101992076 + }, + "sonictimetwisted": { + "2": 5.54651166e-06 + }, + "sonictt16b": { + "1": 1.3805099604e-05, + "2": 5.54651166e-06, + "4": 2.084427658e-06 + }, + "sorr": { + "1": 3.4512749009e-05, + "2": 1.9412790811e-05, + "3": 2.5395857936e-05, + "4": 1.8759848921e-05 + }, + "space.cadet.pinball": { + "1": 4.1415298811e-05, + "3": 1.2697928968e-05, + "4": 6.6701685051e-05 + }, + "spacegladiators": { + "2": 2.77325583e-06, + "3": 1.2697928968e-05, + "4": 1.042213829e-06 + }, + "spelunky": { + "2": 4.1598837451e-05, + "3": 3.8093786903e-05, + "4": 4.6899622302e-05 + }, + "spinch": { + "2": 2.2186046641e-05, + "4": 6.253282974e-06 + }, + "spooky": { + "4": 2.084427658e-06 + }, + "srb2": { + "1": 6.902549802e-06, + "2": 8.31976749e-06, + "3": 3.8093786903e-05, + "4": 1.7717635092e-05 + }, + "srb2kart": { + "2": 5.54651166e-06, + "3": 3.8093786903e-05, + "4": 1.980206275e-05 + }, + "starbound": { + "1": 8.2830597623e-05, + "2": 0.000130343024014, + "3": 0.000177771005549, + "4": 0.000179260778575, + "5": 0.000130380439964, + "6": 0.001299701461943, + "7": 0.000679719391962, + "8": 0.0012143291548, + "9": 0.000230790292419 + }, + "stardewvalley": { + "1": 0.000331322390491, + "2": 0.000557424421845, + "3": 0.003237971886785, + "4": 0.001450761649866, + "5": 0.013577931033046, + "6": 0.007311064385391, + "7": 0.000727850120803, + "8": 0.006404547540158, + "9": 0.0002504066909 + }, + "starfighter": { + "4": 1.042213829e-06 + }, + "steelassault": { + "1": 6.902549802e-06, + "2": 3.3279069961e-05, + "4": 7.295496802e-06 + }, + "strangeadventures": { + "2": 2.77325583e-06 + }, + "strikeysisters": { + "2": 1.663953498e-05, + "4": 6.253282974e-06 + }, + "sulka": { + "4": 4.168855316e-06 + }, + "super.mario.war": { + "1": 2.7610199208e-05, + "2": 5.54651166e-06, + "4": 2.084427658e-06 + }, + "supercratebox": { + "2": 8.31976749e-06, + "3": 1.2697928968e-05, + "4": 1.8759848921e-05, + "5": 3.90750569e-07, + "6": 4.9305212018e-05, + "7": 3.838679931e-05, + "8": 4.780173292e-05 + }, + "superglitter": { + "2": 5.54651166e-06 + }, + "superhexagon": { + "1": 6.902549802e-06, + "2": 3.0505814131e-05, + "3": 3.8093786903e-05, + "4": 0.000105263596722, + "5": 1.563002277e-06, + "6": 0.000204017734419, + "7": 4.1117241102e-05, + "8": 0.000181586132567 + }, + "supermeatboy": { + "1": 4.8317848613e-05, + "2": 0.000166395349805, + "3": 0.000482521300776, + "4": 0.000593019668659, + "5": 5.86125854e-06, + "6": 0.000285956550438, + "7": 0.000102418336234, + "8": 0.000260683108585, + "9": 0.000134545719924 + }, + "supermegazero": { + "2": 2.77325583e-06 + }, + "superraftboatclassic": { + "4": 3.126641487e-06, + "5": 0.0, + "6": 7.403903868e-06, + "7": 3.426436758e-06, + "8": 6.856201668e-06 + }, + "superskelemania": { + "2": 5.54651166e-06, + "4": 3.126641487e-06 + }, + "superstarpath": { + "4": 1.042213829e-06, + "5": 0.0, + "6": 2.744403166e-06, + "7": 3.801203279e-06, + "8": 2.889925864e-06 + }, + "supertux": { + "2": 5.54651166e-06, + "3": 7.6187573807e-05, + "4": 1.7717635092e-05 + }, + "supertuxkart": { + "3": 6.3489644839e-05, + "4": 1.3548779776e-05 + }, + "tamashii": { + "2": 5.54651166e-06, + "3": 1.2697928968e-05, + "4": 3.126641487e-06 + }, + "thextech": { + "1": 2.0707649406e-05, + "2": 1.109302332e-05, + "3": 1.2697928968e-05, + "4": 9.37992446e-06 + }, + "thysword": { + "1": 6.902549802e-06, + "4": 2.084427658e-06 + }, + "timespinner": { + "1": 1.3805099604e-05, + "2": 8.3197674902e-05, + "3": 3.8093786903e-05, + "4": 4.5857408473e-05, + "5": 6.51250949e-07, + "6": 2.1108820613e-05, + "7": 2.1950610484e-05, + "8": 2.1224736132e-05, + "9": 2.5982670284e-05 + }, + "tmntsr": { + "1": 4.8317848613e-05, + "2": 0.000188581396445, + "3": 0.000215864792452, + "4": 0.000194893986009, + "5": 7.945261576e-06, + "6": 0.000109904369776, + "7": 4.1277855325e-05, + "8": 0.000100454412828, + "9": 0.00022494160369 + }, + "tomb.raider.1": { + "1": 7.5928047821e-05, + "2": 0.000205220931426, + "3": 0.000304750295227, + "4": 0.000478376147477, + "5": 9.11751328e-07, + "6": 3.3078180215e-05, + "7": 3.5335129072e-05, + "8": 3.3388964898e-05 + }, + "tomoyo_after": { + "1": 6.902549802e-06, + "2": 1.109302332e-05 + }, + "topnep": { + "2": 5.54651166e-06, + "9": 0.000205014655365 + }, + "towerfall": { + "1": 6.902549802e-06, + "2": 6.3784884092e-05, + "3": 0.00011428136071, + "4": 9.3799244603e-05, + "5": 1.172251708e-06, + "6": 2.7563725255e-05, + "7": 9.262086863e-06, + "8": 2.5043566738e-05 + }, + "towerfortress": { + "2": 2.77325583e-06, + "3": 1.2697928968e-05, + "4": 1.042213829e-06 + }, + "toziuha": { + "2": 2.77325583e-06 + }, + "trickykeys": { + "4": 2.084427658e-06 + }, + "trickykeys2": { + "4": 1.042213829e-06 + }, + "tsunderswap": { + "2": 2.77325583e-06, + "4": 2.084427658e-06 + }, + "tvruhh": { + "2": 8.31976749e-06, + "4": 2.084427658e-06, + "9": 5.5329630544e-05 + }, + "ubermoshcollection": { + "2": 2.77325583e-06, + "3": 1.2697928968e-05, + "4": 5.211069145e-06, + "5": 1.693252467e-06, + "6": 2.163034271e-05, + "7": 1.6596803049e-05, + "8": 2.0937217997e-05 + }, + "udongeinx": { + "3": 1.2697928968e-05, + "4": 1.042213829e-06 + }, + "ufo50": { + "1": 6.902549802e-06, + "2": 8.0424419072e-05, + "3": 7.6187573807e-05, + "4": 1.7717635092e-05, + "5": 3.8033055414e-05, + "6": 4.9407806529e-05, + "7": 1.3598670885e-05, + "8": 4.4476843724e-05, + "9": 0.000229651609657 + }, + "ultimatetapankaikki": { + "4": 2.084427658e-06 + }, + "undergrave": { + "1": 6.902549802e-06 + }, + "undertale": { + "1": 0.000103538247028, + "2": 0.000754325585781, + "3": 0.000952344672584, + "4": 0.001469521498787, + "5": 0.00036978028877, + "6": 0.002172712353154, + "7": 0.000461819429353, + "8": 0.001937120255816, + "9": 0.000242125361726 + }, + "uqm": { + "4": 5.211069145e-06 + }, + "utyellow": { + "1": 0.000117343346632, + "2": 3.8825581621e-05, + "3": 6.3489644839e-05, + "4": 2.6055345723e-05 + }, + "valhalla": { + "1": 2.0707649406e-05, + "2": 0.000202447675596, + "3": 0.000177771005549, + "4": 0.000154247646681, + "5": 1.732327524e-05, + "6": 0.000300670313206, + "7": 4.94691807e-05, + "8": 0.000266079602802, + "9": 0.000159337949139 + }, + "vanillara": { + "1": 6.9025498019e-05, + "2": 7.7651163242e-05, + "3": 0.000101583431742, + "4": 0.000307453079533 + }, + "vanillatd": { + "1": 3.4512749009e-05, + "2": 8.3197674902e-05, + "3": 6.3489644839e-05, + "4": 0.000240751394482 + }, + "vcmi": { + "1": 8.9733147425e-05, + "2": 6.3784884092e-05, + "3": 0.00011428136071, + "4": 0.000439814235807 + }, + "verticaldropheroeshd": { + "1": 6.902549802e-06, + "2": 2.77325583e-06, + "4": 5.211069145e-06, + "5": 0.0, + "6": 5.069878746e-06, + "7": 7.441792335e-06, + "8": 5.396494216e-06 + }, + "vhr": { + "2": 8.31976749e-06, + "4": 1.042213829e-06, + "9": 0.00019023765862 + }, + "voidpyramid": { + "2": 2.77325583e-06 + }, + "voidstranger": { + "1": 1.3805099604e-05, + "2": 3.6052325791e-05, + "3": 3.8093786903e-05, + "4": 8.337710631e-06, + "5": 7.554511007e-06, + "6": 1.6329626314e-05, + "7": 1.0547000647e-05, + "8": 1.5533351521e-05, + "9": 0.000196396897193 + }, + "vvvvvv": { + "1": 0.00011044079683, + "2": 5.8238372432e-05, + "3": 7.6187573807e-05, + "4": 0.000191767344523, + "5": 1.953752847e-06, + "6": 8.2622779425e-05, + "7": 2.0076777882e-05, + "8": 7.4010116716e-05 + }, + "wakingmars": { + "2": 1.386627915e-05, + "4": 1.6675421263e-05, + "5": 1.3025019e-07, + "6": 9.002668329e-06, + "7": 7.174101963e-06, + "8": 8.750872452e-06 + }, + "widelands": { + "2": 2.77325583e-06, + "4": 2.084427658e-06 + }, + "willyousnail": { + "1": 6.902549802e-06, + "2": 1.386627915e-05, + "3": 1.2697928968e-05, + "4": 3.126641487e-06, + "5": 5.21000759e-07, + "6": 2.2622089648e-05, + "7": 3.801203279e-06, + "8": 2.0030430035e-05 + }, + "wipeout": { + "1": 6.902549802e-06, + "2": 3.6052325791e-05, + "3": 2.5395857936e-05, + "4": 3.856191167e-05 + }, + "wolf3d": { + "1": 6.902549802e-06, + "2": 1.9412790811e-05, + "4": 2.1886490407e-05 + }, + "wordlesdl": { + "2": 2.77325583e-06, + "4": 6.253282974e-06, + "5": 1.563002277e-06, + "6": 4.454311681e-06, + "7": 4.979040915e-06, + "8": 4.526567553e-06 + }, + "world.war.ii.gi": { + "4": 4.168855316e-06 + }, + "worldofgoo": { + "1": 4.8317848613e-05, + "2": 7.7651163242e-05, + "3": 0.000139677218646, + "4": 0.000333508425257, + "5": 7.81501139e-07, + "6": 4.8424609133e-05, + "7": 1.8256483354e-05, + "8": 4.4270420448e-05, + "9": 0.000121373230707 + }, + "wuppo": { + "1": 6.902549802e-06, + "2": 1.663953498e-05, + "3": 3.8093786903e-05, + "4": 1.2506565947e-05, + "5": 1.042001518e-06, + "6": 4.6124782181e-05, + "7": 1.6703879198e-05, + "8": 4.2073487011e-05 + }, + "xmoto": { + "4": 1.042213829e-06 + }, + "youhave10s2023": { + "4": 1.042213829e-06 + }, + "zelda-mercurischest": { + "2": 2.77325583e-06, + "4": 3.126641487e-06 + }, + "zelda-mysteryofsolarusdx": { + "4": 2.084427658e-06 + }, + "zelda-mysteryofsolarusxd": { + "4": 3.126641487e-06 + }, + "zelda-roth-se": { + "4": 1.042213829e-06 + }, + "zelda3": { + "1": 0.000151856095642, + "2": 0.000443720932812, + "3": 0.000736479880132, + "4": 0.001193334834121 + }, + "zelda_roth": { + "1": 6.902549802e-06, + "2": 2.77325583e-06 + }, + "zeldadoi": { + "2": 2.77325583e-06 + }, + "zeroptianinvasion": { + "1": 6.902549802e-06, + "4": 1.042213829e-06 + }, + "zeroranger": { + "1": 1.3805099604e-05, + "2": 2.7732558301e-05, + "3": 2.5395857936e-05, + "4": 9.37992446e-06, + "5": 1.172251708e-06, + "6": 1.4457276491e-05, + "7": 3.854741353e-06, + "8": 1.299729413e-05, + "9": 4.860105059e-05 + }, + "zgloom": { + "1": 6.902549802e-06, + "2": 2.77325583e-06, + "4": 3.126641487e-06 + }, + "ziiaol": { + "1": 3.4512749009e-05, + "2": 0.000130343024014, + "3": 0.000203166863485, + "4": 0.000266806740205 + } + }, + "popularity_types": { + "1": "Visits", + "10": "Most Wishlisted Upcoming", + "2": "Want to Play", + "3": "Playing", + "4": "Played", + "5": "24hr Peak Players", + "6": "Postitive Reviews", + "7": "Negative Reviews", + "8": "Total Reviews", + "9": "Global Top Sellers" + } +} \ No newline at end of file diff --git a/ranked_ports.md b/ranked_ports.md new file mode 100644 index 00000000..f25bbaf0 --- /dev/null +++ b/ranked_ports.md @@ -0,0 +1,275 @@ +# PortMaster Games Ranked by IGDB Popularity + +| Rank | Port Name | Title | Genres | RTR | Score | Metrics | +|------|-----------|-------|--------|-----|-------|--------| +| 1 | stardewvalley | stardewvalley | N/A | ✗ | 0.002237 | Visits: 3.31e-04, Want to Play: 5.57e-04, Playing: 3.24e-03, Played: 1.45e-03, 24hr Peak Players: 1.36e-02, Postitive Reviews: 7.31e-03, Negative Reviews: 7.28e-04, Total Reviews: 6.40e-03, Global Top Sellers: 2.50e-04 | +| 2 | undertale | undertale | N/A | ✗ | 0.000560 | Visits: 1.04e-04, Want to Play: 7.54e-04, Playing: 9.52e-04, Played: 1.47e-03, 24hr Peak Players: 3.70e-04, Postitive Reviews: 2.17e-03, Negative Reviews: 4.62e-04, Total Reviews: 1.94e-03, Global Top Sellers: 2.42e-04 | +| 3 | celeste | celeste | N/A | ✗ | 0.000497 | Visits: 1.86e-04, Want to Play: 8.76e-04, Playing: 1.74e-03, Played: 1.31e-03, 24hr Peak Players: 2.38e-04, Postitive Reviews: 9.80e-04, Negative Reviews: 1.61e-04, Total Reviews: 8.67e-04, Global Top Sellers: 2.32e-04 | +| 4 | zelda3 | zelda3 | N/A | ✗ | 0.000475 | Visits: 1.52e-04, Want to Play: 4.44e-04, Playing: 7.36e-04, Played: 1.19e-03 | +| 5 | half-life | half-life | N/A | ✗ | 0.000448 | Visits: 2.14e-04, Want to Play: 5.52e-04, Playing: 6.86e-04, Played: 2.05e-03, 24hr Peak Players: 9.48e-05, Postitive Reviews: 1.21e-03, Negative Reviews: 2.71e-04, Total Reviews: 1.08e-03, Global Top Sellers: 2.14e-04 | +| 6 | devilutionx | devilutionx | N/A | ✗ | 0.000163 | Visits: 6.21e-05, Want to Play: 2.19e-04, Playing: 1.40e-04, Played: 5.14e-04 | +| 7 | sonic.mania | sonic.mania | N/A | ✗ | 0.000139 | Visits: 4.83e-05, Want to Play: 2.39e-04, Playing: 5.08e-04, Played: 3.22e-04, 24hr Peak Players: 9.77e-06, Postitive Reviews: 2.07e-04, Negative Reviews: 8.70e-05, Total Reviews: 1.91e-04, Global Top Sellers: 1.94e-04 | +| 8 | fallout1 | fallout1 | N/A | ✗ | 0.000133 | Visits: 6.21e-05, Want to Play: 4.52e-04, Playing: 2.79e-04, Played: 4.88e-04, 24hr Peak Players: 1.69e-05, Postitive Reviews: 1.76e-04, Negative Reviews: 6.82e-05, Total Reviews: 1.61e-04, Global Top Sellers: 1.76e-04 | +| 9 | fallout2 | fallout2 | N/A | ✗ | 0.000131 | Visits: 7.59e-05, Want to Play: 5.02e-04, Playing: 2.29e-04, Played: 5.94e-04, 24hr Peak Players: 2.18e-05, Postitive Reviews: 1.23e-04, Negative Reviews: 4.65e-05, Total Reviews: 1.12e-04, Global Top Sellers: 1.53e-04 | +| 10 | sonic.2 | sonic.2 | N/A | ✗ | 0.000131 | Visits: 8.28e-05, Want to Play: 8.87e-05, Playing: 7.62e-05, Played: 4.93e-04 | +| 11 | vcmi | vcmi | N/A | ✗ | 0.000127 | Visits: 8.97e-05, Want to Play: 6.38e-05, Playing: 1.14e-04, Played: 4.40e-04 | +| 12 | gemrb | gemrb | N/A | ✗ | 0.000117 | Visits: 2.76e-05, Want to Play: 2.05e-04, Playing: 1.90e-04, Played: 2.36e-04 | +| 13 | duke.nukem.3d | duke.nukem.3d | N/A | ✗ | 0.000115 | Visits: 7.59e-05, Want to Play: 1.05e-04, Playing: 1.14e-04, Played: 3.60e-04 | +| 14 | tomb.raider.1 | tomb.raider.1 | N/A | ✗ | 0.000103 | Visits: 7.59e-05, Want to Play: 2.05e-04, Playing: 3.05e-04, Played: 4.78e-04, 24hr Peak Players: 9.12e-07, Postitive Reviews: 3.31e-05, Negative Reviews: 3.53e-05, Total Reviews: 3.34e-05 | +| 15 | vanillara | vanillara | N/A | ✗ | 0.000098 | Visits: 6.90e-05, Want to Play: 7.77e-05, Playing: 1.02e-04, Played: 3.07e-04 | +| 16 | valhalla | valhalla | N/A | ✗ | 0.000091 | Visits: 2.07e-05, Want to Play: 2.02e-04, Playing: 1.78e-04, Played: 1.54e-04, 24hr Peak Players: 1.73e-05, Postitive Reviews: 3.01e-04, Negative Reviews: 4.95e-05, Total Reviews: 2.66e-04, Global Top Sellers: 1.59e-04 | +| 17 | quakespasm | quakespasm | N/A | ✗ | 0.000088 | Visits: 1.38e-05, Want to Play: 1.77e-04, Playing: 2.16e-04, Played: 3.68e-04, 24hr Peak Players: 9.77e-06, Postitive Reviews: 1.18e-04, Negative Reviews: 2.54e-05, Total Reviews: 1.05e-04, Global Top Sellers: 1.11e-04 | +| 18 | tmntsr | tmntsr | N/A | ✗ | 0.000084 | Visits: 4.83e-05, Want to Play: 1.89e-04, Playing: 2.16e-04, Played: 1.95e-04, 24hr Peak Players: 7.95e-06, Postitive Reviews: 1.10e-04, Negative Reviews: 4.13e-05, Total Reviews: 1.00e-04, Global Top Sellers: 2.25e-04 | +| 19 | axiom.verge | axiom.verge | N/A | ✗ | 0.000076 | Visits: 2.07e-05, Want to Play: 2.02e-04, Playing: 2.54e-04, Played: 1.74e-04, 24hr Peak Players: 3.26e-06, Postitive Reviews: 4.66e-05, Negative Reviews: 2.89e-05, Total Reviews: 4.42e-05, Global Top Sellers: 1.91e-04 | +| 20 | jediacademy | jediacademy | N/A | ✗ | 0.000076 | Visits: 6.21e-05, Want to Play: 9.43e-05, Playing: 1.52e-04, Played: 3.39e-04, 24hr Peak Players: 7.29e-06, Postitive Reviews: 1.08e-04, Negative Reviews: 2.77e-05, Total Reviews: 9.71e-05, Global Top Sellers: 1.20e-04 | +| 21 | doom3 | doom3 | N/A | ✗ | 0.000075 | Visits: 8.28e-05, Want to Play: 1.33e-04, Playing: 1.40e-04, Played: 4.05e-04, 24hr Peak Players: 2.87e-06, Postitive Reviews: 5.88e-05, Negative Reviews: 4.49e-05, Total Reviews: 5.69e-05 | +| 22 | vanillatd | vanillatd | N/A | ✗ | 0.000074 | Visits: 3.45e-05, Want to Play: 8.32e-05, Playing: 6.35e-05, Played: 2.41e-04 | +| 23 | iortcw | iortcw | N/A | ✗ | 0.000074 | Visits: 4.14e-05, Want to Play: 1.36e-04, Playing: 1.52e-04, Played: 4.04e-04, 24hr Peak Players: 5.86e-06, Postitive Reviews: 6.63e-05, Negative Reviews: 3.08e-05, Total Reviews: 6.14e-05, Global Top Sellers: 6.70e-05 | +| 24 | owlboy | owlboy | N/A | ✗ | 0.000071 | Want to Play: 2.66e-04, Playing: 1.78e-04, Played: 1.34e-04, 24hr Peak Players: 6.51e-07, Postitive Reviews: 4.19e-05, Negative Reviews: 5.06e-05, Total Reviews: 4.31e-05, Global Top Sellers: 1.54e-04 | +| 25 | quake3 | quake3 | N/A | ✗ | 0.000070 | Visits: 4.14e-05, Want to Play: 1.08e-04, Playing: 2.29e-04, Played: 3.76e-04, 24hr Peak Players: 2.61e-06, Postitive Reviews: 3.04e-05, Negative Reviews: 8.24e-06, Total Reviews: 2.73e-05, Global Top Sellers: 2.24e-05 | +| 26 | shovel.knight | shovel.knight | N/A | ✗ | 0.000064 | Visits: 1.38e-05, Want to Play: 1.41e-04, Playing: 1.52e-04, Played: 1.10e-04, 24hr Peak Players: 5.86e-06, Postitive Reviews: 1.31e-04, Negative Reviews: 3.59e-05, Total Reviews: 1.18e-04, Global Top Sellers: 1.76e-04 | +| 27 | domeromantik | domeromantik | N/A | ✗ | 0.000063 | Visits: 1.38e-05, Want to Play: 9.71e-05, Playing: 1.40e-04, Played: 5.32e-05, 24hr Peak Players: 8.30e-05, Postitive Reviews: 1.23e-04, Negative Reviews: 6.54e-05, Total Reviews: 1.15e-04, Global Top Sellers: 2.02e-04 | +| 28 | rawgl | rawgl | N/A | ✗ | 0.000061 | Visits: 4.14e-05, Want to Play: 1.22e-04, Playing: 1.27e-05, Played: 2.18e-04 | +| 29 | jedioutcast | jedioutcast | N/A | ✗ | 0.000057 | Visits: 2.76e-05, Want to Play: 1.11e-04, Playing: 1.27e-04, Played: 2.63e-04, 24hr Peak Players: 2.74e-06, Postitive Reviews: 3.61e-05, Negative Reviews: 2.18e-05, Total Reviews: 3.41e-05, Global Top Sellers: 1.08e-04 | +| 30 | oddworld | oddworld | N/A | ✗ | 0.000052 | Visits: 4.83e-05, Want to Play: 1.30e-04, Playing: 1.14e-04, Played: 2.52e-04, 24hr Peak Players: 5.21e-07, Postitive Reviews: 3.16e-05, Negative Reviews: 3.39e-05, Total Reviews: 3.19e-05 | +| 31 | shadow.warrior | shadow.warrior | N/A | ✗ | 0.000049 | Visits: 4.83e-05, Want to Play: 6.38e-05, Playing: 1.02e-04, Played: 7.61e-05 | +| 32 | invaders | invaders | N/A | ✗ | 0.000049 | Visits: 4.14e-05, Want to Play: 3.33e-05, Played: 1.56e-04 | +| 33 | vvvvvv | vvvvvv | N/A | ✗ | 0.000045 | Visits: 1.10e-04, Want to Play: 5.82e-05, Playing: 7.62e-05, Played: 1.92e-04, 24hr Peak Players: 1.95e-06, Postitive Reviews: 8.26e-05, Negative Reviews: 2.01e-05, Total Reviews: 7.40e-05 | +| 34 | carmageddon | carmageddon | N/A | ✗ | 0.000044 | Visits: 2.76e-05, Want to Play: 3.05e-05, Playing: 1.27e-05, Played: 1.83e-04 | +| 35 | iconoclasts | iconoclasts | N/A | ✗ | 0.000044 | Visits: 1.38e-05, Want to Play: 1.44e-04, Playing: 1.78e-04, Played: 9.80e-05, 24hr Peak Players: 1.30e-06, Postitive Reviews: 3.47e-05, Negative Reviews: 3.36e-05, Total Reviews: 3.45e-05, Global Top Sellers: 4.20e-05 | +| 36 | openttd | openttd | N/A | ✗ | 0.000042 | Visits: 2.07e-05, Want to Play: 2.22e-05, Playing: 1.27e-04, Played: 4.69e-05, 24hr Peak Players: 6.55e-05, Postitive Reviews: 1.16e-04, Negative Reviews: 2.90e-05, Total Reviews: 1.04e-04 | +| 37 | openrct2 | openrct2 | N/A | ✗ | 0.000038 | Visits: 4.14e-05, Want to Play: 3.33e-05, Playing: 1.27e-05, Played: 1.45e-04 | +| 38 | supertuxkart | supertuxkart | N/A | ✗ | 0.000037 | Playing: 6.35e-05, Played: 1.35e-05 | +| 39 | minit | minit | N/A | ✗ | 0.000035 | Visits: 6.90e-06, Want to Play: 1.25e-04, Playing: 7.62e-05, Played: 1.61e-04, 24hr Peak Players: 5.21e-07, Postitive Reviews: 1.98e-05, Negative Reviews: 1.48e-05, Total Reviews: 1.91e-05 | +| 40 | jazz2 | jazz2 | N/A | ✗ | 0.000034 | Visits: 6.90e-06, Want to Play: 1.66e-05, Playing: 3.81e-05, Played: 1.10e-04 | +| 41 | heart.of.darkness | heart.of.darkness | N/A | ✗ | 0.000033 | Visits: 6.90e-06, Want to Play: 9.71e-05, Playing: 2.54e-05, Played: 8.23e-05 | +| 42 | supertux | supertux | N/A | ✗ | 0.000031 | Want to Play: 5.55e-06, Playing: 7.62e-05, Played: 1.77e-05 | +| 43 | spelunky | spelunky | N/A | ✗ | 0.000031 | Want to Play: 4.16e-05, Playing: 3.81e-05, Played: 4.69e-05 | +| 44 | augustus | augustus | N/A | ✗ | 0.000030 | Visits: 6.90e-06, Want to Play: 1.94e-05, Playing: 7.62e-05, Played: 8.96e-05, 24hr Peak Players: 1.51e-05, Postitive Reviews: 1.56e-05, Negative Reviews: 7.98e-06, Total Reviews: 1.45e-05, Global Top Sellers: 1.13e-04 | +| 45 | chasm | chasm | N/A | ✗ | 0.000030 | Visits: 1.24e-04, Want to Play: 9.98e-05, Playing: 1.02e-04, Played: 5.73e-05, 24hr Peak Players: 1.04e-06, Postitive Reviews: 1.54e-05, Negative Reviews: 3.61e-05, Total Reviews: 1.83e-05 | +| 46 | rvgl | rvgl | N/A | ✗ | 0.000028 | Visits: 2.76e-05, Want to Play: 2.22e-05, Playing: 5.08e-05, Played: 1.16e-04, 24hr Peak Players: 1.30e-06, Postitive Reviews: 1.01e-05, Negative Reviews: 5.94e-06, Total Reviews: 9.55e-06, Global Top Sellers: 1.04e-04 | +| 47 | sonic.cd | sonic.cd | N/A | ✗ | 0.000027 | Visits: 2.76e-05, Want to Play: 3.88e-05, Playing: 2.54e-05, Played: 1.51e-04, 24hr Peak Players: 2.61e-07, Postitive Reviews: 4.14e-05, Negative Reviews: 3.05e-05, Total Reviews: 3.99e-05 | +| 48 | openclaw | openclaw | N/A | ✗ | 0.000026 | Visits: 6.90e-06, Want to Play: 2.22e-05, Playing: 5.08e-05, Played: 5.42e-05 | +| 49 | space.cadet.pinball | space.cadet.pinball | N/A | ✗ | 0.000025 | Visits: 4.14e-05, Playing: 1.27e-05, Played: 6.67e-05 | +| 50 | fheroes2 | fheroes2 | N/A | ✗ | 0.000024 | Visits: 6.90e-06, Want to Play: 1.39e-05, Playing: 6.35e-05, Played: 3.23e-05 | +| 51 | 2048 | 2048 | N/A | ✗ | 0.000024 | Visits: 8.97e-05, Want to Play: 8.32e-06, Playing: 2.54e-05, Played: 6.04e-05 | +| 52 | openjazz | openjazz | N/A | ✗ | 0.000021 | Visits: 2.76e-05, Want to Play: 1.11e-05, Playing: 1.27e-05, Played: 7.71e-05 | +| 53 | openxcom | openxcom | N/A | ✗ | 0.000020 | Visits: 3.45e-05, Want to Play: 6.38e-05, Playing: 1.27e-05, Played: 1.01e-04, 24hr Peak Players: 4.56e-06, Postitive Reviews: 3.05e-05, Negative Reviews: 1.05e-05, Total Reviews: 2.77e-05 | +| 54 | srb2kart | srb2kart | N/A | ✗ | 0.000019 | Want to Play: 5.55e-06, Playing: 3.81e-05, Played: 1.98e-05 | +| 55 | prehistorik.2 | prehistorik.2 | N/A | ✗ | 0.000018 | Visits: 6.90e-06, Played: 4.27e-05 | +| 56 | timespinner | timespinner | N/A | ✗ | 0.000018 | Visits: 1.38e-05, Want to Play: 8.32e-05, Playing: 3.81e-05, Played: 4.59e-05, 24hr Peak Players: 6.51e-07, Postitive Reviews: 2.11e-05, Negative Reviews: 2.20e-05, Total Reviews: 2.12e-05, Global Top Sellers: 2.60e-05 | +| 57 | rott | rott | N/A | ✗ | 0.000017 | Want to Play: 3.33e-05, Playing: 1.27e-05, Played: 3.23e-05 | +| 58 | openggs | openggs | N/A | ✗ | 0.000017 | Playing: 1.27e-05, Played: 2.71e-05 | +| 59 | openfodder | openfodder | N/A | ✗ | 0.000017 | Visits: 2.07e-05, Want to Play: 2.50e-05, Playing: 1.27e-05, Played: 5.21e-05 | +| 60 | rigelengine | rigelengine | N/A | ✗ | 0.000016 | Visits: 2.76e-05, Want to Play: 2.22e-05, Played: 4.27e-05 | +| 61 | opensupaplex | opensupaplex | N/A | ✗ | 0.000016 | Visits: 6.90e-06, Playing: 2.54e-05, Played: 2.50e-05 | +| 62 | brogue | brogue | N/A | ✗ | 0.000014 | Playing: 2.54e-05, Played: 4.17e-06 | +| 63 | srb2 | srb2 | N/A | ✗ | 0.000014 | Visits: 6.90e-06, Want to Play: 8.32e-06, Playing: 3.81e-05, Played: 1.77e-05 | +| 64 | redneck.rampage | redneck.rampage | N/A | ✗ | 0.000014 | Want to Play: 3.33e-05, Playing: 1.27e-05, Played: 2.50e-05, Global Top Sellers: 1.34e-05 | +| 65 | alephone-marathon | alephone-marathon | N/A | ✗ | 0.000014 | Visits: 2.07e-05, Want to Play: 2.77e-05, Playing: 2.54e-05, Played: 1.98e-05 | +| 66 | sorr | sorr | N/A | ✗ | 0.000014 | Visits: 3.45e-05, Want to Play: 1.94e-05, Playing: 2.54e-05, Played: 1.88e-05 | +| 67 | exult | exult | N/A | ✗ | 0.000013 | Visits: 2.07e-05, Want to Play: 2.77e-05, Playing: 1.27e-05, Played: 3.23e-05 | +| 68 | hexen2 | hexen2 | N/A | ✗ | 0.000013 | Visits: 1.38e-05, Want to Play: 4.71e-05, Playing: 5.08e-05, Played: 3.44e-05, 24hr Peak Players: 0.00e+00, Postitive Reviews: 3.70e-06, Negative Reviews: 5.89e-06, Total Reviews: 4.00e-06 | +| 69 | exhumed | exhumed | N/A | ✗ | 0.000013 | Want to Play: 3.05e-05, Playing: 6.35e-05, Played: 8.34e-06, 24hr Peak Players: 9.12e-07, Postitive Reviews: 5.91e-06, Negative Reviews: 3.96e-06, Total Reviews: 5.64e-06 | +| 70 | hurrican | hurrican | N/A | ✗ | 0.000013 | Playing: 1.27e-05 | +| 71 | lbreakouthd | lbreakouthd | N/A | ✗ | 0.000013 | Playing: 1.27e-05 | +| 72 | freedom.planet | freedom.planet | N/A | ✗ | 0.000012 | Visits: 6.90e-06, Want to Play: 5.27e-05, Played: 3.13e-05, 24hr Peak Players: 3.91e-07, Postitive Reviews: 3.85e-05, Negative Reviews: 1.25e-05, Total Reviews: 3.49e-05 | +| 73 | abuse | abuse | N/A | ✗ | 0.000012 | Want to Play: 2.22e-05, Playing: 1.27e-05, Played: 1.77e-05 | +| 74 | zeroranger | zeroranger | N/A | ✗ | 0.000011 | Visits: 1.38e-05, Want to Play: 2.77e-05, Playing: 2.54e-05, Played: 9.38e-06, 24hr Peak Players: 1.17e-06, Postitive Reviews: 1.45e-05, Negative Reviews: 3.85e-06, Total Reviews: 1.30e-05, Global Top Sellers: 4.86e-05 | +| 75 | blockout2 | blockout2 | N/A | ✗ | 0.000011 | Visits: 6.90e-06, Played: 2.61e-05 | +| 76 | anodyne | anodyne | N/A | ✗ | 0.000010 | Want to Play: 4.44e-05, Playing: 1.27e-05, Played: 3.65e-05, 24hr Peak Players: 2.61e-07, Postitive Reviews: 1.10e-05, Negative Reviews: 1.27e-05, Total Reviews: 1.12e-05 | +| 77 | alephone-marathon2 | alephone-marathon2 | N/A | ✗ | 0.000010 | Want to Play: 1.39e-05, Playing: 1.27e-05, Played: 1.46e-05 | +| 78 | opentyrian | opentyrian | N/A | ✗ | 0.000010 | Want to Play: 8.32e-06, Playing: 1.27e-05, Played: 1.67e-05 | +| 79 | rick.dangerous | rick.dangerous | N/A | ✗ | 0.000009 | Want to Play: 5.55e-06, Playing: 1.27e-05, Played: 1.56e-05 | +| 80 | daikatana | daikatana | N/A | ✗ | 0.000009 | Visits: 6.90e-06, Want to Play: 3.88e-05, Playing: 1.27e-05, Played: 3.44e-05, 24hr Peak Players: 0.00e+00, Postitive Reviews: 4.80e-06, Negative Reviews: 2.73e-05, Total Reviews: 7.89e-06 | +| 81 | cceleste | cceleste | N/A | ✗ | 0.000009 | Visits: 6.90e-06, Want to Play: 8.32e-06, Played: 2.61e-05 | +| 82 | raptor | raptor | N/A | ✗ | 0.000009 | Visits: 2.07e-05, Want to Play: 5.55e-06, Played: 2.40e-05 | +| 83 | commander.genius | commander.genius | N/A | ✗ | 0.000008 | Visits: 6.90e-06, Played: 2.29e-05, 24hr Peak Players: 7.82e-07, Postitive Reviews: 1.19e-05, Negative Reviews: 5.30e-06, Total Reviews: 1.10e-05, Global Top Sellers: 3.10e-05 | +| 84 | neverball | neverball | N/A | ✗ | 0.000008 | Playing: 1.27e-05, Played: 4.17e-06 | +| 85 | alephone-marathoninfinity | alephone-marathoninfinity | N/A | ✗ | 0.000008 | Want to Play: 1.94e-05, Played: 9.38e-06 | +| 86 | opensyobon | opensyobon | N/A | ✗ | 0.000008 | Visits: 1.38e-05, Played: 1.56e-05 | +| 87 | blues.brothers | blues.brothers | N/A | ✗ | 0.000007 | Visits: 1.38e-05, Want to Play: 2.77e-06, Played: 2.29e-05 | +| 88 | avp | avp | N/A | ✗ | 0.000007 | Visits: 2.76e-05, Want to Play: 1.94e-05, Played: 1.56e-05, 24hr Peak Players: 6.51e-07, Postitive Reviews: 1.96e-05, Negative Reviews: 1.72e-05, Total Reviews: 1.93e-05 | +| 89 | derclou | derclou | N/A | ✗ | 0.000007 | Want to Play: 8.32e-06, Playing: 1.27e-05, Played: 6.25e-06 | +| 90 | spinch | spinch | N/A | ✗ | 0.000007 | Want to Play: 2.22e-05, Played: 6.25e-06 | +| 91 | steelassault | steelassault | N/A | ✗ | 0.000007 | Visits: 6.90e-06, Want to Play: 3.33e-05, Played: 7.30e-06 | +| 92 | fade_to_black | fade_to_black | N/A | ✗ | 0.000007 | Visits: 1.38e-05, Want to Play: 2.22e-05, Played: 1.04e-05 | +| 93 | reminiscence | reminiscence | N/A | ✗ | 0.000007 | Visits: 6.90e-06, Want to Play: 1.39e-05, Playing: 1.27e-05, Played: 8.34e-06 | +| 94 | bermuda_syndrome | bermuda_syndrome | N/A | ✗ | 0.000006 | Want to Play: 5.55e-06, Playing: 1.27e-05, Played: 5.21e-06 | +| 95 | ubermoshcollection | ubermoshcollection | N/A | ✗ | 0.000006 | Want to Play: 2.77e-06, Playing: 1.27e-05, Played: 5.21e-06, 24hr Peak Players: 1.69e-06, Postitive Reviews: 2.16e-05, Negative Reviews: 1.66e-05, Total Reviews: 2.09e-05 | +| 96 | pekka-kana-2 | pekka-kana-2 | N/A | ✗ | 0.000006 | Want to Play: 2.77e-06, Playing: 1.27e-05, Played: 5.21e-06 | +| 97 | openomf | openomf | N/A | ✗ | 0.000006 | Want to Play: 2.77e-06, Played: 1.35e-05 | +| 98 | roguelight | roguelight | N/A | ✗ | 0.000005 | Want to Play: 2.77e-06, Playing: 1.27e-05, Played: 3.13e-06 | +| 99 | powder | powder | N/A | ✗ | 0.000005 | Want to Play: 2.77e-06, Playing: 1.27e-05, Played: 2.08e-06 | +| 100 | blood | blood | N/A | ✗ | 0.000005 | Playing: 1.27e-05, Played: 8.34e-06, 24hr Peak Players: 0.00e+00, Postitive Reviews: 1.05e-05, Negative Reviews: 6.10e-06, Total Reviews: 9.88e-06 | +| 101 | hota | hota | N/A | ✗ | 0.000005 | Played: 6.25e-06 | +| 102 | dungeonsouls | dungeonsouls | N/A | ✗ | 0.000005 | Visits: 6.90e-06, Want to Play: 1.39e-05, Played: 8.34e-06, 24hr Peak Players: 1.30e-07, Postitive Reviews: 1.41e-05, Negative Reviews: 3.12e-05, Total Reviews: 1.64e-05 | +| 103 | bstone-ps | bstone-ps | N/A | ✗ | 0.000005 | Want to Play: 5.55e-06, Playing: 2.54e-05, Played: 8.34e-06, 24hr Peak Players: 0.00e+00, Postitive Reviews: 3.76e-07, Negative Reviews: 8.57e-07, Total Reviews: 4.42e-07 | +| 104 | freeserf | freeserf | N/A | ✗ | 0.000004 | Want to Play: 5.55e-06, Played: 8.34e-06 | +| 105 | bstone-aog | bstone-aog | N/A | ✗ | 0.000004 | Visits: 6.90e-06, Want to Play: 8.32e-06, Playing: 1.27e-05, Played: 1.98e-05, 24hr Peak Players: 0.00e+00, Postitive Reviews: 1.04e-06, Negative Reviews: 1.07e-06, Total Reviews: 1.05e-06 | +| 106 | nanosaur | nanosaur | N/A | ✗ | 0.000004 | Played: 5.21e-06 | +| 107 | uqm | uqm | N/A | ✗ | 0.000004 | Played: 5.21e-06 | +| 108 | bugdom | bugdom | N/A | ✗ | 0.000003 | Want to Play: 2.77e-06, Played: 7.30e-06 | +| 109 | sulka | sulka | N/A | ✗ | 0.000003 | Played: 4.17e-06 | +| 110 | world.war.ii.gi | world.war.ii.gi | N/A | ✗ | 0.000003 | Played: 4.17e-06 | +| 111 | russiansubwaydogs | russiansubwaydogs | N/A | ✗ | 0.000003 | Want to Play: 8.32e-06 | +| 112 | super.mario.war | super.mario.war | N/A | ✗ | 0.000003 | Visits: 2.76e-05, Want to Play: 5.55e-06, Played: 2.08e-06 | +| 113 | redneck.rampage.rides.again | redneck.rampage.rides.again | N/A | ✗ | 0.000003 | Want to Play: 1.11e-05, Played: 2.08e-06 | +| 114 | cosmo-engine | cosmo-engine | N/A | ✗ | 0.000003 | Played: 1.56e-05, 24hr Peak Players: 1.30e-07, Postitive Reviews: 1.02e-06, Negative Reviews: 9.10e-07, Total Reviews: 1.00e-06 | +| 115 | quake.2 | quake.2 | N/A | ✗ | 0.000003 | Want to Play: 2.77e-06, Played: 5.21e-06 | +| 116 | donut.dodo | donut.dodo | N/A | ✗ | 0.000003 | Played: 3.13e-06 | +| 117 | pigeon | pigeon | N/A | ✗ | 0.000003 | Played: 3.13e-06 | +| 118 | psebay | psebay | N/A | ✗ | 0.000003 | Played: 3.13e-06 | +| 119 | wordlesdl | wordlesdl | N/A | ✗ | 0.000002 | Want to Play: 2.77e-06, Played: 6.25e-06, 24hr Peak Players: 1.56e-06, Postitive Reviews: 4.45e-06, Negative Reviews: 4.98e-06, Total Reviews: 4.53e-06 | +| 120 | colorlines | colorlines | N/A | ✗ | 0.000002 | Want to Play: 2.77e-06, Played: 3.13e-06 | +| 121 | c-dogs | c-dogs | N/A | ✗ | 0.000002 | Played: 2.08e-06 | +| 122 | dinothawr | dinothawr | N/A | ✗ | 0.000002 | Played: 2.08e-06 | +| 123 | droid7 | droid7 | N/A | ✗ | 0.000002 | Played: 2.08e-06 | +| 124 | hoverboard | hoverboard | N/A | ✗ | 0.000002 | Played: 2.08e-06 | +| 125 | maldita.castilla | maldita.castilla | N/A | ✗ | 0.000002 | Played: 2.08e-06 | +| 126 | profadeluxe | profadeluxe | N/A | ✗ | 0.000002 | Played: 2.08e-06 | +| 127 | spooky | spooky | N/A | ✗ | 0.000002 | Played: 2.08e-06 | +| 128 | ultimatetapankaikki | ultimatetapankaikki | N/A | ✗ | 0.000002 | Played: 2.08e-06 | +| 129 | zgloom | zgloom | N/A | ✗ | 0.000002 | Visits: 6.90e-06, Want to Play: 2.77e-06, Played: 3.13e-06 | +| 130 | nanosaur2 | nanosaur2 | N/A | ✗ | 0.000001 | Want to Play: 2.77e-06, Played: 2.08e-06 | +| 131 | magicvigilante | magicvigilante | N/A | ✗ | 0.000001 | Want to Play: 2.77e-06 | +| 132 | neoncityriders | neoncityriders | N/A | ✗ | 0.000001 | Want to Play: 2.77e-06 | +| 133 | sdlsopwith | sdlsopwith | N/A | ✗ | 0.000001 | Want to Play: 2.77e-06 | +| 134 | skijump3 | skijump3 | N/A | ✗ | 0.000001 | Want to Play: 2.77e-06 | +| 135 | hydorah | hydorah | N/A | ✗ | 0.000001 | Want to Play: 2.77e-06, Played: 1.04e-06 | +| 136 | infra_arcana | infra_arcana | N/A | ✗ | 0.000001 | Want to Play: 2.77e-06, Played: 1.04e-06 | +| 137 | apocrunner | apocrunner | N/A | ✗ | 0.000001 | Played: 1.04e-06 | +| 138 | bbja | bbja | N/A | ✗ | 0.000001 | Played: 1.04e-06 | +| 139 | billyfrontier | billyfrontier | N/A | ✗ | 0.000001 | Played: 1.04e-06 | +| 140 | blobwars | blobwars | N/A | ✗ | 0.000001 | Played: 1.04e-06 | +| 141 | bzflag | bzflag | N/A | ✗ | 0.000001 | Played: 1.04e-06 | +| 142 | cromagrally | cromagrally | N/A | ✗ | 0.000001 | Played: 1.04e-06 | +| 143 | firearrow | firearrow | N/A | ✗ | 0.000001 | Played: 1.04e-06 | +| 144 | mightymike | mightymike | N/A | ✗ | 0.000001 | Played: 1.04e-06 | +| 145 | ottomatic | ottomatic | N/A | ✗ | 0.000001 | Played: 1.04e-06 | +| 146 | rota | rota | N/A | ✗ | 0.000001 | Played: 1.04e-06 | +| 147 | abes_adventure | abes_adventure | N/A | ✗ | 0.000000 | No metrics available | +| 148 | abombniball | abombniball | N/A | ✗ | 0.000000 | No metrics available | +| 149 | alchemyquest | alchemyquest | N/A | ✗ | 0.000000 | No metrics available | +| 150 | am2r | am2r | N/A | ✗ | 0.000000 | No metrics available | +| 151 | anarch | anarch | N/A | ✗ | 0.000000 | No metrics available | +| 152 | banana.duck | banana.duck | N/A | ✗ | 0.000000 | No metrics available | +| 153 | beat2x | beat2x | N/A | ✗ | 0.000000 | No metrics available | +| 154 | blastius | blastius | N/A | ✗ | 0.000000 | No metrics available | +| 155 | bleed | bleed | N/A | ✗ | 0.000000 | No metrics available | +| 156 | bleed2 | bleed2 | N/A | ✗ | 0.000000 | No metrics available | +| 157 | blobby.volley2 | blobby.volley2 | N/A | ✗ | 0.000000 | No metrics available | +| 158 | block.attack | block.attack | N/A | ✗ | 0.000000 | No metrics available | +| 159 | bravedogsroad | bravedogsroad | N/A | ✗ | 0.000000 | No metrics available | +| 160 | bumpersbroadswords | bumpersbroadswords | N/A | ✗ | 0.000000 | No metrics available | +| 161 | burst | burst | N/A | ✗ | 0.000000 | No metrics available | +| 162 | cannonball | cannonball | N/A | ✗ | 0.000000 | No metrics available | +| 163 | cave.story-evo | cave.story-evo | N/A | ✗ | 0.000000 | No metrics available | +| 164 | cave.story | cave.story | N/A | ✗ | 0.000000 | No metrics available | +| 165 | chip | chip | N/A | ✗ | 0.000000 | No metrics available | +| 166 | cliff_hanger | cliff_hanger | N/A | ✗ | 0.000000 | No metrics available | +| 167 | clockwind | clockwind | N/A | ✗ | 0.000000 | No metrics available | +| 168 | corsixth | corsixth | N/A | ✗ | 0.000000 | No metrics available | +| 169 | davegnukem | davegnukem | N/A | ✗ | 0.000000 | No metrics available | +| 170 | deep_sleep | deep_sleep | N/A | ✗ | 0.000000 | No metrics available | +| 171 | defshot | defshot | N/A | ✗ | 0.000000 | No metrics available | +| 172 | diverdown | diverdown | N/A | ✗ | 0.000000 | No metrics available | +| 173 | dungeonrush | dungeonrush | N/A | ✗ | 0.000000 | No metrics available | +| 174 | echo_chamber | echo_chamber | N/A | ✗ | 0.000000 | No metrics available | +| 175 | eity | eity | N/A | ✗ | 0.000000 | No metrics available | +| 176 | enigma | enigma | N/A | ✗ | 0.000000 | No metrics available | +| 177 | escape | escape | N/A | ✗ | 0.000000 | No metrics available | +| 178 | f1race | f1race | N/A | ✗ | 0.000000 | No metrics available | +| 179 | falling_time | falling_time | N/A | ✗ | 0.000000 | No metrics available | +| 180 | farmner | farmner | N/A | ✗ | 0.000000 | No metrics available | +| 181 | final_quest | final_quest | N/A | ✗ | 0.000000 | No metrics available | +| 182 | fire_and_fondness2 | fire_and_fondness2 | N/A | ✗ | 0.000000 | No metrics available | +| 183 | flare | flare | N/A | ✗ | 0.000000 | No metrics available | +| 184 | freedroid | freedroid | N/A | ✗ | 0.000000 | No metrics available | +| 185 | freegemas | freegemas | N/A | ✗ | 0.000000 | No metrics available | +| 186 | gigalomania | gigalomania | N/A | ✗ | 0.000000 | No metrics available | +| 187 | gmu.music.player | gmu.music.player | N/A | ✗ | 0.000000 | No metrics available | +| 188 | gnurobbo | gnurobbo | N/A | ✗ | 0.000000 | No metrics available | +| 189 | gumgem | gumgem | N/A | ✗ | 0.000000 | No metrics available | +| 190 | half-life.2 | half-life.2 | N/A | ✗ | 0.000000 | No metrics available | +| 191 | hawkthorne | hawkthorne | N/A | ✗ | 0.000000 | No metrics available | +| 192 | heboris-sdl | heboris-sdl | N/A | ✗ | 0.000000 | No metrics available | +| 193 | help.no.brake | help.no.brake | N/A | ✗ | 0.000000 | No metrics available | +| 194 | hex-a-hop | hex-a-hop | N/A | ✗ | 0.000000 | No metrics available | +| 195 | hftsr | hftsr | N/A | ✗ | 0.000000 | No metrics available | +| 196 | hijinx | hijinx | N/A | ✗ | 0.000000 | No metrics available | +| 197 | hocoslamfy | hocoslamfy | N/A | ✗ | 0.000000 | No metrics available | +| 198 | humming.out | humming.out | N/A | ✗ | 0.000000 | No metrics available | +| 199 | hydra.castle.labyrinth | hydra.castle.labyrinth | N/A | ✗ | 0.000000 | No metrics available | +| 200 | hyper.jump | hyper.jump | N/A | ✗ | 0.000000 | No metrics available | +| 201 | hyperfight | hyperfight | N/A | ✗ | 0.000000 | No metrics available | +| 202 | iichantra_pear | iichantra_pear | N/A | ✗ | 0.000000 | No metrics available | +| 203 | klorets | klorets | N/A | ✗ | 0.000000 | No metrics available | +| 204 | kobodeluxe | kobodeluxe | N/A | ✗ | 0.000000 | No metrics available | +| 205 | laserkombat | laserkombat | N/A | ✗ | 0.000000 | No metrics available | +| 206 | margot_beatrice_adventure | margot_beatrice_adventure | N/A | ✗ | 0.000000 | No metrics available | +| 207 | maximilien_adventure | maximilien_adventure | N/A | ✗ | 0.000000 | No metrics available | +| 208 | meandmyshadow | meandmyshadow | N/A | ✗ | 0.000000 | No metrics available | +| 209 | megaman | megaman | N/A | ✗ | 0.000000 | No metrics available | +| 210 | meritous | meritous | N/A | ✗ | 0.000000 | No metrics available | +| 211 | mirrormagic | mirrormagic | N/A | ✗ | 0.000000 | No metrics available | +| 212 | missdriller | missdriller | N/A | ✗ | 0.000000 | No metrics available | +| 213 | moonlight | moonlight | N/A | ✗ | 0.000000 | No metrics available | +| 214 | mr.boom | mr.boom | N/A | ✗ | 0.000000 | No metrics available | +| 215 | multris | multris | N/A | ✗ | 0.000000 | No metrics available | +| 216 | murtop | murtop | N/A | ✗ | 0.000000 | No metrics available | +| 217 | nam | nam | N/A | ✗ | 0.000000 | No metrics available | +| 218 | nanobounce | nanobounce | N/A | ✗ | 0.000000 | No metrics available | +| 219 | neogensokyo | neogensokyo | N/A | ✗ | 0.000000 | No metrics available | +| 220 | nkaruga | nkaruga | N/A | ✗ | 0.000000 | No metrics available | +| 221 | nonny | nonny | N/A | ✗ | 0.000000 | No metrics available | +| 222 | nothing | nothing | N/A | ✗ | 0.000000 | No metrics available | +| 223 | nova_pinball | nova_pinball | N/A | ✗ | 0.000000 | No metrics available | +| 224 | npuzzle | npuzzle | N/A | ✗ | 0.000000 | No metrics available | +| 225 | openblok | openblok | N/A | ✗ | 0.000000 | No metrics available | +| 226 | openmrac | openmrac | N/A | ✗ | 0.000000 | No metrics available | +| 227 | outofammo | outofammo | N/A | ✗ | 0.000000 | No metrics available | +| 228 | paused | paused | N/A | ✗ | 0.000000 | No metrics available | +| 229 | pinball_disc_room | pinball_disc_room | N/A | ✗ | 0.000000 | No metrics available | +| 230 | pixelheat | pixelheat | N/A | ✗ | 0.000000 | No metrics available | +| 231 | planetwaves | planetwaves | N/A | ✗ | 0.000000 | No metrics available | +| 232 | plaqueattackremake | plaqueattackremake | N/A | ✗ | 0.000000 | No metrics available | +| 233 | pockettactics | pockettactics | N/A | ✗ | 0.000000 | No metrics available | +| 234 | prototype | prototype | N/A | ✗ | 0.000000 | No metrics available | +| 235 | puremetal | puremetal | N/A | ✗ | 0.000000 | No metrics available | +| 236 | quake | quake | N/A | ✗ | 0.000000 | No metrics available | +| 237 | retrotime | retrotime | N/A | ✗ | 0.000000 | No metrics available | +| 238 | ri_li | ri_li | N/A | ✗ | 0.000000 | No metrics available | +| 239 | rlvm | rlvm | N/A | ✗ | 0.000000 | No metrics available | +| 240 | rocksndiamonds | rocksndiamonds | N/A | ✗ | 0.000000 | No metrics available | +| 241 | rotationalshift | rotationalshift | N/A | ✗ | 0.000000 | No metrics available | +| 242 | satryn | satryn | N/A | ✗ | 0.000000 | No metrics available | +| 243 | sdlpop | sdlpop | N/A | ✗ | 0.000000 | No metrics available | +| 244 | shipwreck | shipwreck | N/A | ✗ | 0.000000 | No metrics available | +| 245 | siegeofosaka | siegeofosaka | N/A | ✗ | 0.000000 | No metrics available | +| 246 | simonsqrev | simonsqrev | N/A | ✗ | 0.000000 | No metrics available | +| 247 | simplesokoban | simplesokoban | N/A | ✗ | 0.000000 | No metrics available | +| 248 | sm64 | sm64 | N/A | ✗ | 0.000000 | No metrics available | +| 249 | sonic.1 | sonic.1 | N/A | ✗ | 0.000000 | No metrics available | +| 250 | starboy | starboy | N/A | ✗ | 0.000000 | No metrics available | +| 251 | starcatcher | starcatcher | N/A | ✗ | 0.000000 | No metrics available | +| 252 | superxyx | superxyx | N/A | ✗ | 0.000000 | No metrics available | +| 253 | tamatool | tamatool | N/A | ✗ | 0.000000 | No metrics available | +| 254 | thecurseofissyos | thecurseofissyos | N/A | ✗ | 0.000000 | No metrics available | +| 255 | thermomorph | thermomorph | N/A | ✗ | 0.000000 | No metrics available | +| 256 | thwack | thwack | N/A | ✗ | 0.000000 | No metrics available | +| 257 | tileworld | tileworld | N/A | ✗ | 0.000000 | No metrics available | +| 258 | tiny-crate | tiny-crate | N/A | ✗ | 0.000000 | No metrics available | +| 259 | titan_tactics | titan_tactics | N/A | ✗ | 0.000000 | No metrics available | +| 260 | tomb.raider.2 | tomb.raider.2 | N/A | ✗ | 0.000000 | No metrics available | +| 261 | tomb.raider.3 | tomb.raider.3 | N/A | ✗ | 0.000000 | No metrics available | +| 262 | tube64 | tube64 | N/A | ✗ | 0.000000 | No metrics available | +| 263 | turbotabletennis | turbotabletennis | N/A | ✗ | 0.000000 | No metrics available | +| 264 | upo | upo | N/A | ✗ | 0.000000 | No metrics available | +| 265 | wetspot2 | wetspot2 | N/A | ✗ | 0.000000 | No metrics available | +| 266 | wizardchase | wizardchase | N/A | ✗ | 0.000000 | No metrics available | +| 267 | wizznic | wizznic | N/A | ✗ | 0.000000 | No metrics available | +| 268 | worship_vector | worship_vector | N/A | ✗ | 0.000000 | No metrics available | +| 269 | xenonvalkyrie | xenonvalkyrie | N/A | ✗ | 0.000000 | No metrics available | +| 270 | yatka | yatka | N/A | ✗ | 0.000000 | No metrics available | +| 271 | znax | znax | N/A | ✗ | 0.000000 | No metrics available | diff --git a/tools/igdb_popularity.py b/tools/igdb_popularity.py new file mode 100644 index 00000000..35f08bad --- /dev/null +++ b/tools/igdb_popularity.py @@ -0,0 +1,231 @@ +#!/usr/bin/env python3 +""" +Script to generate popularity metrics for PortMaster games from IGDB. +Takes a specified game_ids.json file as input, fetches popularity metrics, +and outputs them to the specified output file. + +Usage: + python3 igdb_popularity.py /path/to/game_ids.json [/path/to/output.json] + +If output path is not specified, it will save to 'popularity.json' in the same directory +as the script. +""" + +import os +import sys +import json +import requests +import time +import argparse + +# === Configuration === +CLIENT_ID = 'ljcuthcgsxztbyax36whgzdst5s68u' +CLIENT_SECRET = 'l6fzl17soljtxhsswavk7kbps5s876' + +# === Parse Arguments === +def parse_arguments(): + parser = argparse.ArgumentParser(description='Fetch IGDB popularity metrics for games') + parser.add_argument('game_ids_file', help='Path to game_ids.json file') + parser.add_argument('output_file', nargs='?', help='Path to output popularity.json file') + return parser.parse_args() + +# === Authorization & Setup === +def get_access_token(): + if not CLIENT_ID or not CLIENT_SECRET: + print("Missing CLIENT_ID or CLIENT_SECRET.", file=sys.stderr) + sys.exit(1) + + try: + resp = requests.post( + "https://id.twitch.tv/oauth2/token", + params={ + "client_id": CLIENT_ID, + "client_secret": CLIENT_SECRET, + "grant_type": "client_credentials" + }, + timeout=10 + ) + resp.raise_for_status() + return resp.json()["access_token"] + except requests.RequestException as e: + print(f"Failed to get token: {e}", file=sys.stderr) + sys.exit(1) + +# === Robust request with retries === +def retry_request(method, url, **kwargs): + for attempt in range(5): + try: + resp = requests.request(method, url, timeout=15, **kwargs) + print(f"Got status code {resp.status_code}", file=sys.stderr) + if resp.status_code == 400 and attempt < 4: + print("Warning: 400 error – retrying...", file=sys.stderr) + time.sleep(2 ** attempt) + continue + resp.raise_for_status() + return resp + except Exception as e: + print(f"Attempt {attempt+1} failed: {e}", file=sys.stderr) + time.sleep(2 ** attempt) + print(f"Failed after 5 attempts: {url}", file=sys.stderr) + return None + +# === Extract IGDB IDs from game_ids.json file === +def extract_igdb_ids(game_ids_file): + igdb_mapping = {} # Maps IGDB IDs to game keys (port directory names) + game_count = 0 + + print(f"Reading IGDB IDs from {game_ids_file}...") + + try: + with open(game_ids_file, 'r') as f: + game_ids_json = json.load(f) + + for game_key, game_data in game_ids_json.items(): + game_count += 1 + # Extract igdb_id if present + if 'igdb_id' in game_data and game_data['igdb_id']: + igdb_id = str(game_data['igdb_id']) + igdb_mapping[igdb_id] = game_key + print(f"Found IGDB ID {igdb_id} for game {game_key}") + except (json.JSONDecodeError, FileNotFoundError) as e: + print(f"Error processing {game_ids_file}: {e}") + sys.exit(1) + + print(f"Found {len(igdb_mapping)} IGDB IDs out of {game_count} games") + return igdb_mapping + +# === Fetch popularity data for all IDs === +def fetch_popularity_data(igdb_mapping, headers): + metrics_by_game = {} + type_ids = set() + + print(f"Fetching popularity data for {len(igdb_mapping)} games...") + + for i, (gid, game_key) in enumerate(igdb_mapping.items()): + print(f"Processing game {i+1}/{len(igdb_mapping)}: {game_key} (ID {gid})") + + # Respect rate limits + time.sleep(1.0) # IGDB rate limit: max 4 req/sec + + query = ( + "fields calculated_at,checksum,created_at,external_popularity_source,game_id," + "popularity_source,popularity_type,updated_at,value;" + f"where game_id = {gid};" + ) + resp = retry_request("POST", "https://api.igdb.com/v4/popularity_primitives", headers=headers, data=query) + if not resp: + continue + + primitives = resp.json() + if not primitives: + print(f"No popularity data for game {game_key} (ID {gid})") + continue + + metrics_by_game[game_key] = {} + for p in primitives: + tid = str(p["popularity_type"]) + metrics_by_game[game_key][tid] = p["value"] + type_ids.add(p["popularity_type"]) + + return metrics_by_game, type_ids + +# === Fetch popularity type names === +def fetch_popularity_types(headers): + print("Fetching popularity type information...") + + types_dict = {} + type_query = "fields name,popularity_source,updated_at; sort id asc;" + + resp = retry_request("POST", "https://api.igdb.com/v4/popularity_types", headers=headers, data=type_query) + if resp: + types = resp.json() + types_dict = {str(t["id"]): t["name"] for t in types} + + return types_dict + +# === Main function === +def main(): + # Parse command line arguments + args = parse_arguments() + + # Set default output file if not specified + if not args.output_file: + script_dir = os.path.dirname(os.path.abspath(__file__)) + output_file = os.path.join(script_dir, "popularity.json") + else: + output_file = args.output_file + + # Get authentication token + ACCESS_TOKEN = get_access_token() + HEADERS = { + "Client-ID": CLIENT_ID, + "Authorization": f"Bearer {ACCESS_TOKEN}", + "Accept": "application/json" + } + + # Extract IDs from game_ids.json file and map them to game keys + igdb_mapping = extract_igdb_ids(args.game_ids_file) + if not igdb_mapping: + print("No valid IGDB IDs found in the game_ids.json file.", file=sys.stderr) + sys.exit(1) + + # Get existing popularity data if available + existing_data = {} + if os.path.exists(output_file): + try: + with open(output_file, 'r') as f: + existing_data = json.load(f) + print(f"Loaded existing popularity data with {len(existing_data.get('popularity_metrics', {}))} entries") + except (json.JSONDecodeError, FileNotFoundError) as e: + print(f"Error loading existing popularity data: {e}") + + # Fetch metrics for games + metrics_by_game, type_ids = fetch_popularity_data(igdb_mapping, HEADERS) + + # Fetch popularity type names + types_dict = fetch_popularity_types(HEADERS) + + # Merge with existing data if available + if existing_data: + # Create a reverse mapping (IGDB ID -> game key) for existing data + existing_metrics = existing_data.get('popularity_metrics', {}) + + # First, try to convert any numeric keys in existing data to game keys + # Create a copy to avoid modifying while iterating + existing_keys = list(existing_metrics.keys()) + for key in existing_keys: + # If the key is numeric (an IGDB ID), try to map it to a game key + if key.isdigit(): + # If we have this ID in our current mapping + if key in igdb_mapping: + game_key = igdb_mapping[key] + # If this game key doesn't already exist in metrics + if game_key not in existing_metrics: + existing_metrics[game_key] = existing_metrics[key] + # Remove the numeric key entry + del existing_metrics[key] + + # Now merge the new metrics into the existing ones + for game_key, metrics in metrics_by_game.items(): + existing_metrics[game_key] = metrics + + metrics_by_game = existing_metrics + + # Merge types + existing_types = existing_data.get('popularity_types', {}) + types_dict.update(existing_types) + + # Prepare output + output = { + "popularity_types": types_dict, + "popularity_metrics": metrics_by_game + } + + # Write to file + with open(output_file, 'w') as f: + json.dump(output, f, indent=2, sort_keys=True) + + print(f"Successfully wrote popularity data for {len(metrics_by_game)} games to {output_file}") + +if __name__ == "__main__": + main() diff --git a/tools/rank_games_by_popularity.py b/tools/rank_games_by_popularity.py new file mode 100644 index 00000000..5dd6442a --- /dev/null +++ b/tools/rank_games_by_popularity.py @@ -0,0 +1,274 @@ +#!/usr/bin/env python3 +""" +Script to rank PortMaster games by popularity using IGDB metrics. +Reads the popularity metrics from port_popularity.json and ports_info.json +to create a ranked list of games based on popularity scores. + +Usage: + python rank_games_by_popularity.py # Rank all games + python rank_games_by_popularity.py -r # Rank only ready-to-run games + python rank_games_by_popularity.py -g puzzle # Rank only puzzle games + python rank_games_by_popularity.py -r -g arcade # Rank only ready-to-run arcade games +""" + +import json +import os +import argparse +from collections import defaultdict + +# Get the directory where the script is located +SCRIPT_DIR = os.path.dirname(os.path.abspath(__file__)) +REPO_ROOT = os.path.dirname(SCRIPT_DIR) # Go up one level + +# Set paths relative to the script location +POPULARITY_FILE = os.path.join(REPO_ROOT, "port_popularity.json") +PORTS_INFO_FILE = os.path.join(REPO_ROOT, "ports_info.json") + +# Metric weights for scoring - based on engagement level +METRIC_WEIGHTS = { + "1": 1.0, # Visits - base weight + "2": 2.0, # Want to Play - medium interest + "3": 5.0, # Playing - highest current engagement + "4": 4.0, # Played - high historical engagement + "5": 3.0, # 24hr Peak Players + "6": 3.0, # Positive Reviews + "7": 1.0, # Negative Reviews (lower weight, still indicates engagement) + "8": 2.0, # Total Reviews + "9": 4.0, # Global Top Sellers + "10": 2.5, # Most Wishlisted Upcoming +} + +def parse_args(): + """Parse command line arguments.""" + parser = argparse.ArgumentParser( + description='Rank PortMaster games by popularity metrics.' + ) + parser.add_argument('-r', '--ready-to-run', action='store_true', + help='Filter for only ready-to-run games') + parser.add_argument('-g', '--genre', type=str, + help='Filter for games of a specific genre (e.g., puzzle, action, rpg)') + parser.add_argument('-o', '--output', type=str, default="ranked_ports.md", + help='Output file name') + return parser.parse_args() + +def load_data(file_path): + """Load data from JSON file.""" + try: + with open(file_path, 'r') as f: + return json.load(f) + except (FileNotFoundError, json.JSONDecodeError) as e: + print(f"Error loading data from {file_path}: {e}") + return None + +def get_port_data(ports_info, only_rtr=False, genre_filter=None): + """Get data from ports_info.json. + + Args: + ports_info (dict): Data loaded from ports_info.json + only_rtr (bool): If True, only return ready-to-run games. + genre_filter (str): If provided, only return games with this genre. + """ + port_data = [] + + # Check if the required data is available + if not ports_info or 'ports' not in ports_info: + print("Error: Required data not found in ports_info.json") + return port_data + + # Process each port + for port_name, port_info in ports_info.get('ports', {}).items(): + # Extract port name from zip filename (e.g., "celeste.zip" -> "celeste") + port_key = port_name.replace('.zip', '') + + # Skip non-ready-to-run games if flag is set + if only_rtr and not port_info.get('attr', {}).get('rtr', False): + continue + + # Skip games that don't match the genre filter, if provided + if genre_filter: + genres = [g.lower() for g in port_info.get('attr', {}).get('genres', [])] + if genre_filter.lower() not in genres: + continue + + port_data.append({ + 'name': port_key, + 'title': port_info.get('attr', {}).get('title', port_key), + 'rtr': port_info.get('attr', {}).get('rtr', False), + 'genres': port_info.get('attr', {}).get('genres', []), + 'availability': port_info.get('attr', {}).get('availability', None) + }) + + return port_data + +def calculate_popularity_score(metrics): + """Calculate a weighted popularity score from available metrics.""" + if not metrics: + return 0 + + score = 0 + for metric_id, value in metrics.items(): + # Apply weight based on metric type + weight = METRIC_WEIGHTS.get(metric_id, 1.0) + score += value * weight + + # Normalize by number of metrics and max weight to avoid bias toward games with more metrics + # Division by max weight helps make scores more balanced + max_weight = max(METRIC_WEIGHTS.values()) + avg_score = score / (len(metrics) * max_weight) + + return avg_score + +def rank_ports_by_popularity(port_data, popularity_data): + """Rank ports based on popularity metrics.""" + + popularity_metrics = popularity_data.get('popularity_metrics', {}) + popularity_types = popularity_data.get('popularity_types', {}) + + scored_ports = [] + + for port in port_data: + port_name = port['name'] + + # Get metrics for this game - now directly by port name + metrics = popularity_metrics.get(port_name, {}) + + # Calculate popularity score + score = calculate_popularity_score(metrics) + + # Convert metric IDs to names for easier reading + named_metrics = {} + for metric_id, value in metrics.items(): + metric_name = popularity_types.get(metric_id, f"Metric {metric_id}") + named_metrics[metric_name] = value + + scored_ports.append({ + 'name': port['name'], + 'title': port['title'], + 'score': score, + 'metrics': named_metrics, + 'rtr': port['rtr'], + 'genres': port['genres'], + 'availability': port['availability'] + }) + + # Sort ports by score in descending order + ranked_ports = sorted(scored_ports, key=lambda x: x['score'], reverse=True) + + return ranked_ports + +def write_results_to_file(ranked_ports, output_file, only_rtr=False, genre_filter=None): + """Write ranked ports to a file.""" + + # Modify filename based on filters + base, ext = os.path.splitext(output_file) + filename_parts = [base] + + if only_rtr: + filename_parts.append("rtr") + + if genre_filter: + filename_parts.append(genre_filter.lower()) + + if len(filename_parts) > 1: + output_file = f"{filename_parts[0]}_{'_'.join(filename_parts[1:])}{ext}" + + with open(output_file, 'w') as f: + title_parts = ["PortMaster Games Ranked by IGDB Popularity"] + filter_parts = [] + + if only_rtr: + filter_parts.append("Ready-to-Run Only") + + if genre_filter: + filter_parts.append(f"Genre: {genre_filter.capitalize()}") + + if filter_parts: + title_parts.append(f"({', '.join(filter_parts)})") + + f.write(f"# {' '.join(title_parts)}\n\n") + + f.write("| Rank | Port Name | Title | Genres | RTR | Score | Metrics |\n") + f.write("|------|-----------|-------|--------|-----|-------|--------|\n") + + for i, port in enumerate(ranked_ports, 1): + metrics_str = ", ".join([f"{k}: {v:.2e}" for k, v in port['metrics'].items()]) + if not metrics_str: + metrics_str = "No metrics available" + + genres_str = ", ".join(port['genres']) if port['genres'] else "N/A" + rtr_str = "✓" if port['rtr'] else "✗" + + f.write(f"| {i} | {port['name']} | {port['title']} | {genres_str} | {rtr_str} | {port['score']:.6f} | {metrics_str} |\n") + + return output_file + +def main(): + """Main function to rank ports by popularity.""" + args = parse_args() + only_rtr = args.ready_to_run + genre_filter = args.genre + output_file = args.output + + filter_parts = [] + + if only_rtr: + filter_parts.append("Ready-to-Run") + + if genre_filter: + filter_parts.append(f"Genre: {genre_filter}") + + if filter_parts: + print(f"Filtering for {' and '.join(filter_parts)} games") + + print(f"Loading popularity data from {POPULARITY_FILE}") + + # Load popularity data + popularity_data = load_data(POPULARITY_FILE) + if not popularity_data: + print("Failed to load popularity data. Exiting.") + return + + print(f"Loading ports information from {PORTS_INFO_FILE}") + + # Load ports_info data + ports_info = load_data(PORTS_INFO_FILE) + if not ports_info: + print("Failed to load ports information. Exiting.") + return + + # Get port data + port_data = get_port_data(ports_info, only_rtr, genre_filter) + + filter_desc = [] + if only_rtr: + filter_desc.append("Ready-to-Run") + if genre_filter: + filter_desc.append(f"Genre: {genre_filter}") + + if filter_desc: + filter_str = f" ({' & '.join(filter_desc)})" + else: + filter_str = "" + + print(f"Found {len(port_data)} ports{filter_str}") + + if len(port_data) == 0: + print("No games match the specified filters. Exiting.") + return + + # Rank ports by popularity + ranked_ports = rank_ports_by_popularity(port_data, popularity_data) + + # Write results to file + output_path = write_results_to_file(ranked_ports, output_file, only_rtr, genre_filter) + print(f"Results written to {output_path}") + + # Print top 20 ports (or all if less than 20) + max_display = min(20, len(ranked_ports)) + print(f"\nTop {max_display} Ports by Popularity{filter_str}:") + for i, port in enumerate(ranked_ports[:max_display], 1): + rtr_indicator = "✓" if port['rtr'] else "✗" + print(f"{i}. [{rtr_indicator}] {port['title']} (Score: {port['score']:.6f})") + +if __name__ == "__main__": + main() diff --git a/tools/update_game_ids.py b/tools/update_game_ids.py new file mode 100644 index 00000000..37f56cd8 --- /dev/null +++ b/tools/update_game_ids.py @@ -0,0 +1,178 @@ +#!/usr/bin/env python3 +import json +import os +import sys + +def extract_game_ids(repo_path, game_ids_path): + """ + Extract game ID fields from port.json files and merge with an existing game_ids.json file. + + Args: + repo_path: Path to the repository containing ports + game_ids_path: Path to the existing game_ids.json file + """ + ports_dir = os.path.join(repo_path, "ports") + + # Define the fields we want to extract + id_fields = ["igdb_id", "steam_id", "itchio_url"] + + # Load existing game IDs if file exists + existing_game_ids = {} + if os.path.exists(game_ids_path): + try: + with open(game_ids_path, 'r') as f: + existing_game_ids = json.load(f) + print(f"Loaded {len(existing_game_ids)} existing game IDs from {game_ids_path}") + except json.JSONDecodeError: + print(f"Error parsing existing {game_ids_path}, starting with empty dictionary") + + # Initialize the new game IDs dictionary + new_game_ids = {} + + # Count statistics + stats = {field: 0 for field in id_fields} + total_ports = 0 + ports_with_ids = 0 + new_entries = 0 + updated_entries = 0 + + # Walk through all port directories + for port_name in os.listdir(ports_dir): + port_dir = os.path.join(ports_dir, port_name) + + # Skip if not a directory + if not os.path.isdir(port_dir): + continue + + port_json_path = os.path.join(port_dir, "port.json") + + # Skip if port.json doesn't exist + if not os.path.exists(port_json_path): + continue + + total_ports += 1 + + # Read the port.json file + try: + with open(port_json_path, 'r') as f: + port_data = json.load(f) + except json.JSONDecodeError: + print(f"Error parsing {port_json_path}") + continue + + # Extract ID fields + port_ids = {} + for field in id_fields: + if field in port_data.get('attr', {}): + port_ids[field] = port_data['attr'][field] + stats[field] += 1 + + # Store IDs if any field was found + if port_ids: + new_game_ids[port_name] = port_ids + ports_with_ids += 1 + + # Merge with existing game IDs + merged_game_ids = existing_game_ids.copy() + for port_name, port_ids in new_game_ids.items(): + if port_name not in merged_game_ids: + merged_game_ids[port_name] = port_ids + new_entries += 1 + else: + # Update existing entry with any new fields + for field, value in port_ids.items(): + if field not in merged_game_ids[port_name] or merged_game_ids[port_name][field] != value: + merged_game_ids[port_name][field] = value + updated_entries += 1 + + # Write merged game IDs to file + with open(game_ids_path, 'w') as f: + json.dump(merged_game_ids, f, indent=2) + + # Print statistics + print(f"Total ports processed: {total_ports}") + print(f"Ports with game IDs: {ports_with_ids}") + for field in id_fields: + print(f"{field}: {stats[field]} ports") + print(f"New entries added: {new_entries}") + print(f"Existing entries updated: {updated_entries}") + print(f"Total entries in output file: {len(merged_game_ids)}") + print(f"Game IDs saved to {game_ids_path}") + +def remove_ids_from_ports(repo_path): + """ + Remove ID fields from port.json files after extracting them. + + Args: + repo_path: Path to the repository containing ports + """ + ports_dir = os.path.join(repo_path, "ports") + + # Define the fields we want to remove + id_fields = ["igdb_id", "steam_id", "itchio_url", "igdb_visits"] # Include igdb_visits for removal + + # Count modified files + modified_files = 0 + + # Walk through all port directories + for port_name in os.listdir(ports_dir): + port_dir = os.path.join(ports_dir, port_name) + + # Skip if not a directory + if not os.path.isdir(port_dir): + continue + + port_json_path = os.path.join(port_dir, "port.json") + + # Skip if port.json doesn't exist + if not os.path.exists(port_json_path): + continue + + # Read the port.json file + try: + with open(port_json_path, 'r') as f: + port_data = json.load(f) + except json.JSONDecodeError: + print(f"Error parsing {port_json_path}") + continue + + # Check if any field needs to be removed + modified = False + for field in id_fields: + if field in port_data.get('attr', {}): + del port_data['attr'][field] + modified = True + + # Write back the modified port.json if needed + if modified: + # Create a backup + backup_path = f"{port_json_path}.bak" + os.rename(port_json_path, backup_path) + + # Write updated data + with open(port_json_path, 'w') as f: + json.dump(port_data, f, indent=4) + + modified_files += 1 + + print(f"Modified {modified_files} port.json files") + +def main(): + if len(sys.argv) < 3: + print("Usage: python extract_game_ids.py [--remove]") + sys.exit(1) + + repo_path = sys.argv[1] + game_ids_path = sys.argv[2] + remove_flag = len(sys.argv) > 3 and sys.argv[3] == "--remove" + + # Extract game IDs + extract_game_ids(repo_path, game_ids_path) + + # Optionally remove ID fields from port.json files + if remove_flag: + print("Removing ID fields from port.json files...") + remove_ids_from_ports(repo_path) + +if __name__ == "__main__": + main() From 43d142165237a1cb14ae49f207b908404ac559f1 Mon Sep 17 00:00:00 2001 From: bmdhacks Date: Fri, 4 Apr 2025 16:22:17 -0700 Subject: [PATCH 2/2] removing an unneeded file --- ranked_ports.md | 275 ------------------------------------------------ 1 file changed, 275 deletions(-) delete mode 100644 ranked_ports.md diff --git a/ranked_ports.md b/ranked_ports.md deleted file mode 100644 index f25bbaf0..00000000 --- a/ranked_ports.md +++ /dev/null @@ -1,275 +0,0 @@ -# PortMaster Games Ranked by IGDB Popularity - -| Rank | Port Name | Title | Genres | RTR | Score | Metrics | -|------|-----------|-------|--------|-----|-------|--------| -| 1 | stardewvalley | stardewvalley | N/A | ✗ | 0.002237 | Visits: 3.31e-04, Want to Play: 5.57e-04, Playing: 3.24e-03, Played: 1.45e-03, 24hr Peak Players: 1.36e-02, Postitive Reviews: 7.31e-03, Negative Reviews: 7.28e-04, Total Reviews: 6.40e-03, Global Top Sellers: 2.50e-04 | -| 2 | undertale | undertale | N/A | ✗ | 0.000560 | Visits: 1.04e-04, Want to Play: 7.54e-04, Playing: 9.52e-04, Played: 1.47e-03, 24hr Peak Players: 3.70e-04, Postitive Reviews: 2.17e-03, Negative Reviews: 4.62e-04, Total Reviews: 1.94e-03, Global Top Sellers: 2.42e-04 | -| 3 | celeste | celeste | N/A | ✗ | 0.000497 | Visits: 1.86e-04, Want to Play: 8.76e-04, Playing: 1.74e-03, Played: 1.31e-03, 24hr Peak Players: 2.38e-04, Postitive Reviews: 9.80e-04, Negative Reviews: 1.61e-04, Total Reviews: 8.67e-04, Global Top Sellers: 2.32e-04 | -| 4 | zelda3 | zelda3 | N/A | ✗ | 0.000475 | Visits: 1.52e-04, Want to Play: 4.44e-04, Playing: 7.36e-04, Played: 1.19e-03 | -| 5 | half-life | half-life | N/A | ✗ | 0.000448 | Visits: 2.14e-04, Want to Play: 5.52e-04, Playing: 6.86e-04, Played: 2.05e-03, 24hr Peak Players: 9.48e-05, Postitive Reviews: 1.21e-03, Negative Reviews: 2.71e-04, Total Reviews: 1.08e-03, Global Top Sellers: 2.14e-04 | -| 6 | devilutionx | devilutionx | N/A | ✗ | 0.000163 | Visits: 6.21e-05, Want to Play: 2.19e-04, Playing: 1.40e-04, Played: 5.14e-04 | -| 7 | sonic.mania | sonic.mania | N/A | ✗ | 0.000139 | Visits: 4.83e-05, Want to Play: 2.39e-04, Playing: 5.08e-04, Played: 3.22e-04, 24hr Peak Players: 9.77e-06, Postitive Reviews: 2.07e-04, Negative Reviews: 8.70e-05, Total Reviews: 1.91e-04, Global Top Sellers: 1.94e-04 | -| 8 | fallout1 | fallout1 | N/A | ✗ | 0.000133 | Visits: 6.21e-05, Want to Play: 4.52e-04, Playing: 2.79e-04, Played: 4.88e-04, 24hr Peak Players: 1.69e-05, Postitive Reviews: 1.76e-04, Negative Reviews: 6.82e-05, Total Reviews: 1.61e-04, Global Top Sellers: 1.76e-04 | -| 9 | fallout2 | fallout2 | N/A | ✗ | 0.000131 | Visits: 7.59e-05, Want to Play: 5.02e-04, Playing: 2.29e-04, Played: 5.94e-04, 24hr Peak Players: 2.18e-05, Postitive Reviews: 1.23e-04, Negative Reviews: 4.65e-05, Total Reviews: 1.12e-04, Global Top Sellers: 1.53e-04 | -| 10 | sonic.2 | sonic.2 | N/A | ✗ | 0.000131 | Visits: 8.28e-05, Want to Play: 8.87e-05, Playing: 7.62e-05, Played: 4.93e-04 | -| 11 | vcmi | vcmi | N/A | ✗ | 0.000127 | Visits: 8.97e-05, Want to Play: 6.38e-05, Playing: 1.14e-04, Played: 4.40e-04 | -| 12 | gemrb | gemrb | N/A | ✗ | 0.000117 | Visits: 2.76e-05, Want to Play: 2.05e-04, Playing: 1.90e-04, Played: 2.36e-04 | -| 13 | duke.nukem.3d | duke.nukem.3d | N/A | ✗ | 0.000115 | Visits: 7.59e-05, Want to Play: 1.05e-04, Playing: 1.14e-04, Played: 3.60e-04 | -| 14 | tomb.raider.1 | tomb.raider.1 | N/A | ✗ | 0.000103 | Visits: 7.59e-05, Want to Play: 2.05e-04, Playing: 3.05e-04, Played: 4.78e-04, 24hr Peak Players: 9.12e-07, Postitive Reviews: 3.31e-05, Negative Reviews: 3.53e-05, Total Reviews: 3.34e-05 | -| 15 | vanillara | vanillara | N/A | ✗ | 0.000098 | Visits: 6.90e-05, Want to Play: 7.77e-05, Playing: 1.02e-04, Played: 3.07e-04 | -| 16 | valhalla | valhalla | N/A | ✗ | 0.000091 | Visits: 2.07e-05, Want to Play: 2.02e-04, Playing: 1.78e-04, Played: 1.54e-04, 24hr Peak Players: 1.73e-05, Postitive Reviews: 3.01e-04, Negative Reviews: 4.95e-05, Total Reviews: 2.66e-04, Global Top Sellers: 1.59e-04 | -| 17 | quakespasm | quakespasm | N/A | ✗ | 0.000088 | Visits: 1.38e-05, Want to Play: 1.77e-04, Playing: 2.16e-04, Played: 3.68e-04, 24hr Peak Players: 9.77e-06, Postitive Reviews: 1.18e-04, Negative Reviews: 2.54e-05, Total Reviews: 1.05e-04, Global Top Sellers: 1.11e-04 | -| 18 | tmntsr | tmntsr | N/A | ✗ | 0.000084 | Visits: 4.83e-05, Want to Play: 1.89e-04, Playing: 2.16e-04, Played: 1.95e-04, 24hr Peak Players: 7.95e-06, Postitive Reviews: 1.10e-04, Negative Reviews: 4.13e-05, Total Reviews: 1.00e-04, Global Top Sellers: 2.25e-04 | -| 19 | axiom.verge | axiom.verge | N/A | ✗ | 0.000076 | Visits: 2.07e-05, Want to Play: 2.02e-04, Playing: 2.54e-04, Played: 1.74e-04, 24hr Peak Players: 3.26e-06, Postitive Reviews: 4.66e-05, Negative Reviews: 2.89e-05, Total Reviews: 4.42e-05, Global Top Sellers: 1.91e-04 | -| 20 | jediacademy | jediacademy | N/A | ✗ | 0.000076 | Visits: 6.21e-05, Want to Play: 9.43e-05, Playing: 1.52e-04, Played: 3.39e-04, 24hr Peak Players: 7.29e-06, Postitive Reviews: 1.08e-04, Negative Reviews: 2.77e-05, Total Reviews: 9.71e-05, Global Top Sellers: 1.20e-04 | -| 21 | doom3 | doom3 | N/A | ✗ | 0.000075 | Visits: 8.28e-05, Want to Play: 1.33e-04, Playing: 1.40e-04, Played: 4.05e-04, 24hr Peak Players: 2.87e-06, Postitive Reviews: 5.88e-05, Negative Reviews: 4.49e-05, Total Reviews: 5.69e-05 | -| 22 | vanillatd | vanillatd | N/A | ✗ | 0.000074 | Visits: 3.45e-05, Want to Play: 8.32e-05, Playing: 6.35e-05, Played: 2.41e-04 | -| 23 | iortcw | iortcw | N/A | ✗ | 0.000074 | Visits: 4.14e-05, Want to Play: 1.36e-04, Playing: 1.52e-04, Played: 4.04e-04, 24hr Peak Players: 5.86e-06, Postitive Reviews: 6.63e-05, Negative Reviews: 3.08e-05, Total Reviews: 6.14e-05, Global Top Sellers: 6.70e-05 | -| 24 | owlboy | owlboy | N/A | ✗ | 0.000071 | Want to Play: 2.66e-04, Playing: 1.78e-04, Played: 1.34e-04, 24hr Peak Players: 6.51e-07, Postitive Reviews: 4.19e-05, Negative Reviews: 5.06e-05, Total Reviews: 4.31e-05, Global Top Sellers: 1.54e-04 | -| 25 | quake3 | quake3 | N/A | ✗ | 0.000070 | Visits: 4.14e-05, Want to Play: 1.08e-04, Playing: 2.29e-04, Played: 3.76e-04, 24hr Peak Players: 2.61e-06, Postitive Reviews: 3.04e-05, Negative Reviews: 8.24e-06, Total Reviews: 2.73e-05, Global Top Sellers: 2.24e-05 | -| 26 | shovel.knight | shovel.knight | N/A | ✗ | 0.000064 | Visits: 1.38e-05, Want to Play: 1.41e-04, Playing: 1.52e-04, Played: 1.10e-04, 24hr Peak Players: 5.86e-06, Postitive Reviews: 1.31e-04, Negative Reviews: 3.59e-05, Total Reviews: 1.18e-04, Global Top Sellers: 1.76e-04 | -| 27 | domeromantik | domeromantik | N/A | ✗ | 0.000063 | Visits: 1.38e-05, Want to Play: 9.71e-05, Playing: 1.40e-04, Played: 5.32e-05, 24hr Peak Players: 8.30e-05, Postitive Reviews: 1.23e-04, Negative Reviews: 6.54e-05, Total Reviews: 1.15e-04, Global Top Sellers: 2.02e-04 | -| 28 | rawgl | rawgl | N/A | ✗ | 0.000061 | Visits: 4.14e-05, Want to Play: 1.22e-04, Playing: 1.27e-05, Played: 2.18e-04 | -| 29 | jedioutcast | jedioutcast | N/A | ✗ | 0.000057 | Visits: 2.76e-05, Want to Play: 1.11e-04, Playing: 1.27e-04, Played: 2.63e-04, 24hr Peak Players: 2.74e-06, Postitive Reviews: 3.61e-05, Negative Reviews: 2.18e-05, Total Reviews: 3.41e-05, Global Top Sellers: 1.08e-04 | -| 30 | oddworld | oddworld | N/A | ✗ | 0.000052 | Visits: 4.83e-05, Want to Play: 1.30e-04, Playing: 1.14e-04, Played: 2.52e-04, 24hr Peak Players: 5.21e-07, Postitive Reviews: 3.16e-05, Negative Reviews: 3.39e-05, Total Reviews: 3.19e-05 | -| 31 | shadow.warrior | shadow.warrior | N/A | ✗ | 0.000049 | Visits: 4.83e-05, Want to Play: 6.38e-05, Playing: 1.02e-04, Played: 7.61e-05 | -| 32 | invaders | invaders | N/A | ✗ | 0.000049 | Visits: 4.14e-05, Want to Play: 3.33e-05, Played: 1.56e-04 | -| 33 | vvvvvv | vvvvvv | N/A | ✗ | 0.000045 | Visits: 1.10e-04, Want to Play: 5.82e-05, Playing: 7.62e-05, Played: 1.92e-04, 24hr Peak Players: 1.95e-06, Postitive Reviews: 8.26e-05, Negative Reviews: 2.01e-05, Total Reviews: 7.40e-05 | -| 34 | carmageddon | carmageddon | N/A | ✗ | 0.000044 | Visits: 2.76e-05, Want to Play: 3.05e-05, Playing: 1.27e-05, Played: 1.83e-04 | -| 35 | iconoclasts | iconoclasts | N/A | ✗ | 0.000044 | Visits: 1.38e-05, Want to Play: 1.44e-04, Playing: 1.78e-04, Played: 9.80e-05, 24hr Peak Players: 1.30e-06, Postitive Reviews: 3.47e-05, Negative Reviews: 3.36e-05, Total Reviews: 3.45e-05, Global Top Sellers: 4.20e-05 | -| 36 | openttd | openttd | N/A | ✗ | 0.000042 | Visits: 2.07e-05, Want to Play: 2.22e-05, Playing: 1.27e-04, Played: 4.69e-05, 24hr Peak Players: 6.55e-05, Postitive Reviews: 1.16e-04, Negative Reviews: 2.90e-05, Total Reviews: 1.04e-04 | -| 37 | openrct2 | openrct2 | N/A | ✗ | 0.000038 | Visits: 4.14e-05, Want to Play: 3.33e-05, Playing: 1.27e-05, Played: 1.45e-04 | -| 38 | supertuxkart | supertuxkart | N/A | ✗ | 0.000037 | Playing: 6.35e-05, Played: 1.35e-05 | -| 39 | minit | minit | N/A | ✗ | 0.000035 | Visits: 6.90e-06, Want to Play: 1.25e-04, Playing: 7.62e-05, Played: 1.61e-04, 24hr Peak Players: 5.21e-07, Postitive Reviews: 1.98e-05, Negative Reviews: 1.48e-05, Total Reviews: 1.91e-05 | -| 40 | jazz2 | jazz2 | N/A | ✗ | 0.000034 | Visits: 6.90e-06, Want to Play: 1.66e-05, Playing: 3.81e-05, Played: 1.10e-04 | -| 41 | heart.of.darkness | heart.of.darkness | N/A | ✗ | 0.000033 | Visits: 6.90e-06, Want to Play: 9.71e-05, Playing: 2.54e-05, Played: 8.23e-05 | -| 42 | supertux | supertux | N/A | ✗ | 0.000031 | Want to Play: 5.55e-06, Playing: 7.62e-05, Played: 1.77e-05 | -| 43 | spelunky | spelunky | N/A | ✗ | 0.000031 | Want to Play: 4.16e-05, Playing: 3.81e-05, Played: 4.69e-05 | -| 44 | augustus | augustus | N/A | ✗ | 0.000030 | Visits: 6.90e-06, Want to Play: 1.94e-05, Playing: 7.62e-05, Played: 8.96e-05, 24hr Peak Players: 1.51e-05, Postitive Reviews: 1.56e-05, Negative Reviews: 7.98e-06, Total Reviews: 1.45e-05, Global Top Sellers: 1.13e-04 | -| 45 | chasm | chasm | N/A | ✗ | 0.000030 | Visits: 1.24e-04, Want to Play: 9.98e-05, Playing: 1.02e-04, Played: 5.73e-05, 24hr Peak Players: 1.04e-06, Postitive Reviews: 1.54e-05, Negative Reviews: 3.61e-05, Total Reviews: 1.83e-05 | -| 46 | rvgl | rvgl | N/A | ✗ | 0.000028 | Visits: 2.76e-05, Want to Play: 2.22e-05, Playing: 5.08e-05, Played: 1.16e-04, 24hr Peak Players: 1.30e-06, Postitive Reviews: 1.01e-05, Negative Reviews: 5.94e-06, Total Reviews: 9.55e-06, Global Top Sellers: 1.04e-04 | -| 47 | sonic.cd | sonic.cd | N/A | ✗ | 0.000027 | Visits: 2.76e-05, Want to Play: 3.88e-05, Playing: 2.54e-05, Played: 1.51e-04, 24hr Peak Players: 2.61e-07, Postitive Reviews: 4.14e-05, Negative Reviews: 3.05e-05, Total Reviews: 3.99e-05 | -| 48 | openclaw | openclaw | N/A | ✗ | 0.000026 | Visits: 6.90e-06, Want to Play: 2.22e-05, Playing: 5.08e-05, Played: 5.42e-05 | -| 49 | space.cadet.pinball | space.cadet.pinball | N/A | ✗ | 0.000025 | Visits: 4.14e-05, Playing: 1.27e-05, Played: 6.67e-05 | -| 50 | fheroes2 | fheroes2 | N/A | ✗ | 0.000024 | Visits: 6.90e-06, Want to Play: 1.39e-05, Playing: 6.35e-05, Played: 3.23e-05 | -| 51 | 2048 | 2048 | N/A | ✗ | 0.000024 | Visits: 8.97e-05, Want to Play: 8.32e-06, Playing: 2.54e-05, Played: 6.04e-05 | -| 52 | openjazz | openjazz | N/A | ✗ | 0.000021 | Visits: 2.76e-05, Want to Play: 1.11e-05, Playing: 1.27e-05, Played: 7.71e-05 | -| 53 | openxcom | openxcom | N/A | ✗ | 0.000020 | Visits: 3.45e-05, Want to Play: 6.38e-05, Playing: 1.27e-05, Played: 1.01e-04, 24hr Peak Players: 4.56e-06, Postitive Reviews: 3.05e-05, Negative Reviews: 1.05e-05, Total Reviews: 2.77e-05 | -| 54 | srb2kart | srb2kart | N/A | ✗ | 0.000019 | Want to Play: 5.55e-06, Playing: 3.81e-05, Played: 1.98e-05 | -| 55 | prehistorik.2 | prehistorik.2 | N/A | ✗ | 0.000018 | Visits: 6.90e-06, Played: 4.27e-05 | -| 56 | timespinner | timespinner | N/A | ✗ | 0.000018 | Visits: 1.38e-05, Want to Play: 8.32e-05, Playing: 3.81e-05, Played: 4.59e-05, 24hr Peak Players: 6.51e-07, Postitive Reviews: 2.11e-05, Negative Reviews: 2.20e-05, Total Reviews: 2.12e-05, Global Top Sellers: 2.60e-05 | -| 57 | rott | rott | N/A | ✗ | 0.000017 | Want to Play: 3.33e-05, Playing: 1.27e-05, Played: 3.23e-05 | -| 58 | openggs | openggs | N/A | ✗ | 0.000017 | Playing: 1.27e-05, Played: 2.71e-05 | -| 59 | openfodder | openfodder | N/A | ✗ | 0.000017 | Visits: 2.07e-05, Want to Play: 2.50e-05, Playing: 1.27e-05, Played: 5.21e-05 | -| 60 | rigelengine | rigelengine | N/A | ✗ | 0.000016 | Visits: 2.76e-05, Want to Play: 2.22e-05, Played: 4.27e-05 | -| 61 | opensupaplex | opensupaplex | N/A | ✗ | 0.000016 | Visits: 6.90e-06, Playing: 2.54e-05, Played: 2.50e-05 | -| 62 | brogue | brogue | N/A | ✗ | 0.000014 | Playing: 2.54e-05, Played: 4.17e-06 | -| 63 | srb2 | srb2 | N/A | ✗ | 0.000014 | Visits: 6.90e-06, Want to Play: 8.32e-06, Playing: 3.81e-05, Played: 1.77e-05 | -| 64 | redneck.rampage | redneck.rampage | N/A | ✗ | 0.000014 | Want to Play: 3.33e-05, Playing: 1.27e-05, Played: 2.50e-05, Global Top Sellers: 1.34e-05 | -| 65 | alephone-marathon | alephone-marathon | N/A | ✗ | 0.000014 | Visits: 2.07e-05, Want to Play: 2.77e-05, Playing: 2.54e-05, Played: 1.98e-05 | -| 66 | sorr | sorr | N/A | ✗ | 0.000014 | Visits: 3.45e-05, Want to Play: 1.94e-05, Playing: 2.54e-05, Played: 1.88e-05 | -| 67 | exult | exult | N/A | ✗ | 0.000013 | Visits: 2.07e-05, Want to Play: 2.77e-05, Playing: 1.27e-05, Played: 3.23e-05 | -| 68 | hexen2 | hexen2 | N/A | ✗ | 0.000013 | Visits: 1.38e-05, Want to Play: 4.71e-05, Playing: 5.08e-05, Played: 3.44e-05, 24hr Peak Players: 0.00e+00, Postitive Reviews: 3.70e-06, Negative Reviews: 5.89e-06, Total Reviews: 4.00e-06 | -| 69 | exhumed | exhumed | N/A | ✗ | 0.000013 | Want to Play: 3.05e-05, Playing: 6.35e-05, Played: 8.34e-06, 24hr Peak Players: 9.12e-07, Postitive Reviews: 5.91e-06, Negative Reviews: 3.96e-06, Total Reviews: 5.64e-06 | -| 70 | hurrican | hurrican | N/A | ✗ | 0.000013 | Playing: 1.27e-05 | -| 71 | lbreakouthd | lbreakouthd | N/A | ✗ | 0.000013 | Playing: 1.27e-05 | -| 72 | freedom.planet | freedom.planet | N/A | ✗ | 0.000012 | Visits: 6.90e-06, Want to Play: 5.27e-05, Played: 3.13e-05, 24hr Peak Players: 3.91e-07, Postitive Reviews: 3.85e-05, Negative Reviews: 1.25e-05, Total Reviews: 3.49e-05 | -| 73 | abuse | abuse | N/A | ✗ | 0.000012 | Want to Play: 2.22e-05, Playing: 1.27e-05, Played: 1.77e-05 | -| 74 | zeroranger | zeroranger | N/A | ✗ | 0.000011 | Visits: 1.38e-05, Want to Play: 2.77e-05, Playing: 2.54e-05, Played: 9.38e-06, 24hr Peak Players: 1.17e-06, Postitive Reviews: 1.45e-05, Negative Reviews: 3.85e-06, Total Reviews: 1.30e-05, Global Top Sellers: 4.86e-05 | -| 75 | blockout2 | blockout2 | N/A | ✗ | 0.000011 | Visits: 6.90e-06, Played: 2.61e-05 | -| 76 | anodyne | anodyne | N/A | ✗ | 0.000010 | Want to Play: 4.44e-05, Playing: 1.27e-05, Played: 3.65e-05, 24hr Peak Players: 2.61e-07, Postitive Reviews: 1.10e-05, Negative Reviews: 1.27e-05, Total Reviews: 1.12e-05 | -| 77 | alephone-marathon2 | alephone-marathon2 | N/A | ✗ | 0.000010 | Want to Play: 1.39e-05, Playing: 1.27e-05, Played: 1.46e-05 | -| 78 | opentyrian | opentyrian | N/A | ✗ | 0.000010 | Want to Play: 8.32e-06, Playing: 1.27e-05, Played: 1.67e-05 | -| 79 | rick.dangerous | rick.dangerous | N/A | ✗ | 0.000009 | Want to Play: 5.55e-06, Playing: 1.27e-05, Played: 1.56e-05 | -| 80 | daikatana | daikatana | N/A | ✗ | 0.000009 | Visits: 6.90e-06, Want to Play: 3.88e-05, Playing: 1.27e-05, Played: 3.44e-05, 24hr Peak Players: 0.00e+00, Postitive Reviews: 4.80e-06, Negative Reviews: 2.73e-05, Total Reviews: 7.89e-06 | -| 81 | cceleste | cceleste | N/A | ✗ | 0.000009 | Visits: 6.90e-06, Want to Play: 8.32e-06, Played: 2.61e-05 | -| 82 | raptor | raptor | N/A | ✗ | 0.000009 | Visits: 2.07e-05, Want to Play: 5.55e-06, Played: 2.40e-05 | -| 83 | commander.genius | commander.genius | N/A | ✗ | 0.000008 | Visits: 6.90e-06, Played: 2.29e-05, 24hr Peak Players: 7.82e-07, Postitive Reviews: 1.19e-05, Negative Reviews: 5.30e-06, Total Reviews: 1.10e-05, Global Top Sellers: 3.10e-05 | -| 84 | neverball | neverball | N/A | ✗ | 0.000008 | Playing: 1.27e-05, Played: 4.17e-06 | -| 85 | alephone-marathoninfinity | alephone-marathoninfinity | N/A | ✗ | 0.000008 | Want to Play: 1.94e-05, Played: 9.38e-06 | -| 86 | opensyobon | opensyobon | N/A | ✗ | 0.000008 | Visits: 1.38e-05, Played: 1.56e-05 | -| 87 | blues.brothers | blues.brothers | N/A | ✗ | 0.000007 | Visits: 1.38e-05, Want to Play: 2.77e-06, Played: 2.29e-05 | -| 88 | avp | avp | N/A | ✗ | 0.000007 | Visits: 2.76e-05, Want to Play: 1.94e-05, Played: 1.56e-05, 24hr Peak Players: 6.51e-07, Postitive Reviews: 1.96e-05, Negative Reviews: 1.72e-05, Total Reviews: 1.93e-05 | -| 89 | derclou | derclou | N/A | ✗ | 0.000007 | Want to Play: 8.32e-06, Playing: 1.27e-05, Played: 6.25e-06 | -| 90 | spinch | spinch | N/A | ✗ | 0.000007 | Want to Play: 2.22e-05, Played: 6.25e-06 | -| 91 | steelassault | steelassault | N/A | ✗ | 0.000007 | Visits: 6.90e-06, Want to Play: 3.33e-05, Played: 7.30e-06 | -| 92 | fade_to_black | fade_to_black | N/A | ✗ | 0.000007 | Visits: 1.38e-05, Want to Play: 2.22e-05, Played: 1.04e-05 | -| 93 | reminiscence | reminiscence | N/A | ✗ | 0.000007 | Visits: 6.90e-06, Want to Play: 1.39e-05, Playing: 1.27e-05, Played: 8.34e-06 | -| 94 | bermuda_syndrome | bermuda_syndrome | N/A | ✗ | 0.000006 | Want to Play: 5.55e-06, Playing: 1.27e-05, Played: 5.21e-06 | -| 95 | ubermoshcollection | ubermoshcollection | N/A | ✗ | 0.000006 | Want to Play: 2.77e-06, Playing: 1.27e-05, Played: 5.21e-06, 24hr Peak Players: 1.69e-06, Postitive Reviews: 2.16e-05, Negative Reviews: 1.66e-05, Total Reviews: 2.09e-05 | -| 96 | pekka-kana-2 | pekka-kana-2 | N/A | ✗ | 0.000006 | Want to Play: 2.77e-06, Playing: 1.27e-05, Played: 5.21e-06 | -| 97 | openomf | openomf | N/A | ✗ | 0.000006 | Want to Play: 2.77e-06, Played: 1.35e-05 | -| 98 | roguelight | roguelight | N/A | ✗ | 0.000005 | Want to Play: 2.77e-06, Playing: 1.27e-05, Played: 3.13e-06 | -| 99 | powder | powder | N/A | ✗ | 0.000005 | Want to Play: 2.77e-06, Playing: 1.27e-05, Played: 2.08e-06 | -| 100 | blood | blood | N/A | ✗ | 0.000005 | Playing: 1.27e-05, Played: 8.34e-06, 24hr Peak Players: 0.00e+00, Postitive Reviews: 1.05e-05, Negative Reviews: 6.10e-06, Total Reviews: 9.88e-06 | -| 101 | hota | hota | N/A | ✗ | 0.000005 | Played: 6.25e-06 | -| 102 | dungeonsouls | dungeonsouls | N/A | ✗ | 0.000005 | Visits: 6.90e-06, Want to Play: 1.39e-05, Played: 8.34e-06, 24hr Peak Players: 1.30e-07, Postitive Reviews: 1.41e-05, Negative Reviews: 3.12e-05, Total Reviews: 1.64e-05 | -| 103 | bstone-ps | bstone-ps | N/A | ✗ | 0.000005 | Want to Play: 5.55e-06, Playing: 2.54e-05, Played: 8.34e-06, 24hr Peak Players: 0.00e+00, Postitive Reviews: 3.76e-07, Negative Reviews: 8.57e-07, Total Reviews: 4.42e-07 | -| 104 | freeserf | freeserf | N/A | ✗ | 0.000004 | Want to Play: 5.55e-06, Played: 8.34e-06 | -| 105 | bstone-aog | bstone-aog | N/A | ✗ | 0.000004 | Visits: 6.90e-06, Want to Play: 8.32e-06, Playing: 1.27e-05, Played: 1.98e-05, 24hr Peak Players: 0.00e+00, Postitive Reviews: 1.04e-06, Negative Reviews: 1.07e-06, Total Reviews: 1.05e-06 | -| 106 | nanosaur | nanosaur | N/A | ✗ | 0.000004 | Played: 5.21e-06 | -| 107 | uqm | uqm | N/A | ✗ | 0.000004 | Played: 5.21e-06 | -| 108 | bugdom | bugdom | N/A | ✗ | 0.000003 | Want to Play: 2.77e-06, Played: 7.30e-06 | -| 109 | sulka | sulka | N/A | ✗ | 0.000003 | Played: 4.17e-06 | -| 110 | world.war.ii.gi | world.war.ii.gi | N/A | ✗ | 0.000003 | Played: 4.17e-06 | -| 111 | russiansubwaydogs | russiansubwaydogs | N/A | ✗ | 0.000003 | Want to Play: 8.32e-06 | -| 112 | super.mario.war | super.mario.war | N/A | ✗ | 0.000003 | Visits: 2.76e-05, Want to Play: 5.55e-06, Played: 2.08e-06 | -| 113 | redneck.rampage.rides.again | redneck.rampage.rides.again | N/A | ✗ | 0.000003 | Want to Play: 1.11e-05, Played: 2.08e-06 | -| 114 | cosmo-engine | cosmo-engine | N/A | ✗ | 0.000003 | Played: 1.56e-05, 24hr Peak Players: 1.30e-07, Postitive Reviews: 1.02e-06, Negative Reviews: 9.10e-07, Total Reviews: 1.00e-06 | -| 115 | quake.2 | quake.2 | N/A | ✗ | 0.000003 | Want to Play: 2.77e-06, Played: 5.21e-06 | -| 116 | donut.dodo | donut.dodo | N/A | ✗ | 0.000003 | Played: 3.13e-06 | -| 117 | pigeon | pigeon | N/A | ✗ | 0.000003 | Played: 3.13e-06 | -| 118 | psebay | psebay | N/A | ✗ | 0.000003 | Played: 3.13e-06 | -| 119 | wordlesdl | wordlesdl | N/A | ✗ | 0.000002 | Want to Play: 2.77e-06, Played: 6.25e-06, 24hr Peak Players: 1.56e-06, Postitive Reviews: 4.45e-06, Negative Reviews: 4.98e-06, Total Reviews: 4.53e-06 | -| 120 | colorlines | colorlines | N/A | ✗ | 0.000002 | Want to Play: 2.77e-06, Played: 3.13e-06 | -| 121 | c-dogs | c-dogs | N/A | ✗ | 0.000002 | Played: 2.08e-06 | -| 122 | dinothawr | dinothawr | N/A | ✗ | 0.000002 | Played: 2.08e-06 | -| 123 | droid7 | droid7 | N/A | ✗ | 0.000002 | Played: 2.08e-06 | -| 124 | hoverboard | hoverboard | N/A | ✗ | 0.000002 | Played: 2.08e-06 | -| 125 | maldita.castilla | maldita.castilla | N/A | ✗ | 0.000002 | Played: 2.08e-06 | -| 126 | profadeluxe | profadeluxe | N/A | ✗ | 0.000002 | Played: 2.08e-06 | -| 127 | spooky | spooky | N/A | ✗ | 0.000002 | Played: 2.08e-06 | -| 128 | ultimatetapankaikki | ultimatetapankaikki | N/A | ✗ | 0.000002 | Played: 2.08e-06 | -| 129 | zgloom | zgloom | N/A | ✗ | 0.000002 | Visits: 6.90e-06, Want to Play: 2.77e-06, Played: 3.13e-06 | -| 130 | nanosaur2 | nanosaur2 | N/A | ✗ | 0.000001 | Want to Play: 2.77e-06, Played: 2.08e-06 | -| 131 | magicvigilante | magicvigilante | N/A | ✗ | 0.000001 | Want to Play: 2.77e-06 | -| 132 | neoncityriders | neoncityriders | N/A | ✗ | 0.000001 | Want to Play: 2.77e-06 | -| 133 | sdlsopwith | sdlsopwith | N/A | ✗ | 0.000001 | Want to Play: 2.77e-06 | -| 134 | skijump3 | skijump3 | N/A | ✗ | 0.000001 | Want to Play: 2.77e-06 | -| 135 | hydorah | hydorah | N/A | ✗ | 0.000001 | Want to Play: 2.77e-06, Played: 1.04e-06 | -| 136 | infra_arcana | infra_arcana | N/A | ✗ | 0.000001 | Want to Play: 2.77e-06, Played: 1.04e-06 | -| 137 | apocrunner | apocrunner | N/A | ✗ | 0.000001 | Played: 1.04e-06 | -| 138 | bbja | bbja | N/A | ✗ | 0.000001 | Played: 1.04e-06 | -| 139 | billyfrontier | billyfrontier | N/A | ✗ | 0.000001 | Played: 1.04e-06 | -| 140 | blobwars | blobwars | N/A | ✗ | 0.000001 | Played: 1.04e-06 | -| 141 | bzflag | bzflag | N/A | ✗ | 0.000001 | Played: 1.04e-06 | -| 142 | cromagrally | cromagrally | N/A | ✗ | 0.000001 | Played: 1.04e-06 | -| 143 | firearrow | firearrow | N/A | ✗ | 0.000001 | Played: 1.04e-06 | -| 144 | mightymike | mightymike | N/A | ✗ | 0.000001 | Played: 1.04e-06 | -| 145 | ottomatic | ottomatic | N/A | ✗ | 0.000001 | Played: 1.04e-06 | -| 146 | rota | rota | N/A | ✗ | 0.000001 | Played: 1.04e-06 | -| 147 | abes_adventure | abes_adventure | N/A | ✗ | 0.000000 | No metrics available | -| 148 | abombniball | abombniball | N/A | ✗ | 0.000000 | No metrics available | -| 149 | alchemyquest | alchemyquest | N/A | ✗ | 0.000000 | No metrics available | -| 150 | am2r | am2r | N/A | ✗ | 0.000000 | No metrics available | -| 151 | anarch | anarch | N/A | ✗ | 0.000000 | No metrics available | -| 152 | banana.duck | banana.duck | N/A | ✗ | 0.000000 | No metrics available | -| 153 | beat2x | beat2x | N/A | ✗ | 0.000000 | No metrics available | -| 154 | blastius | blastius | N/A | ✗ | 0.000000 | No metrics available | -| 155 | bleed | bleed | N/A | ✗ | 0.000000 | No metrics available | -| 156 | bleed2 | bleed2 | N/A | ✗ | 0.000000 | No metrics available | -| 157 | blobby.volley2 | blobby.volley2 | N/A | ✗ | 0.000000 | No metrics available | -| 158 | block.attack | block.attack | N/A | ✗ | 0.000000 | No metrics available | -| 159 | bravedogsroad | bravedogsroad | N/A | ✗ | 0.000000 | No metrics available | -| 160 | bumpersbroadswords | bumpersbroadswords | N/A | ✗ | 0.000000 | No metrics available | -| 161 | burst | burst | N/A | ✗ | 0.000000 | No metrics available | -| 162 | cannonball | cannonball | N/A | ✗ | 0.000000 | No metrics available | -| 163 | cave.story-evo | cave.story-evo | N/A | ✗ | 0.000000 | No metrics available | -| 164 | cave.story | cave.story | N/A | ✗ | 0.000000 | No metrics available | -| 165 | chip | chip | N/A | ✗ | 0.000000 | No metrics available | -| 166 | cliff_hanger | cliff_hanger | N/A | ✗ | 0.000000 | No metrics available | -| 167 | clockwind | clockwind | N/A | ✗ | 0.000000 | No metrics available | -| 168 | corsixth | corsixth | N/A | ✗ | 0.000000 | No metrics available | -| 169 | davegnukem | davegnukem | N/A | ✗ | 0.000000 | No metrics available | -| 170 | deep_sleep | deep_sleep | N/A | ✗ | 0.000000 | No metrics available | -| 171 | defshot | defshot | N/A | ✗ | 0.000000 | No metrics available | -| 172 | diverdown | diverdown | N/A | ✗ | 0.000000 | No metrics available | -| 173 | dungeonrush | dungeonrush | N/A | ✗ | 0.000000 | No metrics available | -| 174 | echo_chamber | echo_chamber | N/A | ✗ | 0.000000 | No metrics available | -| 175 | eity | eity | N/A | ✗ | 0.000000 | No metrics available | -| 176 | enigma | enigma | N/A | ✗ | 0.000000 | No metrics available | -| 177 | escape | escape | N/A | ✗ | 0.000000 | No metrics available | -| 178 | f1race | f1race | N/A | ✗ | 0.000000 | No metrics available | -| 179 | falling_time | falling_time | N/A | ✗ | 0.000000 | No metrics available | -| 180 | farmner | farmner | N/A | ✗ | 0.000000 | No metrics available | -| 181 | final_quest | final_quest | N/A | ✗ | 0.000000 | No metrics available | -| 182 | fire_and_fondness2 | fire_and_fondness2 | N/A | ✗ | 0.000000 | No metrics available | -| 183 | flare | flare | N/A | ✗ | 0.000000 | No metrics available | -| 184 | freedroid | freedroid | N/A | ✗ | 0.000000 | No metrics available | -| 185 | freegemas | freegemas | N/A | ✗ | 0.000000 | No metrics available | -| 186 | gigalomania | gigalomania | N/A | ✗ | 0.000000 | No metrics available | -| 187 | gmu.music.player | gmu.music.player | N/A | ✗ | 0.000000 | No metrics available | -| 188 | gnurobbo | gnurobbo | N/A | ✗ | 0.000000 | No metrics available | -| 189 | gumgem | gumgem | N/A | ✗ | 0.000000 | No metrics available | -| 190 | half-life.2 | half-life.2 | N/A | ✗ | 0.000000 | No metrics available | -| 191 | hawkthorne | hawkthorne | N/A | ✗ | 0.000000 | No metrics available | -| 192 | heboris-sdl | heboris-sdl | N/A | ✗ | 0.000000 | No metrics available | -| 193 | help.no.brake | help.no.brake | N/A | ✗ | 0.000000 | No metrics available | -| 194 | hex-a-hop | hex-a-hop | N/A | ✗ | 0.000000 | No metrics available | -| 195 | hftsr | hftsr | N/A | ✗ | 0.000000 | No metrics available | -| 196 | hijinx | hijinx | N/A | ✗ | 0.000000 | No metrics available | -| 197 | hocoslamfy | hocoslamfy | N/A | ✗ | 0.000000 | No metrics available | -| 198 | humming.out | humming.out | N/A | ✗ | 0.000000 | No metrics available | -| 199 | hydra.castle.labyrinth | hydra.castle.labyrinth | N/A | ✗ | 0.000000 | No metrics available | -| 200 | hyper.jump | hyper.jump | N/A | ✗ | 0.000000 | No metrics available | -| 201 | hyperfight | hyperfight | N/A | ✗ | 0.000000 | No metrics available | -| 202 | iichantra_pear | iichantra_pear | N/A | ✗ | 0.000000 | No metrics available | -| 203 | klorets | klorets | N/A | ✗ | 0.000000 | No metrics available | -| 204 | kobodeluxe | kobodeluxe | N/A | ✗ | 0.000000 | No metrics available | -| 205 | laserkombat | laserkombat | N/A | ✗ | 0.000000 | No metrics available | -| 206 | margot_beatrice_adventure | margot_beatrice_adventure | N/A | ✗ | 0.000000 | No metrics available | -| 207 | maximilien_adventure | maximilien_adventure | N/A | ✗ | 0.000000 | No metrics available | -| 208 | meandmyshadow | meandmyshadow | N/A | ✗ | 0.000000 | No metrics available | -| 209 | megaman | megaman | N/A | ✗ | 0.000000 | No metrics available | -| 210 | meritous | meritous | N/A | ✗ | 0.000000 | No metrics available | -| 211 | mirrormagic | mirrormagic | N/A | ✗ | 0.000000 | No metrics available | -| 212 | missdriller | missdriller | N/A | ✗ | 0.000000 | No metrics available | -| 213 | moonlight | moonlight | N/A | ✗ | 0.000000 | No metrics available | -| 214 | mr.boom | mr.boom | N/A | ✗ | 0.000000 | No metrics available | -| 215 | multris | multris | N/A | ✗ | 0.000000 | No metrics available | -| 216 | murtop | murtop | N/A | ✗ | 0.000000 | No metrics available | -| 217 | nam | nam | N/A | ✗ | 0.000000 | No metrics available | -| 218 | nanobounce | nanobounce | N/A | ✗ | 0.000000 | No metrics available | -| 219 | neogensokyo | neogensokyo | N/A | ✗ | 0.000000 | No metrics available | -| 220 | nkaruga | nkaruga | N/A | ✗ | 0.000000 | No metrics available | -| 221 | nonny | nonny | N/A | ✗ | 0.000000 | No metrics available | -| 222 | nothing | nothing | N/A | ✗ | 0.000000 | No metrics available | -| 223 | nova_pinball | nova_pinball | N/A | ✗ | 0.000000 | No metrics available | -| 224 | npuzzle | npuzzle | N/A | ✗ | 0.000000 | No metrics available | -| 225 | openblok | openblok | N/A | ✗ | 0.000000 | No metrics available | -| 226 | openmrac | openmrac | N/A | ✗ | 0.000000 | No metrics available | -| 227 | outofammo | outofammo | N/A | ✗ | 0.000000 | No metrics available | -| 228 | paused | paused | N/A | ✗ | 0.000000 | No metrics available | -| 229 | pinball_disc_room | pinball_disc_room | N/A | ✗ | 0.000000 | No metrics available | -| 230 | pixelheat | pixelheat | N/A | ✗ | 0.000000 | No metrics available | -| 231 | planetwaves | planetwaves | N/A | ✗ | 0.000000 | No metrics available | -| 232 | plaqueattackremake | plaqueattackremake | N/A | ✗ | 0.000000 | No metrics available | -| 233 | pockettactics | pockettactics | N/A | ✗ | 0.000000 | No metrics available | -| 234 | prototype | prototype | N/A | ✗ | 0.000000 | No metrics available | -| 235 | puremetal | puremetal | N/A | ✗ | 0.000000 | No metrics available | -| 236 | quake | quake | N/A | ✗ | 0.000000 | No metrics available | -| 237 | retrotime | retrotime | N/A | ✗ | 0.000000 | No metrics available | -| 238 | ri_li | ri_li | N/A | ✗ | 0.000000 | No metrics available | -| 239 | rlvm | rlvm | N/A | ✗ | 0.000000 | No metrics available | -| 240 | rocksndiamonds | rocksndiamonds | N/A | ✗ | 0.000000 | No metrics available | -| 241 | rotationalshift | rotationalshift | N/A | ✗ | 0.000000 | No metrics available | -| 242 | satryn | satryn | N/A | ✗ | 0.000000 | No metrics available | -| 243 | sdlpop | sdlpop | N/A | ✗ | 0.000000 | No metrics available | -| 244 | shipwreck | shipwreck | N/A | ✗ | 0.000000 | No metrics available | -| 245 | siegeofosaka | siegeofosaka | N/A | ✗ | 0.000000 | No metrics available | -| 246 | simonsqrev | simonsqrev | N/A | ✗ | 0.000000 | No metrics available | -| 247 | simplesokoban | simplesokoban | N/A | ✗ | 0.000000 | No metrics available | -| 248 | sm64 | sm64 | N/A | ✗ | 0.000000 | No metrics available | -| 249 | sonic.1 | sonic.1 | N/A | ✗ | 0.000000 | No metrics available | -| 250 | starboy | starboy | N/A | ✗ | 0.000000 | No metrics available | -| 251 | starcatcher | starcatcher | N/A | ✗ | 0.000000 | No metrics available | -| 252 | superxyx | superxyx | N/A | ✗ | 0.000000 | No metrics available | -| 253 | tamatool | tamatool | N/A | ✗ | 0.000000 | No metrics available | -| 254 | thecurseofissyos | thecurseofissyos | N/A | ✗ | 0.000000 | No metrics available | -| 255 | thermomorph | thermomorph | N/A | ✗ | 0.000000 | No metrics available | -| 256 | thwack | thwack | N/A | ✗ | 0.000000 | No metrics available | -| 257 | tileworld | tileworld | N/A | ✗ | 0.000000 | No metrics available | -| 258 | tiny-crate | tiny-crate | N/A | ✗ | 0.000000 | No metrics available | -| 259 | titan_tactics | titan_tactics | N/A | ✗ | 0.000000 | No metrics available | -| 260 | tomb.raider.2 | tomb.raider.2 | N/A | ✗ | 0.000000 | No metrics available | -| 261 | tomb.raider.3 | tomb.raider.3 | N/A | ✗ | 0.000000 | No metrics available | -| 262 | tube64 | tube64 | N/A | ✗ | 0.000000 | No metrics available | -| 263 | turbotabletennis | turbotabletennis | N/A | ✗ | 0.000000 | No metrics available | -| 264 | upo | upo | N/A | ✗ | 0.000000 | No metrics available | -| 265 | wetspot2 | wetspot2 | N/A | ✗ | 0.000000 | No metrics available | -| 266 | wizardchase | wizardchase | N/A | ✗ | 0.000000 | No metrics available | -| 267 | wizznic | wizznic | N/A | ✗ | 0.000000 | No metrics available | -| 268 | worship_vector | worship_vector | N/A | ✗ | 0.000000 | No metrics available | -| 269 | xenonvalkyrie | xenonvalkyrie | N/A | ✗ | 0.000000 | No metrics available | -| 270 | yatka | yatka | N/A | ✗ | 0.000000 | No metrics available | -| 271 | znax | znax | N/A | ✗ | 0.000000 | No metrics available |