A flexible game engine based on the entity component system model written in Go