Giter Club home page Giter Club logo

rustic-mountain's Introduction

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

Rustic Mountain

github crates.io

A reimplementation of Celeste Classic in rust, with ports to windows and linux, android and the web

official ports

other ports

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

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

inspired by ccleste and pyleste

ported from smalleste.p8

special thanks to the celeste classic discord server

rustic-mountain's People

Contributors

probablypablito avatar velzie avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.