How bobbyanguelov/esoterica works
Esoterica is a Windows-oriented prototype game-engine framework for technical teams to extend. The main runtime workflow is launching the standalone engine, initializing its modules and systems, loading a requested map through resource management, and updating the game world and renderer. Separate tools support editing, resource compilation and serving, and reflection/code generation. The README documents major engine capabilities whose implementation is outside the supplied excerpts; those are represented at the nearest supported source path, without asserting detailed internal wiring.
Main entry points: Engine.cpp Engine lifecycle · EngineModule.cpp Engine module · Reflector.cpp Reflection processing · EngineApplication_Win32.cpp Win32 engine app
Components 22
Engine Runtime
- Win32 engine app
Code/Applications/Engine/Win32/EngineApplication_Win32.cpp - Engine lifecycle
Code/Engine/Engine.cpp - Engine module
Code/Engine/_Module/EngineModule.cpp - Entity world
Code/Engine/_Module/EngineModule.h - Animation system
Code/Engine/_Module/EngineModule.h - Physics and ragdolls
Code/Engine/_Module/EngineModule.h - DX12 renderer
Code/Engine/_Module/EngineModule.cpp - Shader handling
Code/Engine/Render/Shaders/EngineShader.cpp
Resource Pipeline
- Resource system
Code/Base/Resource/ResourceSystem.cpp - Resource providers
Code/Base/Resource/ResourceProviders/ResourceProvider_Network.cpp - Resource server
Code/Applications/ResourceServer/ResourceServer.cpp - Resource compiler
Code/Applications/ResourceCompiler/ResourceCompilerApplication.cpp
Tools
- Editor application
Code/Applications/Editor/Win32/EditorApplication_Win32.cpp - Editor UI
Code/Applications/Editor/EditorUI.cpp - Engine debug UI
Code/Engine/ToolsUI/EngineDebugUI.cpp - Engine tools module
Code/EngineTools/_Module/EngineToolsModule.cpp
Reflection
- Reflector app
Code/Applications/Reflector/ReflectorApplication.cpp - Reflection processing
Code/Applications/Reflector/Reflector.cpp - C++ type reflection
Code/Applications/Reflector/TypeReflection/Clang/ClangParser.cpp - Shader reflection
Code/Applications/Reflector/ShaderReflection/ShaderReflection_ShaderParser.cpp - Generated reflection code
Code/Applications/Reflector/TypeReflection/TypeReflection_CodeGenerator.cpp
Other components
- Engine user
Connections 23
- Engine user → Win32 engine app: launches
- Win32 engine app → Engine lifecycle: initializes and updates
- Win32 engine app → Engine lifecycle: forwards input
- Engine lifecycle → Engine module: initializes modules
- Engine lifecycle → Resource system: processes requests
- Engine lifecycle → Entity world: initializes and loads map
- Engine module → Entity world: provides world manager
- Engine module → Animation system: registers loaders
- Engine module → Physics and ragdolls: initializes physics
- Engine module → DX12 renderer: initializes renderer
- DX12 renderer → Shader handling: creates shaders
- Resource system → Resource providers: requests resources
- Resource server → Resource compiler: handles compilation requests
- Resource server → Resource providers: serves compiled resources
- Engine user → Editor application: launches
- Editor application → Editor UI: runs editor
- Engine lifecycle → Engine debug UI: creates tools UI
- Engine tools module → Editor UI: supports tooling
- Engine user → Reflector app: runs
- Reflector app → Reflection processing: starts processing
- Reflection processing → C++ type reflection: reflects C++ types
- Reflection processing → Shader reflection: reflects shaders
- Reflection processing → Generated reflection code: generates code