Skip to content

martonban/BagEngine

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Bag Engine

Bag Engine is a 2D game engine built with Java and OpenGL, utilizing industry-standard libraries such as ImGui, Box2D, and GSON.

Credits

This project was developed based on this course. Thus, the source code is not mine but belongs to GamesWithGabe. This project serves as a learning platform for me, through which I have gained an understanding of how game engines work.

Libraries/Technologies:

  • Maven: Build System
  • LWJGL: For window handling, graphics and math libraries.
  • Box2D: For Physics
  • GSON: For serialization/deserialization
  • ImGUI: For UI elements

Functionalities:

Editor and Runtime

Bag Engine includes an integrated editor that allows users to create and modify their own levels, with a built-in serializer handling the saving process. By pressing the 'Play' button, users can launch a debug mode, which effectively serves as the engine's runtime.


editor2

ECS System

The engine features a classic Entity-Component-System (ECS) architecture. This allows each scene to contain multiple game objects, each composed of various components. These components define and modify the behavior of their respective game objects.


ecs2

Physics System

The engine includes a physics system powered by the Box2D library. This enables the creation of dynamic game objects that move based on real-world physics simulations.


physics2

Docking

With the help of the industry-recognized and widely used ImGui library, I am able to provide a highly dynamic user interface. As a result, all GUI elements are fully customizable and can be tailored to the user's specific needs.


docking

Asset Browser

The engine features an Asset Browser, which allows users to browse through tiles, prefabs, and audio files.


assets

About

[POC] A 2D Game Engine in Java and OpenGL

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published