Skribbl-RNN
Stroke-based Skribbl.io bot, powered by Sketch-RNN. This was forked from alekxeyuk/Skribbl.io-Bot.
This repo contains datasets and pretrained models for apple, bus, calculator, donut, power outlet, and table.
Dependencies
Python 3.4
or higherAsyncio
websockets
websocketsaiohttp
aiohttpsocketio
python-socketiorequests
requestspillow
pillownumpy
Installation
-
Clone this repository:
$ git clone https://github.com/JeffreyCA/Skribbl-RNN.git
-
Create virtual environment:
$ python -m venv env
-
Activate virtual environment:
$ source env/bin/activate
-
Install dependencies:
(env) $ pip install -r requirements.txt
Usage
To create a new private lobby:
(env) $ python draw_bot.py
To join an existing private lobby:
(env) $ python draw_bot.py --join <join key>
(The join key is the string of characters that appear in the invite link.)
Configuration
In draw_bot.py
, you can modify the SETTINGS
dict:
SETTINGS = {
# Whether to output socketio client logs
'debug': True,
# Whether to 'guess' other players' drawings (by brute-force)
'guess': True,
# Path to dataset .npz files
'data_dir': '',
# Path to Sketch-RNN model/checkpoint files
'model_dir': '',
# Noise scale, should match the above model
'scale': 1.0,
# Sketch-RNN temperature parameter (0 < temp <= 1.0)
# Higher temperature = harder to identify drawings
'temperature': 0.01,
# Names of categories (must match names of .npz in the data_dir)
'categories': [],
# Default skribbl.io server host to use for new games
'host': '',
# Avatar configuration (must be array of length 4)
'avatar': [],
# Bot name
'name': '',
# Game language
'language': ''
}