Bot Playtesting Toolkit v. 1.0 released!

This blogpost was moved here from https://creatingboardgames.wordpress.com/2022/01/14/bot-playtesting-toolkit-v-1-0-released/

I am happy to announce that the Bot Playtesting Toolkit I’ve been working on has been released! There are tonnes of functionality included, and now the documentation is also in place.

The Bot Playtesting Toolkit (BPT) is a tool for board game designing. The idea is to complement human playtesting, focusing on the game experience, with computer-based playtesting focusing on quantitative data. Once you have a decent model of your game up and running, you can quickly run hundreds or thousands of games to get distribution of certain statistics or evaluate different changes to the game.

Below are screenshots from an example included in the 1.0 version of BPT, where the game No Thanks! is simulated.

Log messages when simulating No Thanks. The timestamps on the right show elapsed time in milliseconds.
Statistics for 10,000 games of No Thanks, run in 30 seconds. All four players (a–d) use the same strategy in this setup.

Some good things with the Bot Playtesting Toolkit

  • The project is open source. Feel free to use, study, share and improve the code. One way of contributing is to provide ideas (or indeed code improvements) in the project issue queue.
  • The project is based on Google spreadsheets. This makes it easy to get started, and it is also easy to both enter and modify massive amount of game data – such as data about cards or how hundreds of spaces on the game board are connected.
  • Your coding can focus on the game rules. To have bots playtesting your game you will need to code. But BPT provides both the large-scale frame and much of the details, which means that your coding will mostly focus on describing your game on game rules level. BPT will take care of adding the discard piles when shuffling decks, if a player has resources enough to build a city, and finding the shortest path to a space on the board. It will help you in writing special functions for the five special-case cards that should be handled in another way than all the others, and it will collect statistics from the simulated games and present them in a nice way.
  • Playing strategies are plug-ins. In order to playtest with bots, they need to have some strategy to follow. These strategies are written as plugins, which makes it easy to write several different strategies and see how they compare against each other – or have bots change to a different strategy when reaching the end-game.

Where can I learn more?

  • The project page for the Bot Playtesting Toolkit is a good start. It contains code, issue queue, documentation, and more.
  • There’s a special page in the documentation talking about when BPT shouldn’t be used, and also what the limitations are to bot playtesting.
  • If you want to try the Bot Playtesting Toolkit yourself, check out the documentation about using the toolkit.
  • If you want to see what the upcoming plans are, or want to ask questions or suggest ideas, head to the project issue queue. You will need a GitHub account (free) in order to post or comment on issues, but you can always start by reading.

The code and documentation for the Bot Playtesting Toolkit will be kept on GitHub, but I will write blog posts about the project here – talking about what’s happening and writing up tips and ideas of how to use the toolkit.

Recommend0 recommendationsPublished in Design Theory
Design Theory
Carla Kopp

In Depth Design: Venice

If you haven’t played Venice by Braincrack Games, you can check out the BGG page or this video by Gaming Rules! Venice is a really

Read More »

Responses