Skip to content

a 1:1 port of celeste classic to a standalone rust binary, compatible with WebAssembly

License

Notifications You must be signed in to change notification settings

velzie/rustic-mountain

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Rustic-Mountain

the pico-8 classic you all know and love, now with fearless concurrency

inspired by ccleste and pyleste

ported from smalleste.p8

how to use

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

tuileste

image 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

librustic

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

DISCLAIMER:

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

special thanks to the celeste classic discord server