How bubu2001/antiworld works
AntiWorld is a C++20 3D tribal-development simulator. The runtime workflow starts at the application loop: camera/input and player control drive simulation while nearby world chunks are generated, equipped with physics and ECS entities, then rendered. The world branch includes terrain, climate, biome coloring and a separately generated world map; rendering also supports chunk LOD and culling. README documents tribal AI, but the tree lists no AI implementation source, so its internal flow is not shown. Several subsystem links reflect README documentation because their caller code was not sampled.
Main entry points: main.cpp Runtime Loop · chunk_manager.cpp Chunk Streaming · world.cpp ECS World · vulkan_base.cpp Vulkan Runtime
Components 22
Application
- Runtime Loop
src/main.cpp - Window
src/core/window.cpp - Input
src/core/input.h - Camera
src/core/camera.h - Floating Origin
src/core/floating_origin.cpp
World Generation
- World Map
src/world/world_map.cpp - Chunk Streaming
src/world/chunk_manager.cpp - Terrain Generator
src/world/terrain_generator.cpp - Climate
src/world/climate.cpp - Biome Sampling
src/world/biome.cpp - Worker Pool
src/world/thread_pool.cpp
Simulation
- ECS World
src/ecs/world.cpp - ECS Systems
src/ecs/systems.cpp - Player Controller
src/physics/player_controller.cpp - Physics World
src/physics/physics_world.cpp
Rendering
- Vulkan Runtime
src/renderer/vulkan_base.cpp - Graphics Pipeline
src/renderer/pipeline.cpp - Chunk LOD
src/renderer/lod_manager.cpp
Characters and AI
- Character Mesh
src/character/character_mesh.cpp - Animation
src/character/animation.cpp - Tribal AI
src/ai
Other components
- Player
Connections 26
- Player → Window: uses
- Player → Input: provides input
- Runtime Loop → Window: creates
- Runtime Loop → Vulkan Runtime: initializes
- Runtime Loop → World Map: starts
- Runtime Loop → Chunk Streaming: updates
- Runtime Loop → ECS World: runs
- Input → Player Controller: drives
- Camera → Player Controller: provides direction
- Player Controller → Physics World: sets velocity
- Runtime Loop → Physics World: steps
- Runtime Loop → Camera: updates
- Camera → Floating Origin: uses origin
- Chunk Streaming → Worker Pool: dispatches generation
- Chunk Streaming → Terrain Generator: generates chunks
- Terrain Generator → Climate: samples climate
- Terrain Generator → Biome Sampling: samples biomes
- Chunk Streaming → Physics World: creates shapes
- Chunk Streaming → ECS World: creates entities
- Chunk Streaming → Vulkan Runtime: uploads meshes
- ECS World → ECS Systems: updates
- ECS World → Vulkan Runtime: provides frame environment
- Vulkan Runtime → Graphics Pipeline: draws with
- Chunk Streaming → Chunk LOD: builds chunk levels
- Runtime Loop → Character Mesh: spawns agents
- Character Mesh → Animation: uses