proof-of-work is a puzzle game built with Bevy where players solve logic puzzles. Solutions are verified using Z3 SMT solver, ensuring that completed puzzles are mathematically valid.
# Clone the repository
git clone https://github.com/hyperpolymath/proof-of-work.git
cd proof-of-work
# Build and run (debug mode with fast compile)
cargo run
# Build release version
cargo build --releaseproof-of-work/
├── src/
│ ├── main.rs # Entry point
│ ├── game/ # Game logic and puzzles
│ ├── ui/ # UI components (bevy_egui)
│ ├── verification/ # Z3 solver integration
│ ├── network/ # Multiplayer and sharing
│ └── steam/ # Steam SDK integration
├── levels/ # Puzzle definitions
└── assets/ # Game assetsEach puzzle solution is verified using Z3:
// Puzzles define constraints
let puzzle = Puzzle::new()
.add_constraint("x + y = 10")
.add_constraint("x > y");
// Solutions are verified mathematically
let solution = player_solution();
let verified = puzzle.verify(&solver, &solution);# Run with hot reloading (dynamic linking)
cargo run
# Run tests
cargo test
# Check formatting
cargo fmt --check
# Run clippy
cargo clippyWhen built with Steam support:
-
Achievements - Unlock achievements for completing puzzles
-
Leaderboards - Compete for fastest solve times
-
Workshop - Share custom puzzles
-
Cloud Saves - Sync progress across devices
-
❏ Core puzzle mechanics
-
❏ Z3 integration for verification
-
❏ Level editor
-
❏ Steam Workshop integration
-
❏ Multiplayer puzzle races
MIT License - See LICENSE.txt for details.
Contributions welcome! Please read CONTRIBUTING.md first.
-
Bevy Engine - Game engine
-
Z3 Prover - SMT solver