/beachomize

Software for organizing shuffled beach volleyball tournaments with a matchmaking algorithm. Implemented in python and tkinter

Primary LanguagePython

README auf Deutsch

beachomize

Software for organizing shuffled beach volleyball tournaments with a matchmaking algorithm. Implemented in Python and Tkinter.

main_example

Game mode

Shuffling

In each round, teams are randomly formed.

Matchmaking

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.

Features

Customize your tournament

welcome

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.

Handle any number of players (odd / prime)

game_number

Get suggestions for number of games to play. Adjust the game number by letting player 1 run "outside the competition".

Let players request to wait

wait_select

Usually the players that wait are randomly determined each round, but players can also request to skip a round.

Non-repeating team compositions

As long as it is possible, no player will have the same teammate twice. Works only for teams of two.

Adjust appearance

settings

Auto-save

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.

Localization

Language files can be added. Currently English and German are available.

Installation

Download the latest release or clone the git repository.

Prerequisites

In order to run beachomize you need to have Python installed on your machine. The python packages Tkinter and Numpy are required.

Install Python3, Tkinter and Numpy

Linux

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.

Windows

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.

Usage

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.

Contact

Richard Görler, Hattingen, Germany
richard.goerler[at]gmail.com