8 releases (breaking)

0.8.0 Jul 9, 2024
0.7.0 Jan 27, 2024
0.6.0 Jul 30, 2023
0.5.1 Dec 29, 2022
0.2.1 Jan 19, 2021

#114 in Rendering

MIT/Apache

3MB
63K SLoC

All is Cubes (Desktop Edition)

A “voxel game” where each block is made out of smaller blocks (one level of recursion).

This is a work in progress; it's my very first project written in Rust, and I am aiming to duplicate and expand on my previous work Cubes. For more information about the currently implemented functionality, see the core library crate all-is-cubes.

This package is the “desktop edition” that you can build and run to “play the game” on your own computer, as much as there is one right now (you can only admire the scenery, and place and remove blocks). You can also consider running the web version.

This package includes a library crate, but it is not yet a good general-purpose library. it currently only exists as a library so that additional development tools can reuse the same UI code. Use at your own risk. Documentation is lacking.

Requirements

Your system must have these installed:

  • If on Linux, then the libraries that Ubuntu calls libxrandr-dev, xorg-dev, libx11-xcb-dev, libwayland-dev, and libasound2-dev.

Usage

By default, running all-is-cubes will open a window with a newly created world containing various test cases (there is no saving yet). Run all-is-cubes --help to find out options, including different starting templates and different graphics modes (including a terminal-based mode).

Stability and versioning

All is Cubes is an ambitious hobby project; many features necessary to be “complete” are not yet implemented, and implementing them will require incompatible changes. During development, library APIs change regularly, and the version numbering will mark these versions as incompatible (e.g. 0.3 to 0.4); there will be no 1.0 version until I am confident that future versions will at least have save data compatibility. However, I have made some attempt to document API elements that are more likely to change in future versions.

MSRV policy: The current release accurately documents its rust-version in Cargo.toml. Future releases will typically require the current stable Rust version as of that release.

License

All source code and other materials are Copyright © 2020-2024 Kevin Reid, and licensed under either of

at your option.

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Dependencies

~50–91MB
~1.5M SLoC