No description
| client | ||
| server | ||
| shared | ||
| udp | ||
| .env.example | ||
| .gitignore | ||
| .python-version | ||
| LICENSE | ||
| pyproject.toml | ||
| README.md | ||
| UDP.md | ||
| uv.lock | ||
TAG! Battle Royale
TAG! Battle Royale is a real-time multiplayer game where players connect to a shared server over a custom lightweight UDP protocol. Each player's cursor position is tracked and broadcast to all connected clients, rendered with pygame-ce.
Installation
Use the uv package manager to install dependencies.
uv sync
Requires Python 3.13 or higher.
Configuration
Copy the example environment file and adjust values as needed:
cp .env.example .env
Available variables:
| Variable | Description | Default |
|---|---|---|
SERVER_HOST |
Server address (clients connect to this, server binds to this) | 127.0.0.1 |
SERVER_PORT |
Server port | 9999 |
SCREEN_WIDTH |
Client window width | 1280 |
SCREEN_HEIGHT |
Client window height | 720 |
FPS |
Client frame rate | 60 |
Usage
Start the server:
uv run --env-file .env server
Then, in a separate terminal, start a client (a random username is generated automatically):
uv run --env-file .env client
Tip: To avoid passing
--env-fileevery time, exportUV_ENV_FILE=.envin your shell profile.
Contributing
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.