mirror of
https://github.com/zhenyan121/Cubed.git
synced 2026-08-08 09:47:01 +08:00
7ecdab08fc7999d1810e69698b248d52225e3534
* refactor(chunk): add ChunkInfo and switch to shared_mutex for chunk access Introduced ChunkInfo struct to expose chunk metadata (position, seed, biome). Replaced std::mutex with std::shared_mutex for chunk map to allow concurrent read access. Added World::get_chunk_info() method. Temporarily disabled cave/river cleanup and debug biome reporting. * refactor(cave,river,chunk): use ChunkPos as key for paths and track cave existence * refactor(gameplay): use deterministic origin-based cave and river generation Compute cave and river paths on-the-fly per chunk from a deterministic origin instead of storing them globally. Remove concurrent hash map storage, shared mutexes, and related cleanup methods. This simplifies concurrency and reduces memory overhead. * refactor(world): remove unused chunk generation progress tracking
What's it
A cube game like Minecraft, using C++ and OpenGL.
Build Guide
Prerequisites
- CMake (>= 3.24)
- C++ 23 compatible compiler
Step
- Clone the repository
git clone https://github.com/zhenyan121/Cubed.git && cd Cubed - Configure with CMake
mkdir build && cd build cmake -G "Ninja" .. - Build the project
ninja
Languages
C++
96.8%
C
2.1%
GLSL
0.6%
Python
0.3%
CMake
0.2%