Cool thing I made in two weeks.
This project is supposed to be sort of a Minecraft clone to show off my skills in graphics programming.
A web version of this project is available at https://nils-mathieu.fr/blocks_n_stuff/, but it's a bit buggy. I would definitely recommend using the native version if possible. Prebuilt binaries are available in the releases tab, or you can follow the instructions below to build it yourself (you only need a basic Rust toolchain!).
See the feature list for a list of features.
The textures are from the 8bit Craft 2 resource pack by burritoeatinghamster .
Most sound effects are from Minecraft, except from the music that I created myself.
The font is a public domain font often used in systems development because it comes in a C header file. https://github.com/dhepper/font8x8
Most structures are built by my little brother.
Structures can be added easily to the game using in-game tools. After that, a simple macro can be used to add it in game.
The world generator is easily customizable, biomes can be added and modified easily.
A debug menu is available to check the performance of the game, as well as some statistics about the world (I also wanted to show off my render distance :p ).
Here are some miscellaneous screenshots:
This project uses the following thrid-party Rust libraries:
wgpu
, a cross-platform abstraction over Vulkan, Metal, DX12, OpenGL and WebGPU. I would've liked to use Vulkan directly, but that would make the project unusable on web, which I really want to target.winit
, a cross-platform windowing library.glam
, a linear algebra library that makes use of SIMD instructions to optimize most operations.png
, a PNG image decoder/encoder.rodio
for cross-platform audio playback library.
Key | Action |
---|---|
W | Move forward |
A | Move left |
S | Move backward |
D | Move right |
Space | Fly Up |
Left shift | Fly Down |
Left control | Sprint |
C | Previous block |
V | Next block |
Key | Action |
---|---|
Escape | Exit game |
R | Re-create world |
U | Increase time speed |
Arrow up | Increase render distance |
Arrow down | Decrease render distance |
F9 | Toggle shadows |
F10 | Toggle fog |
F11 | Toggle fullscreen |
Key | Action |
---|---|
F3 | Toggle debug overlay |
F4 | Toggle chunk borders |