QWERTYUIOP

QWERTYmartin's Unabridged Insights On Play

Archive for data

Recommend
90 
 Thumb up
50.34
 tip
 Hide

Don't end up with a stinky finger! Using a language model to generate board game descriptions.

Martin G
United Kingdom
Bristol
flag msg tools
badge
Don't fall in love with me yet, we've only recently met
Avatar
Microbadge: Babylonia fanMicrobadge: Babylonia fanMicrobadge: I love old-school German-style gamesMicrobadge: Babylonia fanMicrobadge: Babylonia fan
At work recently, I've been investigating developments in the field of language modeling. Ever-increasing computer power has allowed researchers to train their models on *vast* quantities of text from the internet, books etc. allowing them to predict more and more accurately which word will follow another in a given context. This is the technology behind the predictive text on your phone, Google's new search feature that highlights the answer to your question on a web page, and bots that write news articles that look like they're by journalists.

The models also allow you to generate text that imitates a particular style. And it turns out it's actually pretty easy to play with them at home, using someone else's computer power. I used these two Google Colab notebooks made by Max Woolf. They allow you to supply a file with some text you want to mimic, fine-tune the pre-trained model and then spit out new examples.

My idea for training text was the new, 85-character, user-submitted descriptions that have been popping up on BGG game pages in the last few weeks. I've written a couple of these myself, and they have a particular style that I thought might be quite successfully learned by the model.

I scraped the descriptions from the 500 most-rated games in the BGG database and uploaded these to the notebook. After a bit of experimentation with the settings (I needed much *less* training than the defaults to avoid it just parroting back exactly what I'd supplied), I came up with something that worked rather well. Or at least I think so. I'll let you be the judge...

Some I genuinely had to check weren't just in the training data:

Use gems, shields, and attack the hero in this popular strategy tower-building game.

As you progress through your trade missions, you must acquire tech to connect destinations.

Compete against others to gain space stations & control asteroid belts.

Defend an ancient temple against a formidable enemy, the Tamauk!

Out-think your opponent and race to climb the tallest building in this classic!

Move each tile as fast as you possibly can to win this unique board-less party stealth game!

Be the first to divest your assets in a deal that will collapse during the market crash!


Others are close but there's something a bit off:

Place your men on high alert to pillage cattle, pillage cattle, and gain glory.

It's strange being out alone. Someone stands in the path of you or your opponent. Will you find peace or... perish?

After Eridani wins Egypt, King Tut (Tutor!) and his friends must conquer the Earth in this sequel to the 2014 Egyptian sci-fi epic.

Use a criss-crossing fantasy tomorailer network. Expand as you see fit, until you get to a spot you can't find!

Become a banking acrobat and earn all the profit you can with small amounts of cash.

Become the complete Hoodrat and repeat your quest to attract dragonflies.

Send out the best team of wizards you can find to battle aliens and Mongols!

Research roads, build roads, get roads and get paid.

Place flowers, dice, bake, chase after your idols and win big.

Roll dice to foil the plans of your adversary! Your deck can hold 4,000—but hopefully not more!

Assert your martial prowess as you race to stave off cancer!

Race to identify the lone wolf and escape the city in this appallingly difficult game.

Send your assistants through the shops of Istanbul as you race to sell curries, while simultaneously trying to sell hot dogs to everyone!


Some are a little weirder:

Do not work as a team to rob a brothel. Release the rich ones and run out the clock. Then come back empty-handed!

Pass the sushi round or stack the deck to keep everyone from peeling off their bottoms.

Pass the sushi round with unique curries and a side of chips for good luck.

Play fantastical roles by transporting your arbitratorous>Botanicula to deliver delicious iced tea.

Use innkeepers to bring safe drinking water to your wealthy friends and family at one o'clock in the afternoon.

Assert your martial prowess as you propagate your race's DNA, utilizing unique mating strategies.


*gulp*. This one made me laugh out loud:

In this app-guided foot jog, complete the steps with your partner but don't end up with a stinky finger.

While this one made me think the model might be approaching sentience:

Science wonders why the human race can't unite to avert a pandemic.

Science really does.

And that's just a few highlights! How long before it can write the rulebooks too...
Twitter Facebook
61 Comments
Fri Jul 24, 2020 9:42 am
Post Rolls
  • [+] Dice rolls
Recommend
59 
 Thumb up
14.05
 tip
 Hide

Creating custom card games on playingcards.io

Martin G
United Kingdom
Bristol
flag msg tools
badge
Don't fall in love with me yet, we've only recently met
Avatar
Microbadge: Babylonia fanMicrobadge: Babylonia fanMicrobadge: I love old-school German-style gamesMicrobadge: Babylonia fanMicrobadge: Babylonia fan
I recently discovered http://playingcards.io, a really easy-to-use site where you can create a 'room' equipped with a deck of cards and share the link with as many players as you like (no login required). Movement is automatically synchronised between all players, so you can see cards being dragged around in real-time. You each get a 'hand' area too, and you can add named areas on the table to stack cards. If you've used Tabletop Simulator, think of this as a 2-D version.

But the coolest thing about it is the customisation features they've been adding! You can add new decks from a .csv file containing links to card images, so you choose basically any deck that you can create/scan images for. You can also resize decks, so you can easily use them to generate custom tokens too, and there are coloured pawns, counters and d2/4/6/8/10/12/20 spinners too.

Recently you've also been able to save an entire room layout (decks, positions of stacks on the table, counters etc.) which makes it very easy to share a customised set up for a specific game. For someone else to use it, they just create a new room as usual, go to 'edit mode', choose 'room options' and then upload the .pcio file.

From gallery of qwertymartin


So far I've made templates for:

The Crew: Quest for Planet 9: https://github.com/mcgriffiths/cardgames/blob/master/crew.pc...

Voodoo Prince: https://github.com/mcgriffiths/cardgames/blob/master/voodoo....

Texas Showdown: https://github.com/mcgriffiths/cardgames/blob/master/texas_s...

and I also made a generic deck (0-20 + blank, 8 colours): https://raw.githubusercontent.com/mcgriffiths/cardgames/mast...

which you can easily load up and then choose which cards you want and how many of each.

I wrote a bit of R code to generate these (rather basic) deck images so it's now very easy to create any deck that's just colours, numbers and one optional symbol.

Let me know if you try any of these out, and also if you have any requests or if you'd like me to give you a hand getting started with your own.

And please post any of your creations here: Games implemented on playingcards.io
Twitter Facebook
40 Comments
Fri May 15, 2020 2:10 pm
Post Rolls
  • [+] Dice rolls
Recommend
49 
 Thumb up
13.00
 tip
 Hide

An alternative top 100 / Hall of Fame

Martin G
United Kingdom
Bristol
flag msg tools
badge
Don't fall in love with me yet, we've only recently met
Avatar
Microbadge: Babylonia fanMicrobadge: Babylonia fanMicrobadge: I love old-school German-style gamesMicrobadge: Babylonia fanMicrobadge: Babylonia fan
I've been playing with the data available here showing the number of unique users logging plays of a game each year.

Here are the two simple criteria I came up with to generate a list of games that have been popular over an extended period.

1. Published at least 5 years ago -- anything 2015+ has not yet had time to demonstrate longevity.

2. Appears in the top 100 games ranked by number of unique players in at least 5 different years


I picked 2005 as the start of the window of plays I looked at (since play logging data gets sparse before that) and 2019 as the end.

Pleasingly, this generated a list of exactly 100 games, which I present in descending order of number of appearances, oldest first within each tier.

I honestly think this list of games is a better representation of modern gaming than the top 100 by ranking, and would make a great starting point for a Hall of Fame.

See the games here! An alternative top 100 based on popularity over time
Twitter Facebook
21 Comments
Thu Feb 13, 2020 2:44 pm
Post Rolls
  • [+] Dice rolls
Recommend
26 
 Thumb up
1.00
 tip
 Hide

Subdomain trends

Martin G
United Kingdom
Bristol
flag msg tools
badge
Don't fall in love with me yet, we've only recently met
Avatar
Microbadge: Babylonia fanMicrobadge: Babylonia fanMicrobadge: I love old-school German-style gamesMicrobadge: Babylonia fanMicrobadge: Babylonia fan
My last post Shifts in player count over time proved quite popular (thanks Geek Weekly!) so here's another look at trends over time - this time the number of games assigned to BGG's eight subdomains.

I remember subdomains first being introduced, maybe 7 or 8 years ago? They're voted on by users and the polls don't seem to have been particularly popular, which makes the data a bit ropey (not to mention the trouble with defining the categories!). I've cut off 2016 onwards as there's a downturn in all categories, probably because the games haven't yet received enough votes to get a subdomain.

I counted all games categorised in either a single subdomain or a pair - here are the trends in the 12 most popular combinations:

From gallery of qwertymartin


The rapid growth in the strategy and family subdomains is indicative of the expansion of the hobby in general, but there are some interesting stories elsewhere. War games seem to rise and fall in cycles. Customisable games literally didn't exist before Magic. What has happened to abstract and children's games and is it more an artefact of the polling system than a real trend?

And for a bit of fun, here are the least common (non-zero) combinations:

In a Grove has been labelled an 'abstract party' game. I'm not sure it's either!

Battue: Storm of the Horse Lords is the only post-1980 'family war game' (like Risk before it).

And W.W.B manages the impressive feat of being an 'abstract thematic game'! Judging by the forum, I think there's a joke I missed.

For what it's worth given the limitations of the data, here's a plot of proportions:

From gallery of qwertymartin
Twitter Facebook
33 Comments
Thu Oct 11, 2018 10:37 pm
Post Rolls
  • [+] Dice rolls
Recommend
114 
 Thumb up
23.81
 tip
 Hide

Shifts in player count over time

Martin G
United Kingdom
Bristol
flag msg tools
badge
Don't fall in love with me yet, we've only recently met
Avatar
Microbadge: Babylonia fanMicrobadge: Babylonia fanMicrobadge: I love old-school German-style gamesMicrobadge: Babylonia fanMicrobadge: Babylonia fan
Inspired by Morten Monrad Peterson's post How common have solo playability become?, I did a bit more digging into BGG data.

I took the top 1000 most-rated games (corresponding to about 2000+ ratings) and looked at how supported player counts have changed over time in these popular games.

Here's the plot:

From gallery of qwertymartin


The clearest trend is the huge (and accelerating) increase in solo suitability, as Morten noted. Almost half the popular games published in 2017 supported solo play!

Almost as clear is the increase in 2p suitability - the only popular 2017 title that doesn't support 2p is a remake (Twilight Imperium: Fourth Edition). But interestingly, 2p-only has almost disappeared.

3p and 4p continue to be commonly supported (though recently overtaken by 2p) but 5p seems to be in decline, from almost as common as 2p support in 2000 to less than half as common now.

UPDATE (buried down in the comments): I pulled a lot more data (basically every ranked game) and went further back in time.

From gallery of qwertymartin


From gallery of qwertymartin
Twitter Facebook
86 Comments
Fri Oct 5, 2018 11:18 pm
Post Rolls
  • [+] Dice rolls
Recommend
87 
 Thumb up
11.50
 tip
 Hide

The Reinerssance is real!

Martin G
United Kingdom
Bristol
flag msg tools
badge
Don't fall in love with me yet, we've only recently met
Avatar
Microbadge: Babylonia fanMicrobadge: Babylonia fanMicrobadge: I love old-school German-style gamesMicrobadge: Babylonia fanMicrobadge: Babylonia fan
If you're reading this, you almost certainly know that I'm a huge Knizia fan. It's been delightful this year to see the Good Doctor seemingly back in fashion amongst gamers, with reissues of his big-box classics alongside some well-regarded new designs. I've been describing this as the Reinerssance and I decided to take a data-driven look.

I used the BGG API to harvest some basic data on all of Knizia's 505 (!) credited designs. From those I picked out the 279 with a BGG ranking (at least 30 ratings) to produce a couple of visualisations.

Here's a timeline of the number of ranked games he has produced in each year, coloured to show 'bombs' (BGG rating below 6) and 'hits' (BGG rating above 7).

From gallery of qwertymartin


We can clearly see his golden age in the late nineties and early noughties, followed by several years where his raw output increases but his BGG reception drops right off. That's followed by a period of relatively low output (still rather high by the standards of most designers!) and then in 2017-18 we see his first BGG 'hits' after a gap of ten years.

Another way to look at this is a scatter plot showing each game's rating. I've also sized the points by number of users rating and coloured them by weight.

From gallery of qwertymartin


Again, the golden age and the Reinerssance jump out and the latter is particularly striking with three of his top seven best-rated designs coming in 2017/18 (Blue Lagoon, Yellow & Yangtze, Quest for El Dorado).

If you're interested in particular games, there's a version here with hover-over tooltips.

As usual, there are plenty of caveats to BGG data. No doubt the first flush of enthusiasm for the newest games will fade, and yes, several of them are remakes of a sort. But it still seems pretty clear that Knizia is back in a big way with gamers and that makes me happy!
Twitter Facebook
38 Comments
Mon Sep 17, 2018 12:02 pm
Post Rolls
  • [+] Dice rolls
Recommend
49 
 Thumb up
10.00
 tip
 Hide

Text mining BGG comments - part 2 (the plot thickens)

Martin G
United Kingdom
Bristol
flag msg tools
badge
Don't fall in love with me yet, we've only recently met
Avatar
Microbadge: Babylonia fanMicrobadge: Babylonia fanMicrobadge: I love old-school German-style gamesMicrobadge: Babylonia fanMicrobadge: Babylonia fan
In part 1, I explained how I retrieved the user comments for the top 2000 games and looked at the percentage of comments for a game that match a particular search term. My next idea was to look at how the use of terms changes over time, along the lines of the Google Ngram Viewer.

Unfortunately, no data is available from BGG on when comments were posted. But what I do have is the release years of the games. So I could aggregate the comments by year and look at how the frequency of a term changes with the year of release.

This isn't perfect -- I'm only looking at the top 2000, and the further we go back in time, the fewer games are represented. But from the mid-1990s on, there are enough to show some interesting trends.

Here's one showing the decline of one key mechanism and the rise of another:

From gallery of qwertymartin


and the same for designers:

From gallery of qwertymartin


Here are two notable recent trends rising in lockstep:

From gallery of qwertymartin


And this is an interesting one suggesting that the meanings of 'solo' and 'solitaire' have diverged:

From gallery of qwertymartin


Finally, any guesses what this is?

From gallery of qwertymartin
Twitter Facebook
82 Comments
Fri Nov 3, 2017 10:57 am
Post Rolls
  • [+] Dice rolls
Recommend
57 
 Thumb up
9.00
 tip
 Hide

Text mining BGG comments - part 1

Martin G
United Kingdom
Bristol
flag msg tools
badge
Don't fall in love with me yet, we've only recently met
Avatar
Microbadge: Babylonia fanMicrobadge: Babylonia fanMicrobadge: I love old-school German-style gamesMicrobadge: Babylonia fanMicrobadge: Babylonia fan
User comments on games are probably the most valuable resource on BGG. You can quickly get an overview of the thoughts of people who loved, hated or were indifferent to a game, and you can create your own easy-access panel of trusted commenters.

Recently I've been doing some text mining at work and I thought it might be fun to try some things out on BGG comments. Using a Python wrapper round the BGG API somebody had helpfully created, over the course of several days I grabbed all the comments for the top 2000 games in the BGG rankings and saved a local copy.

As I was thinking about techniques to try, I happened on this excellent geeklist from a few years ago, in which Alison devised a simple but very effective way of looking at the text in comments. For a given word ('filler', 'dice' etc.) she found the percentage of comments which contained the word, giving a quick idea of the characteristics of a game.

I replicated her approach and started looking at some terms. Obvious mechanical and thematic terms produce unsurprising results:

Push your luck

title matches total term %
id
175117 Celestia 136 512 26.6
169654 Deep Sea Adventure 163 637 25.6
156009 Port Royal 226 918 24.6
149155 Dead Man's Draw 104 489 21.3
37759 Diamant 374 1997 18.7
632 Cloud 9 129 709 18.2
41 Can't Stop 412 2641 15.6
15512 Diamant 274 1784 15.4
150312 Welcome to the Dungeon 136 947 14.4
98315 The Adventurers: The Pyramid of Horus 57 422 13.5


Egypt

title matches total term %
id
35435 Nefertiti 22 398 5.5
150999 Valley of the Kings 27 523 5.2
5404 Amun-Re 106 2112 5.0
3931 Mare Nostrum 39 873 4.5
67185 Sobek 11 274 4.0
127023 Kemet 57 1463 3.9
58421 Egizia 30 812 3.7
175223 Valley of the Kings: Afterlife 6 167 3.6
12 Ra 129 4057 3.2
23418 Pursuit of Glory 4 128 3.1


but I found it interesting to look at some more nebulous terms and see how they are being used:

Opaque

title matches total term %
id
35285 German Railways 9 242 3.7
198953 Pax Renaissance 5 168 3.0
165401 Wir sind das Volk! 6 239 2.5
204 Stephenson's Rocket 14 651 2.2
132018 Churchill 7 336 2.1
75212 Grand Cru 4 207 1.9
31730 Chicago Express 26 1671 1.6
9215 Revolution: The Dutch Revolt 1568-1648 4 274 1.5
29937 König von Siam 9 623 1.4
75358 Paris Connection 7 489 1.4


generated a great list of games I love or am interested in trying, and

Unique

title matches total term %
id
80006 Mord im Arosa 44 306 14.4
150293 The Ravens of Thri Sahashri 19 136 14.0
139952 Clockwork Wars 12 87 13.8
192135 Too Many Bones 27 210 12.9
142830 Chaosmos 18 141 12.8
84889 Cave Evil 15 119 12.6
164265 Witness 34 280 12.1
380 Polarity 64 620 10.3
148319 Tragedy Looper 48 498 9.6
168433 The World of Smog: On Her Majesty's Service 13 136 9.6


is fun too.

Next I thought about looking for links between games by searching for the title of one game in the comments of another. My favourite game is Tigris & Euphrates so maybe I'd find some interesting games to look at?

Tigris

title matches total term %
id
127997 Qin 35 327 10.7
25674 Khronos 46 458 10.0
12962 Reef Encounter 93 1512 6.2
111 Rheinländer 21 451 4.7
145588 Citrus 5 145 3.4
23730 Gheos 18 562 3.2
42 Tigris & Euphrates 145 4913 3.0
9674 Ingenious 91 3131 2.9
3 Samurai 81 2971 2.7
204 Stephenson's Rocket 13 651 2.0


Not bad! Plenty of other Knizia tile-laying games, but also Khronos and Reef Encounter, the two names that often come up when anyone asks for 'similar to Tigris' games.

I then extended this to designers and looked at the games with comments most often mentioning Reiner Knizia. The top 60 (!) were all Knizia's own designs, but having excluded those I was left with:

title term %
id
107190 Flash Duel: Second Edition 9.7
118418 Divinare 3.4
3800 Himalaya 3.2
78954 Mousquetaires du Roy 2.5
35435 Nefertiti 2.5
21380 Conquest of the Fallen Lands 2.2
42910 Peloponnes 2.1
145588 Citrus 2.1
154443 Madame Ching 1.8
181796 The Prodigals Club 1.7
128554 Völuspá 1.7
19363 Havoc: The Hundred Years War 1.6
38863 Hab & Gut 1.3
1261 Medina 1.3
38194 Cheaty Mages! 1.2
34373 Tiki Topple 1.2
91873 Strasbourg 1.1
140934 Arboretum 1.0
56692 Parade 1.0
3267 Pizarro & Co. 1.0
158600 Hanamikoji 1.0


A pretty great list of games that either have an obvious Knizia link (Flash Duel having controversially reimplemented En Garde) or a stylistic similarity.

This was a fun start, but I had lots of ideas for other things I could try using this great data set. More posts will follow soon...
Twitter Facebook
26 Comments
Thu Nov 2, 2017 3:47 pm
Post Rolls
  • [+] Dice rolls
Recommend
53 
 Thumb up
3.55
 tip
 Hide

Explosive fun - an analysis of dice in Time of Crisis

Martin G
United Kingdom
Bristol
flag msg tools
badge
Don't fall in love with me yet, we've only recently met
Avatar
Microbadge: Babylonia fanMicrobadge: Babylonia fanMicrobadge: I love old-school German-style gamesMicrobadge: Babylonia fanMicrobadge: Babylonia fan
I really enjoyed my second play of Time of Crisis: The Roman Empire in Turmoil, 235-284 AD on Saturday night and so did my fellow players (see their write-ups here and here!). As an analyst/statistician, my mind turned to probabilities and the expert way they're handled in the game. I wanted to highlight one aspect of that in this post - the dice-rolls for the 'place governor' action.

Replacing another player as the governor of a province is a key move in the game. To succeed, you need to gain a target number of votes equal to double the support level of the province plus one for each military unit in the provincial capital. This will usually be a number from around 2 to 8. The votes are paid for with Senate action points, which are provided in values of 1-4 by blue action cards.

One way to implement this would have been to simply give one vote for each action point spent - a deterministic process in which I'd just check how many votes I needed for the province I wanted to control and spend the cards if I have them.

However, politics is rarely a sure-fire thing and the designers wanted to add some element of randomness. Instead of buying a certain vote, each blue action point instead lets you roll a die, with rolls from 2-6 counting as votes and ones as failures. This threshold means you can mostly count on a vote, but will get the occasional surprise.

This adds an element of risk. If the target is 6 votes, you still have to spend at least 6 points, but that might not be enough. In fact, rolling 6 dice turns out to only give you a 1 in 3 chance of gaining 6 votes. The distribution of number of dice rolled versus probability of success looks like this:

From gallery of qwertymartin


So far, this isn't massively interesting. If you want to have a reasonably good chance of succeeding, you just have to spend one or two extra action points. Effectively, this just raises the cost of the place governor action while adding the occasional frustrating failure.

Enter 'exploding sixes', a device often used in RPGs. Each six rolled not only counts as a vote, but also allows that die to be re-rolled for another potential vote. If you keep rolling 6s, you keep getting votes. This makes failure a little less likely with high numbers of dice but more interestingly it makes success possible with low numbers.

For an attempted 6 votes, the probability now looks like this:

From gallery of qwertymartin


There's a better-than-even chance of success with 6 dice, but even with 5 it's 1 in 3 and it's not impossible to succeed with 4 dice.

What this means is that even when a player has a couple of Senate points left over in their hand that couldn't buy enough votes to take a province at 1:1, they still have a shot. And these risky successes provide some of the game's most dramatic moments, like Joe's accession to Emperor with a single action point.

Sadly I turned out to be the victim of not-so-risky failures. In the last turn I split 12 action points between two 6-vote provinces and failed both. At least carrying out this analysis has shown that I wasn't that unlucky - roughly the same odds as rolling a 6 on one die.

Exploding sixes are also used for the combat rolls in the game, but with quite a different feel. Rather than choosing how many dice to roll at a fixed target, the number of dice are fixed and you see how many hits you can get. The long tail of the exploding dice distribution produces some befittingly unpredictable results there, like the hardy Barbarians who rolled up 7 hits from 2 dice, almost taking out four powerful Roman legions.

Mathematical aside for the interested

I was interested in working out the average number of votes from one exploding die and it turns out to have a rather nice result.

If we let E be the average of a non-exploding die and E' be the average of an exploding one then:

E' = E + 1/6 E'

because we get exactly as many hits as we would have got before, plus a one-sixth chance of rolling 6. How many votes does that exploding 6 roll add on average? Well, by definition that must be E'.

So rearranging the formula:

E' = 6/5 E

Exploding sixes always increases the average by 6/5. Since one non-exploding die with hits on 2-6 gives 5/6 votes on average, an exploding one must give exactly one vote on average.

Note: I generated the distributions above by adapting the code kindly provided here.
Twitter Facebook
9 Comments
Mon Sep 11, 2017 4:44 pm
Post Rolls
  • [+] Dice rolls