Getting Started

Goal

The goal of this game is to win games against opponents. You do this by scoring more points than your opponent. The player who wins the most games against other players in a “group run” after the competition has ended will win the competition.

More specifically, this game is about making pizzas

Running the game

Python version

Make sure to uninstall the visual studio version of python if you have visual studio installed. You can do this by re-running the installer and unselecting the python development kit then clicking update.

We recommend running a python version between 3.10 and 3.11

You can use any text editor for this competition, but we recommend visual studio code.

Getting the code

Please download all of the assets you need from https://drive.google.com/drive/folders/1eC-kjPyY-Z7ZZYpovCg8WJvAwfnGAZbp?usp=sharing

This drive will contain the launcher.pyz file, two base clients, the visualizer and the requirements.txt

Submitting Issues

If you run into issues with the game, please submit an issue to the discord in the bugs channel

Release of top clients

The top three clients at the end of the competition will be made public ( with censorship at the board’s discretion (Association for Censorship Mmmmmmmmmmmmm))

Running the launcher

NOTE: There are some packages requires for running this year’s game. You can run the command

python -m pip install -r requirements.txt

(To view the packages to be installed, simply open the requirements.txt file)

If you have problems installing the pygame package, try running the command

python -m pip install pygame --pre

Generating the map

You can generate a new game map by calling

python launcher.pyz g

within a terminal in the byte-le folder. You can keep the same game map by just not running the above command. With the same map and same clients, the end results should be the same.

Running the game

You can run the bot by calling

python launcher.pyz r

within the terminal. Print statements within your client will print if you wish to use them for debugging purposes. Alternatively, you can view the turn logs that are produced within the logs folder.

Running the visualizer

As a third option for debugging, we have built a visualizer! The visualizer visually depicts the logs that are produced, so you can more easily decipher what went wrong. The visualizer can be run with

python launcher.pyz v

See Visualizer for more commands

Improving the bot

All improvements should be made within the client. We provide a base client but you are welcome to rename the file or create multiple client files. Note that if you make multiple files, there can only be two client in the root folder. Place the other clients in the test_clients folder. Make sure to check the documentation for hints on how to improve!

Cook options during turns

Each turn, a cook can do one of two things. You can choose to move the cook or choose if you want to interact with an adjacent station in that order. See Taking Action and Stations

Other Logic

After the cook has been given the chance to move and interact, dispensers may dispense a new topping and ovens will cook a pizza for another turn. After this, event logic will take place. This means that a new event will start if one is meant to start during that turn. Events can be seen at Events and stats at Stats

Scrimmage!

The actual competition occurs on the server! View the Server Documentation documentation for more info.