README NomaDamas/Pikatchu-Volleyball-Rust
Pikatchu Volleyball Rust
A lightweight Rust/macroquad port of gorisanson/pikachu-volleyball.
The project keeps the gameplay/core logic in Rust and includes a native desktop runner plus a prebuilt static web shell.
Install
After a release is published to crates.io, install the native desktop runner with:
cargo install pikachu-rust
pikachu-rustRun locally
cargo runControls:
| Player | Left | Right | Jump | Down | Power | Shortcut |
|---|---|---|---|---|---|---|
| P1 | D | G | R | V | Z | F = down+right |
| P2 | ← | → | ↑ | ↓ | Enter | — |
Runtime shortcuts:
- Space: pause/resume
- Backspace: restart
- P: practice mode
- B: BGM on/off
- S: SFX stereo/mono/off
- 1/2/3: winning score 5/10/15
[/]: speed slow/fast\: reset speed- X: sharp/soft texture filtering
Test
cargo fmt --check
cargo test
cargo clippy --all-targets -- -D warningsRelease / CD
Crates.io publishing is handled by .github/workflows/release.yml.
- Push a semver tag such as
v0.1.0, or run the workflow manually. - Set the repository secret
CARGO_REGISTRY_TOKENto a crates.io API token. - Manual runs default to a dry run; set
publish=trueto upload.
Web/Wasm build
rustup target add wasm32-unknown-unknown
cargo build --release --target wasm32-unknown-unknown
cp target/wasm32-unknown-unknown/release/pikachu-rust.wasm web/pikachu-rust.wasm
python3 -m http.server --directory web 8080Open http://localhost:8080/.
See docs/web_build.md for a few extra web notes.
Project layout
src/— Rust gameplay, physics, input, rendering, and native/web runnerassets/— embedded game assetsweb/— static web shell, manifests, service worker, and localized entry pointstests/— Rust regression tests.github/workflows/ci.yml— basic Rust and Wasm CI.github/workflows/release.yml— crates.io publish workflow forcargo install pikachu-rust
Attribution and license
This repository includes upstream-derived game assets. See docs/attribution.md for provenance notes.
Cargo.toml declares license = "UNLICENSED" to avoid implying broader redistribution rights for the original game assets.
