Software for organizing shuffled beach volleyball tournaments with a matchmaking algorithm. Implemented in Python and Tkinter.
In each round, teams are randomly formed.
After creating teams, fixtures are set based on MMR (match making rating) of each player. The team with the best average MMR plays against the second-best. MMRs are updated after each game.
Set number of courts, team size, time and duration, and matchmaking method. For the case that not all courts are available all the time, three time intervals with two different court counts can be defined.
Get suggestions for number of games to play. Adjust the game number by letting player 1 run "outside the competition".
Usually the players that wait are randomly determined each round, but players can also request to skip a round.
As long as it is possible, no player will have the same teammate twice. Works only for teams of two.
The state of the tournament is automatically saved on the hard drive to avoid data loss, for example when the window is closed accidentally. The most recent auto-save can be loaded on start-up.
Language files can be added. Currently English and German are available.
Download the latest release or clone the git repository.
In order to run beachomize you need to have Python installed on your machine. The python packages Tkinter and Numpy are required.
Use your package manager to install the packages python3, python3-tk and python3-numpy For instance, on Ubuntu sudo apt-get install python3 python3-tk python3-numpy should work in most cases.
On Windows, Anaconda is usually the way to run python. You can download the windows version here. In that installation, the required packages should already be included.
Before starting your tournament, make sure you place your player names in the file players.txt. Each line should consist of a player name and optionally the initial MMR of that player (default 0).
You can also customize the court names and sorting by editing the file courts.txt. Delete the file to use default numbering.
In your Anaconda or Linux terminal, navigate to the beachomize directory and type python gui.py or python3 gui.py, depending on your installation type.
To change the language, edit the file __init__.py in the lang-directory. Replace eng with the language of your choice. A python-file with that name, defining all necessary constants, has to be present in the lang-folder.
Richard Görler, Hattingen, Germany
richard.goerler[at]gmail.com