This project, written in Rust and using [Bevy], aims to re-create the functionality of Minecraft "Classic" (2009) for the sake of creating a game that could be considered finished while developing code and experience that can be used in future projects that have greater ambitions. [Bevy]: https://bevy.org/ ## Goals - ☐ Creative mode editing - ☐ Basic player physics - ☐ Limited world size (configurable) - ☐ Block definitions loaded at startup - ☐ Custom block models (and textures) - ☐ Simple cellular automaton interactions - ☑ Multiplayer (server-autoritative) - ☑ Runs in browser ## Non-goals - Non-player entities (animals, falling blocks, block entities) - Modding API (other than loading block definitions) - Infinite, streaming terrain (possible, but currently out of scope) - Sensible liquid handling (waterlogging, partial liquid blocks, flow mechanics) ## How to Launch Since the game is still way too early in development, there are no releases yet. To compile and run it yourself, other than setting up Rust (through `rustup` for example), I recommend using [Bevy CLI]. It simplifies some tasks, such as building and testing on web. But if you don't want to use it, just replace `bevy run` with `cargo run` in the following code block. ```sh # Run the game locally. bevy run bevy run -- local # same as above bevy run --release -- local # with release optimizations # Host a server for the game and play on it. # When starting up, will print the "certificate digest". bevy run -- host [PORT] # Connect to an existing server. bevy run -- connect