Skip to content

1SHAMAY1/TimeEngine

Repository files navigation

TimeEngineIcon

Time Engine

A high-performance C++ game engine designed for sophisticated 2D application development and deterministic time manipulation.

C++20 Windows OpenGL 4.5 License MIT

Time Engine Editor Workspace


⏳ The Core Vision: 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.


✨ Core Engine Modules

🖥️ Professional Editor Experience

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.

Editor UI 1 Editor UI 2

⚡ Inbuilt 2D Sprite Editor & IDE (Final Stages)

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.

Sprite IDE

Time.Engine.2026-04-03.10-58-25.mp4

🛠️ Component System (ECS)

The engine utilizes a modular ECS architecture. Below is the current development status and use case for each component:

✅ Tested & Stable

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.

🛠️ Nearly Stable (Final Testing)

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.

🚧 In Development

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.

🧪 Experimental / Early Modules

  • 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.

🎨 Rendering & Lighting

  • 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.

Rendering Demo


🚀 Getting Started

  1. Clone: git clone --recursive https://github.com/1SHAMAY1/TimeEngine.git
  2. Generate: Run Scripts/GenerateProjectFiles.bat to create the Visual Studio solution.
  3. Build: Open TimeEngine.sln and build the Sandbox project in Debug or Release.
  4. Launch: Run Sandbox.exe to access the Project Hub.

🤝 Contributing

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.

About

Time Engine is a high-performance C++ game engine designed for sophisticated 2D application development and deterministic time manipulation.

Topics

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages