{"repo":"tentone/vkCraft","free":true,"listed":false,"github":"https://github.com/tentone/vkCraft","clone":"git clone https://github.com/tentone/vkCraft.git","description":"Minecraft clone written with C++ and Vulkan, w/ infinite voxel world.","language":"C++","stars":62,"topics":["vulkan","minecraft","voxels","game-dev"],"license":"MIT","category":"game-templates","readme_excerpt":"vkCraft - Minecraft clone written with C++ and Vulkan - Project made as a way of learning the basics about the Vulkan API. How to run - Download and install the required libraries - GLM, GLW, GLFW, STB Image and LunarG Vulkan SDK. - On windows open the solution in Visual Studio. - On linux run the project using CMake (added by @MolassesLover) - Make sure that you have Vulkan compatible drivers installed. - Build and run project. Screenshots ! 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. 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 - Mike Bailey's Vulkan Guide - Alexander Overvoorde Vulkan Guide License - The project is under MIT license, available on the project repository.","default_branch":null,"files":null,"tree":[],"storefront":"/r/tentone","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/tentone/vkCraft/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}