the pico-8 classic you all know and love, now with fearless concurrency
A reimplementation of Celeste Classic in rust, with ports to windows and linux, android and the web
to compile standalone:
git clone https://github.com/CoolElectronics/rustic-mountain
cd rustic-mountain
cargo build
to compile for web:
cargo install wasm-pack
git clone https://github.com/CoolElectronics/rustic-mountain
cd rustic-mountain/web
wasm-pack build --target web
to compile for android:
cargo install cross
git clone https://github.com/CoolElectronics/rustic-mountain
cd rustic-mountain/librustic
cross build --target aarch64-linux-android --release
cp ../target/aarch64-linux-android/release/librustic_mountain_lib.so ../android/app/libs/arm64-v8a/
cp ../target/aarch64-linux-android/release/librustic_mountain_lib.so ../android/app/libs/armeabi/
cp ../target/aarch64-linux-android/release/librustic_mountain_lib.so ../android/app/libs/jniLibs/
# open android studio and build normally, or do it with gradle idk
this is an experimental port with to the linux terminal. to use it:
git clone https://github.com/CoolElectronics/rustic-mountain
cd rustic-mountain/tuileste
cargo run
the controls are extremely scuffed because of the limitations of terminals. use a modern terminal like kitty or konsole. pressing any of the arrow keys will hold them down for 10 frames, so you'll have to sort of press and unpress it every 10 frames if you want to hold it down. have fun
as usual, z+x for jump and dash, arrow keys to move, f to skip level, 'q' to make a savestate, 'e' to load a savestate
a headless API is exposed through the "core" crate, so you can import it into any rust project, or compile to a shared object for FFI use in any programming language
this feature is used in morespriteshorn to simulate celeste physics inside of the love2d engine
despite my best efforts, this is not a 100% faithful port. expect some of the more subtle quirks of celeste to not work as expected
since the goal was to achieve a 1:1 translation of the lua code, this isn't best practice rust and is full of things that should probably not be done
inspired by ccleste and pyleste
ported from smalleste.p8
special thanks to the celeste classic discord server