Skip to content
Mateus edited this page Jan 3, 2020 · 11 revisions

BitEngine

Entity component based game framework. The framework is being planned to be expandable and have a fully customizable pipeline.

This engine is being built for personal use and learning purposes. The API may change at any moment.

Dependencies:

Currently supports:

General Engine

Resource Management

  • Resource Loader => Providing async resource loading. May reload any resource at any time.
  • Generic Resource Metadata => May be used to specify details for any type of resource.
  • OpenGL Texture Manager => Default texture manager.
  • OpenGL Shader Manager => Default shader manager.
  • Sprite Manager => General Sprite manager.

Task Management

  • Easily create async jobs to speedup heavy tasks!
  • Support task dependencies
  • Thread control execution (easy management of what should be executed on the main thread)

Reflection

  • Basic API to create reflection data for classes, may be used to build a visual editor.

Graphics

  • Generic shader interface to build custom render modes

Others

  • Messaging available for ECS and all Game Systems.

Built-in component modules:

2D:

  • Tranform2D
  • Camera2D
  • Sprite2D

3D: (in rework)

  • Transform3D
  • Camera3D

General:

  • GameLogic - C++ class used to add some game logic functionality to entities.

Available Platform Backends

  • GLFW - Input and Video (OpenGL) Systems
  • OpenGL 2.0+ - only 2D rendering for now

Plans:

    • Default 3D mesh rendering module
    • LUA support for a GameLogic like module
    • Android support
    • Audio

Building

  1. Clone the repository with all submodules:

git clone --recurse-submodules https://github.com/MateusMP/BitEngine.git

  1. Use premake5 to generate project files for your IDE of preference:

premake5 vs2017

premake5 gmake2

Clone this wiki locally