Skip to content

This C++ header only library is a Entity-Component-System (ECS) Game Engine utilizing the famous SFML C++ multimedia library.

License

Notifications You must be signed in to change notification settings

MarkV2323/ECS-Engine

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

40 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ECS-Engine

This C++ header only library is a Entity-Component-System (ECS) Game Engine utilizing the famous SFML C++ multimedia library.

Brief Overview

Entity.h is used only internally, you need to use the EntityManager for almost everything related to spawning or removing entities. Components can be thought of as containers for data, with that in mind you can retreive entities from the EntityManager, and then return entity component data to build your game systems however you like. A true engine would probably have these system already in place, maybe in the future I may add my own that I find I use the most.

Usage

Simply clone the repo and copy the directory, "EcsHeaders" and place in your source code location. Begin use via include statements, ensure your build system knows where to find the EcsHeader directory.

How to build the test bench

The test bench may contain different iterations of the ECS Engine over time as I add new functionality. It will have a basic Game class and window however. You can build it via the following command,

cmake --build .\build\ ; .\build\bin\Debug\ECS_ENGINE.exe

VSCode with this project

I build the binary via VCPKG for dependencie management and CMake for build system. CMakePresets.json is what allows VSCode CMake extenstions to bridge the gap between VCPKG and CMake, specifically passing the requried variables to CMake so it can find SFML and FMT for example...

Make sure to have a environment variable, VCPKGCMAKE set to the vcpkg.cmake in order for this to work.

About

This C++ header only library is a Entity-Component-System (ECS) Game Engine utilizing the famous SFML C++ multimedia library.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published