A deliberately awkward first-person game about making yellow flags. Built with Rust and Bevy. GPL-3.0-or-later. https://htayj.github.io/flag-maker-sim/
  • Rust 96.8%
  • Shell 1.7%
  • Python 1.5%
Find a file
2026-09-10 04:14:50 -04:00
assets/audio Publish Flag Maker Simulator MVP with GPL license and gameplay promo 2026-09-10 04:13:21 -04:00
config Publish Flag Maker Simulator MVP with GPL license and gameplay promo 2026-09-10 04:13:21 -04:00
docs Show animated promo in README and add public video player 2026-09-10 04:14:50 -04:00
examples Publish Flag Maker Simulator MVP with GPL license and gameplay promo 2026-09-10 04:13:21 -04:00
scripts Publish Flag Maker Simulator MVP with GPL license and gameplay promo 2026-09-10 04:13:21 -04:00
src Publish Flag Maker Simulator MVP with GPL license and gameplay promo 2026-09-10 04:13:21 -04:00
tests Publish Flag Maker Simulator MVP with GPL license and gameplay promo 2026-09-10 04:13:21 -04:00
vendor/avian3d Publish Flag Maker Simulator MVP with GPL license and gameplay promo 2026-09-10 04:13:21 -04:00
.gitignore Publish Flag Maker Simulator MVP with GPL license and gameplay promo 2026-09-10 04:13:21 -04:00
Cargo.lock Publish Flag Maker Simulator MVP with GPL license and gameplay promo 2026-09-10 04:13:21 -04:00
Cargo.toml Publish Flag Maker Simulator MVP with GPL license and gameplay promo 2026-09-10 04:13:21 -04:00
DESIGN.md Publish Flag Maker Simulator MVP with GPL license and gameplay promo 2026-09-10 04:13:21 -04:00
DEVELOPMENT.md Publish Flag Maker Simulator MVP with GPL license and gameplay promo 2026-09-10 04:13:21 -04:00
IMPLEMENTATION_PLAN.md Publish Flag Maker Simulator MVP with GPL license and gameplay promo 2026-09-10 04:13:21 -04:00
LICENSE Publish Flag Maker Simulator MVP with GPL license and gameplay promo 2026-09-10 04:13:21 -04:00
manifest.scm Publish Flag Maker Simulator MVP with GPL license and gameplay promo 2026-09-10 04:13:21 -04:00
README.md Show animated promo in README and add public video player 2026-09-10 04:14:50 -04:00
rust-toolchain.toml Publish Flag Maker Simulator MVP with GPL license and gameplay promo 2026-09-10 04:13:21 -04:00
THIRD_PARTY_NOTICES.md Publish Flag Maker Simulator MVP with GPL license and gameplay promo 2026-09-10 04:13:21 -04:00

Flag Maker Simulator

Watch the Flag Maker Simulator promo — make your very own flag

Watch the 40-second promo with sound · Download MP4

Edited in-development gameplay. Click the animated preview for the full video.

Make your very own flag. Try to keep all your fingers.

Flag Maker Simulator is a deliberately awkward, slightly comedic first-person crafting game built in Rust, Bevy 0.19.1, and Avian 0.7.0. You work at a campsite with two independently controlled hands, a pile of raw materials, and a very reasonable ambition: make a yellow flag.

Inspect and sand the staff, draw and cut the cloth, position or fold it, and drive the tacks. Put your finished flag in the pile and collect its score. Placement, surface roughness, fastening, and material condition matter. Hammer your fingers or sand carelessly and you will discover why this takes practice.

  • Practice: an untimed session to learn the tools and make flags.
  • Scored: five minutes to build the best pile you can. Each flag adds its quality points to your total, so speed only helps if your flags hold up.
  • Tool laboratories: focused scenarios for hands, cutting, sanding, hammering, cloth, and assembly.

The technical MVP supports complete flag construction and scoring. It is still a prototype: awkwardness is intentional; the feel, comedy, and balance need human playtesting. The promo is edited from an automated run of the game.

Run from source

The verified development platform is Linux with Guix. From a terminal:

git clone https://github.com/htayj/flag-maker-sim.git
cd flag-maker-sim
scripts/dev-shell cargo run --locked -- --practice

For a five-minute scored round, omit --practice. The wrapper supplies native dependencies and bootstraps the pinned Rust 1.95.0 toolchain into the ignored .cache/ directory. It requires Guix; see Development.

On another Linux distribution, install Rust 1.95.0 and the native development libraries for ALSA, udev, X11/Wayland, and Vulkan, then run from the repository root:

cargo run --locked -- --practice

That direct Cargo route is provided for porting; other distributions, Windows, and macOS have not been validated. This repository includes the local Avian patch required by the game. Keep vendor/avian3d in your checkout.

Controls

Click to capture the pointer. If the game is paused after a focus change, press Esc first. The first capture click does not grip an object.

Input Action
Mouse / wheel Move the selected hand / adjust depth
Left click Grip or release
Right mouse button Use the pencil or close the scissors; release to reopen
Tab or 1 / 2 Select a hand; the other keeps its grip
Hold R + mouse / wheel Rotate the wrist / roll it
Hold Shift Fine hand adjustments
Hold Space + mouse Look around
WASD Lean and change your reach
Hold F when offered Recover a dropped object
Esc Pause or resume
F5 Reset the current prototype/session

See the playtest guide for the construction sequence and tool exercises. Settings include remappable controls and reduced camera shake. Tool sounds have captions. Eligible scored rounds save locally; Practice does not add scored records.

Development

scripts/dev-shell cargo test --locked
scripts/dev-shell cargo run --locked -- --scenario hands
scripts/dev-shell cargo run --locked -- --scenario cutting
scripts/dev-shell cargo run --locked -- --scenario score-fixtures

Automated graphical checks run on a private Xvfb display through scripts/gui-test-shell; they must not control or capture your desktop.

Historical verification documents refer to local artifacts/ paths. Those recordings, build bundles, and machine-specific logs are not part of the source checkout. The public promo above is included separately from the raw 8× video.

Inspiration and license

The flag-making process is based on Flagazine 69, pages 10–13, published by the International Vexillomancers Guild: read the magazine. The source notes distinguish the magazine's instructions from game mechanics. The magazine PDF and its illustrations are not bundled with the game.

Flag Maker Simulator's original code, documentation, game audio, and promo assets are licensed under the GNU General Public License, version 3 or any later version. See LICENSE. The program comes without warranty. Vendored Avian retains its upstream MIT/Apache-2.0 notices; see third-party notices.