zhenyan121 28b66ee275 refactor(world): rework chunk state machine and player chunk tracking
Introduce ChunkState enum and ChunkEntity struct to manage chunk lifecycle. Store chunks as shared_ptr to avoid move operations during generation. Add clear_unused_chunks to remove chunks not referenced by any player. Implement deferred chunk request queue for safe processing after generation completes. Update player chunk set during required chunk computation. Improve thread safety with mutexes on chunk and player maps. Fix m_gening flag not reset after generation and add assertions for correctness. Change need_gen to require a player UUID, removing std::optional. Add chunk_size query method for debugging.
2026-06-28 14:27:30 +08:00
2026-06-20 15:03:40 +08:00
2026-04-21 22:53:34 +08:00
2026-06-27 17:48:57 +08:00
2026-05-28 21:34:36 +08:00
2026-06-22 13:34:45 +08:00
2026-06-20 15:03:40 +08:00
2026-04-19 18:01:09 +08:00
2026-06-20 15:03:40 +08:00
2026-06-27 17:48:57 +08:00

What's it

A cube game like Minecraft, using C++ and OpenGL.

Build Guide

Prerequisites

  • CMake (>= 3.24)
  • C++ 23 compatible compiler

Step

  1. Clone the repository
    git clone https://github.com/zhenyan121/Cubed.git && cd Cubed
    
  2. Configure with CMake
    mkdir build && cd build
    cmake -G "Ninja" ..
    
  3. Build the project
    ninja
    
Description
No description provided
Readme MIT 38 MiB
Languages
C++ 96.8%
C 2.1%
GLSL 0.6%
Python 0.3%
CMake 0.2%