https://github.com/mysticquest/sdl-ecs-game-engine
A C++ game engine with ECS architecture, using SDL, handling rendering, transform, input and collision.
https://github.com/mysticquest/sdl-ecs-game-engine
cpp ecs game-engine sdl2
Last synced: 3 months ago
JSON representation
A C++ game engine with ECS architecture, using SDL, handling rendering, transform, input and collision.
- Host: GitHub
- URL: https://github.com/mysticquest/sdl-ecs-game-engine
- Owner: MysticQuest
- Created: 2023-06-04T18:08:59.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2023-10-26T15:26:22.000Z (over 1 year ago)
- Last Synced: 2025-01-20T21:38:38.512Z (5 months ago)
- Topics: cpp, ecs, game-engine, sdl2
- Language: C
- Homepage:
- Size: 1.53 MB
- Stars: 1
- Watchers: 1
- Forks: 1
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Breeze engine (WIP)
A simple ECS game engine using SDL.This repo contains a VS solution made of two projects.
- A game engine (library build dependency for the game).
- A game (windows application).When the engine project is built, its DLL, any SDL runtime dependencies, a res folder containing the textures, and an engine.ini file containing settings, get copied to the game's binaries path.
### Entity Component System
- Entities work as plain identifiers and are mapped to components.
- Components are simple data structs, devoid of behaviour.
- Systems manage the components' behaviour and logic.### Supported Components
- Rendering
- Input
- Transform
- Collision### Notes
- The engine loop handles low level runtime functions (frames, rendering, system update, event polling etc).
- The engine loop is agnostically observed by the game's update, intended for game-specific logic.
- At the moment, the game reads the engine.ini and loads the textures inside the res folder.## Sample Game
