Library based on sdl2 graphics library (and also go wrapper for sdl2 & sdl2 libs)
The goal of ECS pattern is data-logic separation. It improves code modularity and convenience
Engine separated by categories:
- Entities
- Components
- Systems
Objects which contains id and a list of properties (components)
Properties with data inside
Logics implementation that affect components each engine Update() event
Systems using global entities list to process each component in every single entity
Systems can interact with several components, for example: local2world system using position, rotation and size to calculate child entity global position
# install dependencies
sudo apt install libglu1-mesa-dev freeglut3-dev mesa-common-dev libsdl2-dev libsdl2-*-dev
cd examples/{example name}
go build -o {example name} main.go
./{example name}