Craft-rs

March 15, 2026 · View on GitHub

A Minecraft clone written in Rust, ported from Craft by Michael Fogleman. Uses software rendering via portablegl-rs — no GPU required.

Features

  • Procedural terrain generation using Simplex noise
  • 64+ block types (grass, sand, stone, brick, wood, flowers, etc.)
  • Block placement, destruction, and eyedropper picking
  • Ambient occlusion and dynamic lighting
  • Day/night cycle with smooth lighting transitions
  • Frustum culling for efficient rendering
  • Flying mode and collision-based walking
  • Software-rendered — runs without a GPU

Controls

KeyAction
WASDMove
SpaceJump
Left ClickBreak block
Right ClickPlace block
Middle ClickPick block type
Mouse Wheel / E / RCycle inventory
1-9Select inventory slot
TabToggle flying mode
FToggle orthographic view
ShiftZoom
EscRelease mouse / exit

Prerequisites

  • Rust toolchain (edition 2021)
  • x86_64-pc-windows-gnu target (configured in .cargo/config.toml)

Building and Running

cargo run

SDL2 libraries are vendored in the lib/ directory and SDL2.dll is automatically copied to the build output by the build script.

Dependencies

CratePurpose
portableglSoftware OpenGL renderer
sdl2Window creation and input handling
noiseSimplex noise for terrain generation
rusqliteSQLite database (bundled)
pngTexture loading

License

MIT License. See LICENSE.md for details.

Acknowledgments

This project is a Rust port of Craft by Michael Fogleman.