Skip to main content

A library for rapid prototyping of boardgames.

Project description

PyPlaytest

Build Status codecov

A library for implementing framework to do virtual playtesting for boardgames.

  • Provide basic components to make it easy to create new prototypes

  • Wraps an API around the game you created to integrate with OpenAI gym or a default integration harness.

A Quick Demo

To see a demo of this game, clone this repo and run:

pipenv install
PYTHONPATH=. pipenv shell example/play.py

And you will be able to use our interactive harness to play the game.

📢: Resetting game.

📢: Start of next round!

📢: Player 0 - it is your turn!

📢: Let's see your two card.

🤔: How much you want to bet?

Player 0 taking action...
{'discarded': [],
 'others': [{'bank': 10, 'bet': 0}],
 'self': {'bank': 10, 'bet': 0, 'hand': ['7h', '7s']}}
👀 Please enter action ([bet(0->10)]):

And you can continue playing the prototype.

You can observe the code that generates the game (in a few lines of python!) in pt-blackjack/game.py.

Creating the AI

Experimental feature: this is a very basic generic game AI that we built!

In play testing a game, one enemy is the problem with context switching between different players. This makes it hard to understand your design from player's prospective. This allows us to train a simple AI that is useful for testing the game.

To create the bot, do:

PYTHONPATH=. pipenv shell example/train.py

Which will then output the bot to the a weight file (<bot>.h5f) folder. You can then play against the bot by doing:

PYTHONPATH=. pipenv shell example/play.py --ai

Which then you can start the game against the AI from the loaded AI weight file.

Getting started

To get started, read the docs at here.

pip install playtest

Then can just import playtest and get started in creating your prototype.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for playtest, version 0.0.10
Filename, size File type Python version Upload date Hashes
Filename, size playtest-0.0.10-py3-none-any.whl (25.4 kB) File type Wheel Python version py3 Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page