Skip to content

YasInvolved/ProjectDelta

Repository files navigation

Project Delta

A performance-first, data-driven game engine built from the ground up with a focus on cache locality, minimal overhead, and deterministic memory allocation patterns.

This project is currently a work-in-progress, moving away from standard library abstractions to provide a leaner more transparent development environment.

Note

This engine is in an active state of flux. APIs and memory structures are subject to significant changes as the threading and allocation systems are refined.

🚀 Key Features

  • Zero-Overhead Data Driven Design: Engineered around efficient data layouts to maximize CPU cache hits and minimize pipeline stalls.
  • Minimal STL Dependency: To maintain total control over binary size and memory patterns, the project avoids the STL, utilizing only essential low-level headers (e.g. <bit> or <algorithm>).
  • Hot-reloading: Due to its unique launching design, the engine is able to hot-reload the whole game without a need to close and start the whole application again.
  • Custom Threading API: A lightweight, platform-agnostic threading wrapper designed specifically for high-performance task scheduling and synchronization.
  • Real-time resource monitoring: (long-term planned feature for developers) Real-time engine resources monitoring with web application. No dependencies required!

🧠 Memory Management

The engine treats memory as a first-class citizen. Rather than relying on general-purpose heap allocations, it implements a suite of Custom O(1) Allocators to eliminate latency spikes:

  • Linear/Stack Allocators: For high-speed, frame-based temporary storage.

Note

There's only 1 type of allocator needed for now. I'm perfectly aware of memory bloating that could happen in the future or happens now. Other allocator types will be implemented in the future. For now, I can almost certainly say that this will happen before rendering system implementation.

🛠 Tech Stack

  • Language: C++,
  • Build System: CMake,
  • Target Architectures: amd64 (and arm64 being considered).

🏗 Roadmap

  • Memory Management Unit and custom allocators
  • Finalize Worker API and task scheduling foundations
  • Window and Event system (ongoing)
  • Implement SIMD math library integrations
  • Benchmarks
  • Integrate a Vulkan/Direct3D 12 rendering abstraction
  • Real-time telemetry system

About

Data driven game engine. Work in progress

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors