Play
It's a playable prototype. No installer yet, so you build it from source. Takes a few minutes. Quit whining.
Platform status
| Platform | Status |
|---|---|
| Linux | Development and release builds available |
| Windows | Cross-checked in CI. Native launch checks pending |
| macOS | Cross-checked in CI. Native launch checks pending |
Successful CI runs attach short-lived test bundles for all three systems on the Actions page. Those are test bundles, not stable releases. A tag-driven release pipeline is ready and will publish checksummed bundles when the first version is cut.
Requirements
- Rust 1.87 or newer, with Cargo
- On Linux, ALSA development headers for audio (
libasound2-devon Debian and Ubuntu) - FFmpeg and
ffprobefor video and animated GIF/APNG. Animated WebP and still images use the built-in decoder
Start a game
git clone https://github.com/UnsupervisedMedia/PieceOffApp.git cd PieceOffApp ./play.sh # builds, starts a room server, opens the app ./play.sh path/to/clip.mp4 # open a file straight away ./play.sh --two clip.mp4 # second client, to try multiplayer on one machine
Pick an image, video, animated image or .pieceoff package on the start screen, create a room, and share the invite code. A friend enters the server address and the code to join. The address defaults to ws://<host>:28878/ws for a room on another machine.
Controls
| Action | Control |
|---|---|
| Fit board, focus board, focus tray | F B T |
| Multi-select pieces | Ctrl-click (Cmd-click on macOS) |
| Pan | Drag empty space, Shift-drag, or middle/right mouse |
| Video play/pause | Space |
| Video seek | ← → by five seconds |
| Help | F1 or ? |
Every shortcut can be rebound under More → Controls….
Supported media
Still images and animated WebP decode natively. Video (MP4, MOV, MKV, WebM, AVI, MPEG, OGV, FLV, 3GP, WMV, TS, MTS, M2TS) and animated GIF/APNG use FFmpeg, which is not bundled; install it, place it beside the app, or point to it under Media tools. The server accepts files up to 16 GiB by default.