Skip to content

Latest commit

 

History

History
112 lines (90 loc) · 7.17 KB

README.md

File metadata and controls

112 lines (90 loc) · 7.17 KB

Emergence

Test

Emergence is a flexible set of libraries for gameplay development that aims to become modular game engine in the future. Currently under development.

Architecture

Emergence architecture is built upon concept of units: relatively small modular libraries that provide singular feature to the user and depend on one another in order to do it. There is 3 kinds of units:

  • Interface units provide only headers.
  • Concrete units provide headers and one concrete implementation for them.
  • Abstract units provide headers with abstract API and several implementations for them as concrete units.

Every unit is either an object or interface library, therefore it is possible to explicitly control what goes into which output artefact (shared library or executable).

This architecture aims to:

  • Make link time polymorphism easy to use through abstract units.
  • Make modularization straightforward, easy to define and implement.
  • Make it easy to separate modules into several shared libraries.

Features

Core

Resource management

Data management and processing

Celerity

Celerity is an ECS-like game world architecture solution. It provides interface for building modular worlds, that consist of multiple logical parts. For example, tools like unified editor might be modelled as a world with multiple independent sub worlds. It has lots of extensions:

Other

Executables