From 4209dcb44f8a05c4db70b6f36c8ebe3a2a8139b0 Mon Sep 17 00:00:00 2001 From: wgroeneveld Date: Fri, 29 Jul 2022 16:27:57 +0200 Subject: [PATCH] the board game shelf analysis 2022: average additions --- .../07/the-2022-board-game-shelf-analysis.md | 4 +++- extras/bgg.py | 16 ++++++++++++++-- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/content/post/2022/07/the-2022-board-game-shelf-analysis.md b/content/post/2022/07/the-2022-board-game-shelf-analysis.md index 557ce262..cbfd78f1 100644 --- a/content/post/2022/07/the-2022-board-game-shelf-analysis.md +++ b/content/post/2022/07/the-2022-board-game-shelf-analysis.md @@ -76,12 +76,14 @@ All right, so what does that teach us? 3. What's up with all those red triangles floating on top of the rest? The heavier a game, the **less likely it sees the table**! I know many people judge the staying power of a board game by the amount of times it is actually played, but I disagree. My wife dislikes heavy hitters such as Fields of Arle while I _love_ them. Since we mostly play together, the simpler games also see a fair bit of playtime. That could also mean that... 4. Since I also tend to rate heavier games higher (same correlation, **0.63**), I urgently need to meet up more with friends to play the heavier games in the `-` range! _"We should make this a recurring thing."_ For how long have we been saying that now? 5. Judging from the second plot, there are too many games I don't like still in this list, and don't even see many play time. Again, this is a bit unfair since (1) my wife likes nostalgic simple games like _Dead End Drive_ or _Ramses_, even though we don't play them often. This is my personal score, not hers, and we obviously collectively own everything. +6. Averages: BGG score `6.94/10`, own score `2.89/4` (`7.23/10`), weight `2.09/5`. Perhaps that means I could be a tad more critical---or it just means we indeed made the right decisions keeping the games we love and getting rid of the ones we don't like. +7. Average plays: `1.69/3`. Not something to be particularly proud of... Okay, I know it, the graph shows it, the photograph shows it... We'll have to talk about the elephant in the room: the overload of Euro _Uwe Rosenberg_ games that are heavy and never see play. There are still games in the closet that need to be replayed and then perhaps let go of: _Le Havre_ (too similar to _Agricola_ and _Arle_), _Nightfall_ (_Dominion_ with direct interaction and weird chaining that my play group doesn't like), _Carson City_ (yet another worker placement game that's better with 3, but I love the theme), some only mildly entertaining smaller card games we're not yet sure of, etc. I tried including a "optimal number of players" property in there, but it would be a bit too much. A quick count says the following about the collection: -1. 26 out of 45 games (`58%`) play great with two players. We try to keep an eye on that. +1. 26 out of 45 games (`58%`) play great with two players---14 of those (`31%`) even exclusively. We try to keep an eye on that. 2. 15 games (`33%`) are card-based. I love card games. Excluding Magic, of course. 3. Only `24%` of our games see regular play (`++`). `20%` now and then (`+`), and `56%` almost never (`-`). Ouch. This again isn't a very accurate statistic: we bought _The Quest for El Dorado_ last week and so far we think it's awesome but it's obviously only seen play three or so times. It's a fairly telling estimation though. diff --git a/extras/bgg.py b/extras/bgg.py index a5792e80..50a7b764 100644 --- a/extras/bgg.py +++ b/extras/bgg.py @@ -46,8 +46,9 @@ print(" \t -- OVERALL") print(np.corrcoef(list(map(lambda v: v['score']['BGG'], data)), list(map(lambda v: v['score']['W'], data)))) print("\n\n") -print("Correlation between weight and plays?") -print(np.corrcoef(list(map(lambda v: v['score']['W'], data)), list(map(lambda v: v['weight'], data)))) +#print("Correlation between weight and plays?") +#print(np.corrcoef(list(map(lambda v: v['score']['W'], data)), list(map(lambda v: v['weight'], data)))) + def play(p): if p == 1: @@ -59,5 +60,16 @@ def play(p): for e in data: print("| [" + e['name'] + "](" + e['link'] + ") | " + str(e['score']['BGG']) + " (" + str(e['score']['W']) + ") | " + str(e['weight']) + " | " + play(e['plays']) + " |") +print("Averages:") +print("\t BGG") +print(str(sum(list(map(lambda v: v['score']['BGG'], data))) / len(data))) +print("\t Own") +print(str(sum(list(map(lambda v: v['score']['W'], data))) / len(data))) +print("\t Weight") +print(str(sum(list(map(lambda v: v['weight'], data))) / len(data))) +print("\t plays") +print(str(sum(list(map(lambda v: v['plays'], data))) / len(data))) + + plt.show()