How eatfears/blocks works
Blocks is a real-time voxel-world game. The player provides keyboard and mouse input through GLUT callbacks; Engine handles the game loop and rendering, using World and Character state, while chunks supply block geometry and lighting. The tree also identifies terrain generation, materials, platform logic, statistics, shaders, and texture assets as product subsystems. The README is empty and several source files were not sampled, so uncertain subsystem wiring is omitted rather than inferred.
Main entry points: engine.cpp Engine Loop · chunk.cpp World Chunks · main.cpp Application Entry · world.cpp World State
Components 18
Game Runtime
- Application Entry
source/bin/blocks/main.cpp - Engine Loop
source/lib/engine/engine.cpp
Voxel World
- World State
source/lib/engine/world.cpp - Character
source/lib/engine/character.cpp - Landscape
source/lib/engine/landscape.cpp - World Chunks
source/lib/engine/chunk.cpp - Perlin Noise
source/lib/noise/perlin_noise.cpp - Prime Generator
source/lib/noise/primes.cpp
Rendering
- Voxel Lighting
source/lib/engine/light.cpp - Materials
source/lib/engine/material.cpp - Shader Sources
working_dir/shaders - Texture Assets
working_dir/textures
Game Support
- Platform Logic
source/lib/engine/platform.cpp - Game Statistics
source/lib/engine/statistics.cpp - Logging
source/lib/logger/logger.cpp
Other components
- Player
- GLUT
- Local Files
Connections 18
- Player → GLUT: provides input
- GLUT → Application Entry: dispatches callbacks
- Application Entry → Engine Loop: starts and dispatches
- Application Entry → Shader Sources: loads sources
- Engine Loop → World State: updates and reads
- Engine Loop → Character: handles input
- Engine Loop → World Chunks: renders chunks
- Engine Loop → Materials: uses textures
- Engine Loop → Game Statistics: updates stats
- World State → Character: holds player
- World State → World Chunks: manages chunks
- Landscape → Perlin Noise
- Perlin Noise → Prime Generator: initializes noise
- World Chunks → World State: looks up blocks
- World Chunks → Voxel Lighting: queries lighting
- World Chunks → Local Files: loads and saves
- Materials → Texture Assets: uses assets
- Application Entry → Logging: logs startup