BGG Data

Author

Phil Henrickson

Published

May 28, 2025

1 Overview

Loading historical data from BoardGameGeek (BGG) for predictive modeling and analysis.

  1. Loads universe of game ids from bgg activity club
  2. Submits batches of requests via bggUtils
  3. Stores responses on BigQuery and Google Cloud Storage

1.1 Targets

Uses targets package to create pipeline

1.2 Pipeline

Show the code
targets::tar_visnetwork(targets_only = T)
Set default bucket name to 'bgg_data_dev'

1.3 Data

batches of games requested from API

Show the code
list_games_objects = function(bucket, prefix = "raw/objects/games") {
    googleCloudStorageR::gcs_list_objects(
        bucket = bucket,
        prefix = prefix,
        versions = T,
        detail = "full"
    ) |>
        filter(name == prefix) |>
        arrange(desc(updated))
}

print_games_objects = function(obj) {
    obj |>
        select(bucket, name, generation, updated) |>
        knitr::kable(format = "markdown")
}

buckets = c("bgg_data", "bgg_data_dev", "bgg_data_staging")
games_objs <- map(
    buckets,
    ~ list_games_objects(bucket = .x)
)
names(games_objs) = buckets
games_objs$bgg_data |>
    print_games_objects()
bucket name generation updated
bgg_data raw/objects/games 1748454988000060 2025-05-28 17:56:28
bgg_data raw/objects/games 1747834855255018 2025-05-21 13:40:55
bgg_data raw/objects/games 1747055380372986 2025-05-12 13:09:40
bgg_data raw/objects/games 1745860932921040 2025-04-28 17:22:12
bgg_data raw/objects/games 1745074120055107 2025-04-19 14:48:40
bgg_data raw/objects/games 1744392659954256 2025-04-11 17:30:59
bgg_data raw/objects/games 1743780453796724 2025-04-04 15:27:33
bgg_data raw/objects/games 1742943479411730 2025-03-25 22:57:59
bgg_data raw/objects/games 1742911503045718 2025-03-25 14:05:03
bgg_data raw/objects/games 1742489667404929 2025-03-20 16:54:27
bgg_data raw/objects/games 1741629678449522 2025-03-10 18:01:18
bgg_data raw/objects/games 1740875193707566 2025-03-02 00:26:33
bgg_data raw/objects/games 1732133366577344 2024-11-20 20:09:26
bgg_data raw/objects/games 1730333447804461 2024-10-31 00:10:47
bgg_data raw/objects/games 1728676924892464 2024-10-11 20:02:04
bgg_data raw/objects/games 1726869993009335 2024-09-20 22:06:33
bgg_data raw/objects/games 1724967426023865 2024-08-29 21:37:06
bgg_data raw/objects/games 1723671710966893 2024-08-14 21:41:51
bgg_data raw/objects/games 1721888393714463 2024-07-25 06:19:53
bgg_data raw/objects/games 1721147850023745 2024-07-16 16:37:30
bgg_data raw/objects/games 1720538619978866 2024-07-09 15:23:40
bgg_data raw/objects/games 1719427179309064 2024-06-26 18:39:39
bgg_data raw/objects/games 1718727954502104 2024-06-18 16:25:54
bgg_data raw/objects/games 1717875919368938 2024-06-08 19:45:19
bgg_data raw/objects/games 1717195700015761 2024-05-31 22:48:20
bgg_data raw/objects/games 1716489185536915 2024-05-23 18:33:05
bgg_data raw/objects/games 1715797632435985 2024-05-15 18:27:12
bgg_data raw/objects/games 1715108438703699 2024-05-07 19:00:38
bgg_data raw/objects/games 1714158379364878 2024-04-26 19:06:19
bgg_data raw/objects/games 1713464380724452 2024-04-18 18:19:40
bgg_data raw/objects/games 1711561705858375 2024-03-27 17:48:25
bgg_data raw/objects/games 1710336954503166 2024-03-25 16:45:31
bgg_data raw/objects/games 1708980495752949 2024-02-26 20:48:15
games_objs$bgg_data_staging |>
    print_games_objects()
bucket name generation updated
bgg_data_staging raw/objects/games 1748454975803301 2025-05-28 17:56:15

1.4 Games

What’s new on BGG?

Show the code
# get last two generations
gens <-
    games_objs$bgg_data |>
    arrange(desc(updated)) |>
    head(2) |>
    pull(generation)

# most recent gen
active_games <- load_games_from_bucket(
    bucket = "bgg_data",
    generation = gens[1]
)
previous_games <- load_games_from_bucket(
    bucket = "bgg_data",
    generation = gens[2]
)

# find games only in most recent batch
active_games |>
    anti_join(
        previous_games |>
            select(game_id)
    ) |>
    bggUtils:::unnest_info() |>
    select(game_id, name, yearpublished) |>
    arrange(desc(yearpublished)) |>
    knitr::kable(format = "markdown")
game_id name yearpublished
446875 The Fable of Mable on the Witch’s Table 2026
446893 Realm of Reckoning 2026
446929 Purgatory: Reincarnate Souls 2026
447002 Sanibel 2026
447090 BattleForge: Berserker 2026
447123 Marches & Batailles 2026
447125 Vampire Survivors: The Board Game 2026
447137 Trismegistus: Roll & Write 2026
447245 Italia 1497 2026
447251 Mate: The Party Game for Feral Naturalists 2026
447261 PowerPunch! 2026
447276 Rascally Rabbits 2026
447277 Atlas: Backpacker Edition 2026
446366 A Useless Fight: The Battle of Trent’s Reach, January 23-24, 1865 2025
446383 Ducks in a Row: A game of deducktive reasoning 2025
446616 Miams 2025
446631 HiLo: Dein Königreich 2025
446701 The King of Antiques 2025
446736 Empire The Board Game 2025
446836 Obstgarten Tropic 2025
446846 Artisticamente 2025
446874 Fight for America! 2025
446888 Go Viking 2025
446889 Sci Me! arithmetic 2025
446895 Moana Nui 2025
446898 World War II Solitaire: Echoes of War – Allied Edition 2025
446901 Twelve 2025
446904 ICBRG 2025
446906 Linimasa Card Game: Nusantara Edition 2025
446907 Buckanjär 2025
446912 Hooray! 2025
446913 Funkyphant 2025
446914 Game Meets Puzzle: Ocean Twist 2025
446915 Wedding Seating Chart 2025
446916 Game Meets Puzzle: Crazy Copter 2025
446921 My Very First Games: Block by Block 2025
446922 Bohaterowie Domowego Budżetu 2025
446925 Plastic Fighters 2025
446926 The Eldritch Diary 2025
446927 Chesscode 2025
446930 Match Me If You Can 2025
446932 echoes: Ever & After 2025
446933 Mystery Riddles: Adventskalender – Der indische Palast​ 2025
446935 KakerlaHex 2025
446939 My Favorite Pizza 2025
446943 Canopic Jar Curse 2025
446948 Ventopia: Die fliegende Insel 2025
446949 Die glorreichen Gilden von Buttonville 2025
446950 echoes tatort: Der Geisterseher 2025
446953 Soda Jerk 2025
446965 Postcard Myitkyina, Burma 1944 2025
446973 私だけの晴天 (My Own Sunny Day) 2025
446974 Vi Är Ej Maskiner 2025
447004 Quick Paws 2025
447008 Wanderwege 2025
447009 Slopecrashers 2025
447020 Team Boxing Trick 2025
447022 SMOMBIE -Vacation- (スモンビー・バケーション) 2025
447023 Occupation 2025
447024 Ring of Truth 2025
447025 Prima o dopo 2025
447026 Catacombs Alpha 2025
447037 Pilsna: A Drink to the Past 2025
447042 Pork 2025
447050 Smatchy Matchy 2025
447051 Sherlock Holmes and the Return to Baskerville Hall 2025
447052 Murder at Gatsby Manor 2025
447056 Big Daft Noise War 2025
447064 La Elocuencia del Diablo 2025
447065 Penguin Kaboom 2025
447066 FIRE! Modern Combat 2025
447083 Fly Fight Win: Danger Zone 2025
447084 Fly Fight Win: Honcho 2025
447085 Fly Fight Win: Wingman 2025
447086 Несказочная заварушка (The Not Fabulous Mess) 2025
447089 COMBOE! 2025
447093 Chutney 2025
447094 Pikel 2025
447101 Heist Night 2025
447102 Tatort Meer Junior: Schmutziges Verbrechen 2025
447110 Everest Go! 2025
447111 Octagion Starter Pack 2025
447115 PocketParks 2025
447116 The Summer Job: a Break system gamebook 2025
447119 Megabeast: Last Titans 2025
447122 The Eyes of the Enemy: The Battle for Madrid, November 1936 2025
447144 Csongor és Tünde: Kalandozás Tündérországban 2025
447145 Csongor és Tünde: A Kártyajáték 2025
447147 Battle Pages: 2025 Year-Long Adventure Set 2025
447148 Blastborn 2025
447149 Olé11 2025
447150 O.OQUO: The Forgotten Game 2025
447151 Creature Crash 2025
447154 Cows in Space 2025
447156 La Sfida di CNA 2025
447209 Shakespeare: The Card Game 2025
447218 Shikigamijima Island 2025
447219 Inverted Pyramids 2025
447220 Golden Gamble 2025
447222 Gadur 2025
447228 Twisted Words 2025
447230 Cyberpunk: Crittmancer 2025
447235 Night of the Wolf 2025
447243 Cardia 2025
447244 Exploding Kittens: The Board Game 2025
447246 Drunken Chonker 2025
447247 Rainbow Mancala 2025
447248 Chonker Party: Team Play 2025
447249 Pollard 2025
447253 Warlords of the Steppes 2025
447256 Chonker Party: Team Play 2025
447257 Twenty-Eight 2025
447259 Burl 2025
447260 The Siren’s Melody 2025
447262 Loom 2025
447263 Tank Club 2025
447264 Gatling Camel Riders 2025
447267 Snow Colony 2025
447269 Escuela de Monstruos 2025
447275 One Page Naval Battles 2025
447298 Disney Villainous: Treacherous Tides 2025
447314 Casque Chèque Chat 2025
447354 World War II Solitaire: Echoes of War – Axis Edition 2025
446092 Back to the 80s: Il grande quiz degli anni Ottanta 2024
446371 ХАЙП: Битва за популярність (HYPE: Battle for Popularity) 2024
446400 Nabstones 2024
446408 Memotions 2024
446609 Captain Octo 2024
446810 Warhammer 40.000: Kill Team – Core Book 2024
447030 Latte Maker 2024
447135 假说演绎法 (The selfish gene) 2024
447224 My very first games: My Home 2024
447226 The Woof Woof Game 2024
447229 Bella Bee 2024
447240 HAKO 2024
447273 Hook Rally 2024
446417 Mars Ravelo’s Darna at ang Nawawalang Bato: Hero Edition 2023
446608 Card de Bomber 2023
446946 CHAOS 2023
447017 クイックピクト (Quick Pic) 2023
447021 Smombie 2023
447028 Оборотное зелье (Oborotnoe zelye) 2023
447223 Escape Box: Der Tempel des Drachen 2023
447225 Rusty Front Airship Pursuit 2023
446299 Il Boss del Mercato 2022
446733 Tengi 2022
446845 Identikit 2022
447057 Slap the Deck 2022
447242 CarousHELL: The Deck Building Game 2022
447255 Maltfriend’s Journey 2022
446336 Pas l’temps d’niaiser 2021
446872 Cactus Town: Deluxe Edition 2021
446928 Crímenes ilustrados: ¿Suicicio o asesinato? 2021
447098 Legacy of The Rangers 2021
447152 Mercy Ships 2021
447163 Das kleine Einmaleins 2021
446903 Show Me U Know Me 2020
446968 Indignity! 2020
446969 Indignity! Not Safe For Work 2020
446970 Indignity! Deluxe Box Edition 2020
446971 Indignity! Gold Box Edition 2020
447124 Tipni si!: Známe se? 18+ 2020
447171 Knights of the North Road 2020
446942 Magic School 2019
447097 Spell Arena 2019
447268 Millon 2019
447055 Naruto Shippuden: Combate DE Ninjas 2018
447060 Naruto Shippuden Battles of Kage 2018
245646 Champions of Midgard: Jarl Edition 2017
447099 Несміяка (Laughless) 2017
447100 Несміяка 18+ (Laughless 18+) 2017
447096 COMBOE! 2006
447271 Mister Mastro 2005
227 Knightmare Chess 1994
446977 Regierungsratsspieli 1986
447027 Parolo 1963
447134 Monster Maze Crazy Eights 1959
40472 CSI: Crime Game – Booster Pack #2 NA
446081 Pixeline Skolehjælp: Lær om søde dyr NA
446372 Honorbound: the Crucible of Legends NA
446377 Halma Eckha mit Hindernissen NA
446621 Deportes Cuatro NA
446905 Σώσε τα προβατάκια (Save the Sheep) NA
446908 Would You Still Love Me If… NA
446918 Ratted NA
446960 Little Select NA
446961 Wolf Panic NA
446972 Tartaria 2030 NA
446979 Vividiem NA
447016 Realms At War NA
447109 Genshin Impact Liyue Millennial Board Game NA
447142 50 Dinossauros NA
447146 Vakond túra NA
447221 Five Boroughs NA
447250 St. Gotthard Kriegsspiel NA
447270 Manhattan NA