A high-performance C++ game engine designed for sophisticated 2D application development and deterministic time manipulation.
TimeEngine is built with a unique architectural goal: deterministic simulation. While it provides a professional-grade suite for 2D development, it is being evolved to support:
- Frame-Perfect Rewind: Snapshot-based state management for instant time reversal.
- Deterministic Logic: Ensuring simulation consistency across environments.
- Time Dilation: Granular control over simulation speed and flow.
Note: Time manipulation features are currently in active development. See our Roadmap.
The Time Engine workspace is built for developer productivity, featuring:
- Viewport Navigation: Seamless WASD + Right-Click movement with camera speed scaling and precise zoom-to-grid mechanics.
- Horizontal Viewport Toolbar: Quick-access interface for switching between selection, transform, and specialized editor modes.
- TEPropertyDrawer: A modular system for generating consistent and stable property inspectors automatically.
- Modern Glass UI: Translucent context menus and property panels for a clean, non-intrusive workspace.
A core refactor has introduced a fully data-driven, modular scripting environment within the engine:
- Recursive Expression Evaluator: Supports complex nested math (e.g.,
sin(a + b) * cos(c)) with full operator precedence. - Unified Block Executor: A robust pipeline handling draw calls, assignments, and control flow (if/else, for-loops) in a single unified script.
- Live Code Interaction: Automated variable registration for real-time scripting and visualization.
Time.Engine.2026-04-03.10-58-25.mp4
The engine utilizes a modular ECS architecture. Below is the current development status and use case for each component:
| Component | Use Case |
|---|---|
| Box/Circle/Triangle/Polygon | Procedural geometric shapes with integrated collision detection. Perfect for prototyping and geometric art. |
| LightComponent | Point and directional lights that interact with materials to create depth and atmosphere. |
| TransformComponent | Essential spatial data (X, Y, Rotation, Scale) for every entity. |
| TagComponent | Unique identification for entity organization and retrieval. |
| Component | Use Case |
|---|---|
| Sprite / Animated Sprite | Texture rendering and flipbook-style animations for characters and environments. |
| ProceduralSpriteComponent | The base class for custom, code-driven visual elements via scripting. |
| Component | Use Case |
|---|---|
| Input System | Action-based input mapping for rebindable controls (Mouse/Keyboard). |
| AmbientLightComponent | Global illumination settings for the entire scene. |
| ParallaxComponent | Layered background scrolling to create a 2D sense of depth. |
- Physics Engine (
PhysicsWorld): Initial support for rigid body physics and simulation (not yet production-ready). - Particle System: Components for building emitters and managing particle pools for visual effects.
- OpenGL 4.5 Backend: Utilizes modern rendering techniques for maximum efficiency.
- Batch Rendering: Optimized draw calls for quads, sprites, and procedural primitives to handle millions of objects.
- Material System: Flexible shader and texture management via a centralized library.
- Clone:
git clone --recursive https://github.com/1SHAMAY1/TimeEngine.git - Generate: Run
Scripts/GenerateProjectFiles.batto create the Visual Studio solution. - Build: Open
TimeEngine.slnand build the Sandbox project inDebugorRelease. - Launch: Run
Sandbox.exeto access the Project Hub.
Time Engine is an open-source project, and we welcome contributions. Please see CONTRIBUTING.md and our Roadmap for more details.
Important
This engine is under Active Development. Modules marked as "In Development" or "Experimental" may undergo breaking changes.





