Building a 2D Game Engine with OpenGL and Entity Component System
- Entity Component System
- Box2d Physics
- Event system
- Small OpenGL Render system
- Tilemaps
- Shader 2d lighting
- Animation system
- Layer and level loader
Create a CoreHandler for ecs management
gCoreHandler->CreateComponent<TransformComponent>();
gCoreHandler->CreateComponent<SpriteComponent>();
auto movementSystem = gCoreHandler->CreateSystem<MovementSystem>();
auto renderSystem = gCoreHandler->CreateSystem<RenderSystem>();
Entity tank = gCoreHandler->CreateEntity();
gCoreHandler->AddComponent(tank, TransformComponent{glm::vec2{230, 270}});
gCoreHandler->AddComponent(tank, RigidBodyComponent{});