Project videos
Demonstrations of the engine’s real-time systems and scenes.
Engine scene demonstration
What it is
GameEngine2.0 is an independent C++ engine focused on clear ownership, extensible components, and thread-safe real-time execution. Game logic is authored in C++, with no runtime scripting dependency and no external rendering library.
Component-based objects
Game objects are composed from reusable components, with safe dynamic composition and C++ extension points for new behavior.
Threaded runtime
Update, rendering, and physics run on dedicated threads, with a synchronized render snapshot that provides a consistent view of object data.
Software graphics
Immediate console rendering and a deferred software framebuffer can share a common output buffer, supporting both 2D and 3D rendering work.
Execution architecture
The engine’s runtime separates authoritative gameplay updates from rendering and simulation, so each system can execute without competing over the same object state.
Engine systems
Core and gameplay
- Central system registry, scene loading/unloading, lifecycle queues, and deferred destruction.
- Event manager with custom events, deferred queues, and unsubscribe handles.
- Win32 keyboard, mouse, and mouse-wheel input for both UI and game systems.
- Player-context and controller architecture that separates devices, player semantics, and entity behavior.
Rendering, UI, and physics
- 2D meshes, polygons, shapes, text, BMP asset import, and a software framebuffer.
- Modular 3D pipeline work including culling, transforms, clipping, rasterization, lighting, shading, and post-processing stages.
- Panels, buttons, layouts, alignment, scroll views, hit testing, and text boxes.
- Threaded 2D and 3D physics with collision detection, contact reporting, and collision/trigger hooks.
Design approach
Clear systems, minimal coupling
Engine services are kept decoupled where possible, while deferred queues and explicit ownership help make cross-system operations safe and predictable.
A platform for experiments
Scenes, UI demos, flight controls, rendering work, and physics features provide a practical environment for extending and testing engine systems over time.