Skip to content

Minecraft clone written with C++ and Vulkan, node structure for infinite world chunks.

License

Notifications You must be signed in to change notification settings

tentone/vkCraft

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

vkCraft

  • Minecraft clone written with C++ and Vulkan
  • Project made as a way of learning the basics about the Vulkan API.

How to run

Screenshots

alt tagalt tag!

World generator

  • The world generator is based on simple perlin noise.
  • Multiple generations of noise are used, one for the terrain and other one for cloud placement.
  • Blocks types are decided based on the weight relative to the surface, the same goes for underwater blocks.

Chunk structure

  • World chunks are organized as 3D linked list of chunks.
  • Each chunk holds its data and 6 pointers to its neighbors (left, right, up, down, front, back).
  • The linked structure allows for fast navigation and to find already created neighbors.
            Up
            |    Back
            |   /
            | /
  Left ---- N ---- Right
          / |
        /   |
     Front  |
           Down

To do

  • Better world generation with biome support.
  • Generate nodes in separate threads.
  • Simplify geometry further (create only visible faces).
  • Handle the water geometry separately and implement wavy shader animation.
  • Try to use a geometry shader to generate the chunk geometry on the fly.

References

License

  • The project is under MIT license, available on the project repository.

About

Minecraft clone written with C++ and Vulkan, node structure for infinite world chunks.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published