Skip to content

A puzzle game where solutions are cryptographically verified - prove your work, literally.

License

Unknown, Unknown licenses found

Licenses found

Unknown
LICENSE
Unknown
LICENSE.txt
Notifications You must be signed in to change notification settings

hyperpolymath/proof-of-work

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

proof-of-work

MPL-2.0 Palimpsest

Rust 2021 Bevy 0.13 RSR Tier 1

A puzzle game where solutions are cryptographically verified - prove your work, literally.

1. Overview

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.

1.1. Features

  • Bevy Engine - Modern ECS-based game engine

  • Z3 Verification - Solutions verified by SMT solver

  • Steam Integration - Achievements, leaderboards, cloud saves

  • Multiplayer - Share puzzles and compete on solution times

  • Level Editor - Create and share custom puzzles

2. Requirements

  • Rust 1.70+

  • Z3 solver (linked statically)

  • Steam SDK (optional, for Steam features)

3. Installation

# 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 --release

4. Architecture

proof-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 assets

5. Puzzle Verification

Each 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);

6. Development

# Run with hot reloading (dynamic linking)
cargo run

# Run tests
cargo test

# Check formatting
cargo fmt --check

# Run clippy
cargo clippy

7. Steam Features

When 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

8. Roadmap

  • ❏ Core puzzle mechanics

  • ❏ Z3 integration for verification

  • ❏ Level editor

  • ❏ Steam Workshop integration

  • ❏ Multiplayer puzzle races

9. License

MIT License - See LICENSE.txt for details.

10. Contributing

Contributions welcome! Please read CONTRIBUTING.md first.

About

A puzzle game where solutions are cryptographically verified - prove your work, literally.

Topics

Resources

License

Unknown, Unknown licenses found

Licenses found

Unknown
LICENSE
Unknown
LICENSE.txt

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Sponsor this project

Packages

 
 
 

Contributors 3

  •  
  •  
  •