How ygni-rtype/gengine works
GEngine is a C++ game-engine library built around an ECS, with local/remote engine instances and subsystems for simulation, rendering/input, GUI, audio, and networking. A typical application initializes the singleton, registers its components and systems, then runs engine event processing; networked builds additionally use client/server systems for commands, state updates, recording, and voice. The README describes package installation rather than runtime behavior. Several subsystem links are omitted because their implementations were not sampled.
Main entry points: ECS.hpp ECS runtime · GEngine.hpp GEngine singleton · BaseEngine.hpp BaseEngine · Manager.hpp System manager
Components 22
Engine and ECS
- GEngine singleton
include/GEngine/GEngine.hpp - BaseEngine
include/GEngine/BaseEngine.hpp - ECS runtime
include/ecs/ECS.hpp - Entity manager
include/ecs/entity/Manager.hpp - Component manager
include/ecs/component/Manager.hpp - System manager
include/ecs/system/Manager.hpp - Event bus
include/ecs/system/event/Bus.hpp - Component and system registration
include/GEngine/GEngine.hpp
Game and interface
- Game simulation
include/GEngine/libdev/systems/Motions.hpp - Collision handling
include/GEngine/libdev/systems/Collisions.hpp - Local/remote interface
include/GEngine/interface/systems/RemoteLocal.hpp
Driver and presentation
- GUI scenes and widgets
include/GEngine/libdev/systems/gui/SceneManager.hpp - Input capture
include/GEngine/libdev/systems/driver/input/KeyboardCatcher.hpp - Rendering and assets
include/GEngine/libdev/systems/driver/output/RenderWindow.hpp - Audio and voice
include/GEngine/libdev/systems/driver/output/AudioManager.hpp
Networking
- Network interface systems
include/GEngine/interface/network/systems/ClientServer.hpp - Network transport
include/GEngine/net/net.hpp - Network commands
include/GEngine/interface/network/systems/CommandManager.hpp - Snapshots and updates
include/GEngine/interface/network/systems/Snapshot.hpp - Network recording
include/GEngine/interface/network/systems/RecordManager.hpp
Other components
- Game application
- Network peers
Connections 11
- Game application → GEngine singleton: initializes
- GEngine singleton → BaseEngine: creates instances
- GEngine singleton → Component and system registration: registers elements
- Component and system registration → BaseEngine: registers with
- BaseEngine → ECS runtime: publishes and executes events
- ECS runtime → Entity manager: manages entities
- ECS runtime → Component manager: manages components
- ECS runtime → System manager: dispatches systems
- System manager → Event bus: uses event bus
- Network commands → Network transport: reads and sends messages
- Network peers → Network transport: exchange messages