No description
Find a file
2026-03-04 22:57:16 -05:00
client updated world + movement system 2026-03-04 22:57:16 -05:00
server updated world + movement system 2026-03-04 22:57:16 -05:00
shared updated world + movement system 2026-03-04 22:57:16 -05:00
udp updated TAGP and added UI 2026-02-23 00:12:23 -05:00
.env.example made first iter of tag protocol 2026-02-11 20:26:35 -05:00
.gitignore created client server boilerplate 2026-02-08 00:12:19 -05:00
.python-version bark 2026-02-05 17:03:15 -05:00
LICENSE Initial commit 2026-02-05 20:52:53 +00:00
pyproject.toml updated TAGP and added UI 2026-02-23 00:12:23 -05:00
README.md made first iter of tag protocol 2026-02-11 20:26:35 -05:00
UDP.md updated world + movement system 2026-03-04 22:57:16 -05:00
uv.lock updated TAGP and added UI 2026-02-23 00:12:23 -05:00

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-file every time, export UV_ENV_FILE=.env in your shell profile.

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

License

GPL-2.0+