Skip to content

TheMadDodger/Glory

Repository files navigation

Glory Engine

A modular game engine and editor.

Glory is an under development, modular game engine and editor, written in C++. It has a detailed profiler, comes with a clustered renderer supporting 3000+ dynamic lights, is fully customizable and is platform independant thanks to its modularity.

Glory Editor

Features

  • Extremely expandable due to modular design
  • Customizable editor made using ImGui
  • Scripting in any language your hearth desires
  • Write custom modules
  • Built-in asset management
  • Use any graphics API
  • Project HUB
  • Runtime shader compilation and in the future cross platform shader compilation
  • Built-in profiler
  • Launcher/Hub with support for multiple editor installations (similar to Unity)
  • Built-in version checking

Built-in Modules

  • Clustered Renderer
  • OpenGL Graphics API
  • Model loader using ASSIMP
  • ECS Scene System
  • Texture loading using SDL image
  • SDL Window
  • Physics engine using the Jolt Physics library
  • Scripting in C# using mono
  • Input processing with SDL
  • Vulkan Graphics API (WIP)

Tech

Glory uses the following libraries:

  • Dear ImGui - Open-source GUI library used by the editor.
  • ImGuizmo - Amazing library for 3D gizmos and grids rendered using ImGui.
  • ImPlot - Epic library for plotting graphs in ImGui.
  • RapidJSON - The fastest json parser and writer in existance.
  • ASSIMP - Open asset import library for importing 3D files like FBX, OBJ, CAD and many more.
  • yaml-cpp - YAML file parser for C++.
  • SDL - Simple Direct Media Layer library, used for opening a window.
  • SDL_Image - Image loading library for SDL.
  • Vulkan SDK - The future of computer graphics.
  • GLEW - OpenGL extension wrangler library.
  • GLM - Mathematics library for graphics software.
  • Premake5 - Powerfully simple build configuration.
  • shaderc - A collection of tools, libraries and tests for shader compilation.
  • SPIRV-cross - Tool designed for parsing and converting SPIR-V to other shader languages.
  • SPIRV-tools - Tool that provides an API and commands for processing SPIR-V modules.
  • glslang
  • Mono - Software platform designed to allow developers to easily create cross platform applications.
  • Jolt Physics - A multi core friendly rigid body physics and collision detection library suitable for games and VR applications, used by Horizon Forbidden West.
  • curl - Command line tool and library for transferring data with URLs (since 1998)
  • stb_image.h - Single-file public domain (or MIT licensed) libraries for C/C++.
  • esfw - Simple and fast cross platform filewatch.
  • tinyfiledialogs - Simple and fast cross platform file dialog.
  • FontAwesome - Large collection of icons contained in a font.
  • zlib - A Massively Spiffy Yet Delicately Unobtrusive Compression Library.

Installation

Install Dependencies

To build and install dependencies, run the install-dependencies.sh script using the following command line: ./install-dependencies.sh [configuration] There are currently 2 options for configuration, Debug and Release.

Build the engine

Run the generateprojects.bat file to run the premake scripts and generate the visual studio project files. Open GloryEngine.sln and build the whole solution. Run the editor by running Glorious.

Run the luncher/hub by running GloriousLauncher.

License

The current version of Glory is under a Personal Use Only license. This will change in the near future to allow commercial usage under limitations.

About

Glory is a modular Game Engine currently in development.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published