Skip to content
This repository has been archived by the owner on Nov 12, 2023. It is now read-only.
/ Jackbengine Public archive

A multi-platform C++ 2D game engine.

Notifications You must be signed in to change notification settings

Jackbenfu/Jackbengine

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

83 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

⚠️ I have decided to archive this project as I am no longer actively maintaining it.

Jackbengine

A multi-platform C++ 2D game engine.

Features

Multi-platform

The engine runs and was successfully tested on the following platforms:

  • OS X, macOS
  • Windows (MinGW)
  • Web (Emscripten)

ECS pattern implementation

Summary of the Entity-component-system approach:

  • Entities are made up of one or more components
  • Components contain data to store the state of an entity
  • Systems contain the logic and operate on entities that have the required components

The engine provides standard components and systems usually needed in a game:

  • Components: Transform, Velocity, BoxShape, Sprite, Text, MouseListener, AudioSource etc.
  • Systems: Motion, SpriteRender, TextRender, MouseEventTrigger, AABBCollision, DebugProfile, DebugSprite etc.

This collection of components and systems can be extended.

Resource management

  • Resources can be loaded from files or embedded resources.
  • Embedded resources can be generated using the ResourceGenerator tool.

Development information

  • All targets (except Web) are compiled using CMake.
  • Web targets are compiled using Emscripten and Makefiles.
  • My main IDE is CLion, the powerfull cross-platform C/C++ IDE from JetBrains!

External dependencies

The engine relies on the following awesome libraries and tools:

Releases

No releases published

Packages

No packages published

Languages