Skip to content
This repository has been archived by the owner on Jul 17, 2023. It is now read-only.
/ meinkraft Public archive

A Minecraft clone with the purpose of learning Rust an OpenGL

License

Notifications You must be signed in to change notification settings

roscale/meinkraft

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

82 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Meinkraft

A hobby project with the purpose of broadening my knowledge of Rust and OpenGL.
I chose to make a Minecraft clone because:

  1. It's a voxel type game. A voxel game engine is very different from a regular game engine.
  2. It requires minimal artistic creativity (I'm not a game designer).
  3. It's not a graphically intensive game and it introduces enough new concepts for me to grasp.
  4. Maths and algorithms. From terrain generation to lighting calculations, there are interesting algorithms to learn (flood fill, noise functions etc.)
  5. I learn a lot about the inner workings of Minecraft and it makes me appreciate the game even more.

Don't expect it to be a perfect clone, however I will try imitating as much as I can the gameplay and the visuals of Minecraft. I will mostly implement features that I find interesting and challenging from a coding perspective. The end goal (if it ever happens) is to implement all big features of Minecraft 1.0.

Compilation

Make sure your graphics card supports OpenGL 4.6 and you have installed the nightly toolchain of Rust.
Run cargo run --release to compile and run the game in release mode. I recommend compiling in release mode for optimal performance.

Game settings

The game doesn't have a menu for changing in-game settings. I exposed many parameters in the src/constants.rs file if you want to change them. The performance should be fine even on integrated Intel graphics but if you have low framerate try reducing the render distance.

Current features

  • Placing, breaking and picking blocks.
  • Infinite world generation (no save files).
  • Player movement, sprinting, sneaking, flying.
  • Hotbar (not a full inventory).
  • Ambient occlusion

Screenshots

Tuning

About

A Minecraft clone with the purpose of learning Rust an OpenGL

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published