View on GitHub

GeonBit

ECS-based Game Engine powered by MonoGame for C# games.

Intro

GeonBit is an extensive Entity-Component based game engine, written in C# and powered by MonoGame.

What’s ECS

From Wikipedia:

Entity-component system (ECS) is an architectural pattern that is mostly used in game development.

An ECS follows the Composition over inheritance principle that allows greater flexibility in defining entities where every object in a game’s scene is an entity (e.g. enemies, bullets, vehicles, etc.).

Every Entity consists of one or more components which add additional behavior or functionality. Therefore, the behavior of an entity can be changed at runtime by adding or removing components. This eliminates the ambiguity problems of deep and wide inheritance hierarchies that are difficult to understand, maintain and extend. Common ECS approaches are highly compatible and often combined with data oriented design techniques.

Or in short, GeonBit provide a system of generic Game Objects to which you can attach / detach components. These are the building-blocks of your game. In addition to the ECS system and framework, GeonBit also comes with a large set of built-in components, that make things like drawing, animating and physics a breeze.

GeonBit

Key Features

In addition to its built-in ECS framework, GeonBit provide the following features / classes:

In short, GeonBit comes with everything you need to make a basic 3D game, fast and easy!

For more complicated stuff (for example, if you build a multiplayer game and need networking components), GeonBit is open source and easy to extend. So you can easily write your own components and integrate them into the existing ECS framework.