A SkiFree clone written in Rust with macroquad. The current version keeps the original downhill arcade feel while adding a longer mountain, NPC collisions, tricks, speed boosts, jumps, scoring, an abominable snowman chase, and a WASM build for GitHub Pages.
Desktop:
cargo run --releaseGuix development shell:
guix shell -m manifest.scm -- cargo run --releaseWeb build:
cargo build --release --target wasm32-unknown-unknown
mkdir -p dist
cp target/wasm32-unknown-unknown/release/skifree-rs.wasm dist/skifree_rs.wasm
cp web/index.html dist/index.htmlMacroquad loads the generated .wasm directly through mq_js_bundle.js; there
is no wasm-bindgen packaging step.
The GitHub Pages workflow publishes the web build at:
https://trevarj.github.io/skifree-rs/
| Key | Action |
|---|---|
| Left / Right | Turn |
| Mouse hover or touch below skier | Aim downhill |
| Click / tap | Start or restart |
| Down | Tuck for speed |
| F | Speed boost |
| Z / X | Tricks |
| C | Flip |
| R | Restart after a crash or snowman attack |
Useful checks:
cargo fmt -- --check
cargo clippy --all-targets --all-features -- -D warnings
cargo test
cargo check --target wasm32-unknown-unknownDebug hitboxes are available behind a feature flag:
cargo run --features debug-hitboxes