finds.dev← search

// the find

fishfolk/jumpy

★ 1,843 · Rust · NOASSERTION · updated Jan 2026

Tactical 2D shooter in fishy pixels style. Made with Rust-lang 🦀 and Bevy 🪶

Fish Folk: Jumpy is a 4-player tactical 2D brawler shooter built in Rust with Bevy, spiritually descended from Duck Game. It's a full game project — not a game engine demo or tutorial — with online multiplayer, a built-in level editor, and a Lua modding layer. Target audience is Rust/Bevy developers who want to study a non-trivial game codebase, plus players who enjoy couch/online party games.

The modding architecture is genuinely interesting: weapons, levels, and game elements are defined in YAML asset files, and behavior is scriptable via Lua, meaning you can add a weapon without touching Rust code. The Bevy ECS usage at this scale (14 maps, ~15 weapon types, networked multiplayer) is one of the more complete examples of a shipped Bevy game in the wild. The asset pipeline is well-organized — each element is self-contained with its own atlas, YAML config, and audio, making it easy to trace how a specific weapon works end-to-end. CI/CD is solid: separate workflows for builds, releases, web demo deployment, and docs.

Last commit was January 2026 and activity has visibly slowed — the Kickstarter is still linked in the README but the campaign page isn't live anymore, which is a yellow flag for long-term maintenance. The Bevy version it targets is likely behind current Bevy releases (Bevy's API breaks constantly), so anyone trying to fork or learn from it may hit painful migration work immediately. The networking layer isn't explained anywhere in the README or visible docs — online multiplayer is listed as a feature but how it's implemented (GGRS? custom rollback?) requires digging through source. French localization exists but is clearly incomplete given only one `.ftl` file compared to English's ten.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →