Skip to content

BadPlan/Blitz

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Blitz: ECS-based 2D game engine

made with Go

Concept

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

Basis

Engine separated by categories:

  • Entities
  • Components
  • Systems

Entities

Objects which contains id and a list of properties (components)

Components

Properties with data inside

Systems

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

Build examples - Ubuntu

Prebuild

# install dependencies
sudo apt install libglu1-mesa-dev freeglut3-dev mesa-common-dev libsdl2-dev libsdl2-*-dev

Build and run example

cd examples/{example name}
go build -o {example name} main.go
./{example name}

Releases

No releases published

Packages

No packages published

Languages