flatland3-gfx
Macroquad + egui graphical play client for Flatland3.
Install
Run from a checkout that includes assets/ (or set FLATLAND_ASSETS to your content tree) so terrain tiles and sprites resolve.
Quickstart
# or pick a character by name:
On first launch (or when the saved session is expired and no remembered password is available), the client shows Login / Create account. After a successful login, email/password are saved to platform config flatland/login.json (mode 0600). When Redis/dev restarts invalidate the control-plane session token, the client silently re-logs in with those credentials and keeps your last character.
New accounts continue to Create character. Accounts with two or more characters always get a Select character screen (last played is marked ★ and remembered after you pick). A single character is used automatically.
In-game (F2): Switch character returns to the picker; Log out clears the session token and returns to Login (saved email/password remain for autofill).
Session file: platform config dir flatland/session.json (same as flatland3 auth login). Login autofill: flatland/login.json. Game server defaults to 127.0.0.1:7373 (--server to override). Set FLATLAND_API_TOKEN to skip interactive onboarding (agents/CI).
Crates.io stack
| Crate | Role |
|---|---|
flatland-protocol |
Wire types and codecs |
flatland-client-lib |
TCP session and game state |
flatland-client-ui |
Engine-agnostic play UI (input, world grid, presentation) |
flatland-gfx-engine |
Macroquad map renderer + egui HUD |
flatland3-gfx |
This binary (cargo install flatland3-gfx) |
The terminal client remains cargo install flatland3.
Monorepo dev
# or