Skip to content

CoffeeCat1920/ProjectEngine

Repository files navigation

Project Icon

🎮 Project Engine

A lightweight, modular Entity-Component-System (ECS) based game engine built in C++ with support for rendering, physics, and scene management. Designed for flexibility, maintainability, and extensibility — this engine separates the core ECS logic from the game layer.


🚀 Features

✅ Core Systems

  • Efficient ECS architecture
  • Improved argument pack methods for system and component management
  • Strict assertions and validation
  • Utility methods in GameEngine to interact cleanly with the game layer

✅ Components & Systems

  • Built-in example components and systems
  • Efficient component storage and retrieval
  • Serialization & deserialization of entities and scenes
  • Component registry with macro-based reflection

✅ Scene Management

  • JSON-based entity serialization/deserialization
  • Automatic component registration
  • Simplified scene struct handling

🧩 Upcoming Work (Next Semester)

  • Asset Management
  • Agnostic Input Handling
  • Lua Scripting Integration
  • Dynamic Component & System Loading at Game Level
  • QuadTree-Based Spatial Partitioning
  • Position-Based Entity Queries

🛠️ Build Instructions

git clone <repo-url>
cd <repo-folder>
mkdir build && cd build
cmake ..
make
./FallingBoxes

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published