All Projects → adriengivry → Overload

adriengivry / Overload

Licence: mit
3D Game engine with editor

Programming Languages

lua
6591 projects
cpp
1120 projects

Projects that are alternatives of or similar to Overload

Vxr
General purpose engine written in C++ with emphasis on materials rendering (PBR, clear coat, anisotropy, iridescence)
Stars: ✭ 181 (-45.97%)
Mutual labels:  game-engine, gamedev, opengl, graphics, physically-based-rendering, imgui
Magnum
Lightweight and modular C++11 graphics middleware for games and data visualization
Stars: ✭ 3,728 (+1012.84%)
Mutual labels:  game-engine, gamedev, opengl, graphics, graphics-engine
Hybridrenderingengine
Clustered Forward/Deferred renderer with Physically Based Shading, Image Based Lighting and a whole lot of OpenGL.
Stars: ✭ 563 (+68.06%)
Mutual labels:  opengl, graphics, 3d-graphics, rendering-engine, physically-based-rendering
Blue Flame Engine
A 3D/2D game engine that supports both DirectX11 and OpenGL 4.5
Stars: ✭ 129 (-61.49%)
Mutual labels:  game-engine, gamedev, opengl, rendering-engine, graphics-engine
Cpp 3d Game Tutorial Series
C++ 3D Game Tutorial Series is a YouTube tutorial series, whose purpose is to help all those who want to take their first steps in the game development from scratch.
Stars: ✭ 400 (+19.4%)
Mutual labels:  game-engine, gamedev, graphics, 3d-graphics, graphics-engine
Glas
WebGL in WebAssembly with AssemblyScript
Stars: ✭ 278 (-17.01%)
Mutual labels:  game-engine, gamedev, 3d-graphics, 3d-engine
Engine
Go 3D Game Engine
Stars: ✭ 1,362 (+306.57%)
Mutual labels:  game-engine, opengl, 3d-graphics, 3d-engine
Mxengine
C++ open source 3D game engine
Stars: ✭ 284 (-15.22%)
Mutual labels:  game-engine, gamedev, opengl, 3d-graphics
Lighthouse2
Lighthouse 2 framework for real-time ray tracing
Stars: ✭ 542 (+61.79%)
Mutual labels:  game-engine, gamedev, opengl, rendering-engine
Mos
Lightweight game engine.
Stars: ✭ 153 (-54.33%)
Mutual labels:  game-engine, opengl, 3d-graphics, graphics-engine
Rabbittoolbox
🤸🏾‍♀️👗开源的动画渲染软件,提倡以简单、易用,高质量的物理演算以及渲染质量和性能,为喜爱二次元动画的用户降低视频制作门槛
Stars: ✭ 309 (-7.76%)
Mutual labels:  game-engine, gamedev, opengl, graphics-engine
Ava
A tiny unlicensed 3D game engine in C; with C++ and Lua interfaces. Written in 32 random ̷d̷a̷y̷s̷ m̷o̷n̷t̷h̷s̷ years.
Stars: ✭ 287 (-14.33%)
Mutual labels:  game-engine, gamedev, opengl, imgui
Magnum Bootstrap
Bootstrap projects for Magnum C++11/C++14 graphics engine
Stars: ✭ 69 (-79.4%)
Mutual labels:  game-engine, gamedev, opengl, graphics-engine
Bansheeengine
Modern C++14 game engine with Vulkan support, fully featured editor and C# scripting
Stars: ✭ 2,906 (+767.46%)
Mutual labels:  game-engine, gamedev, opengl, graphics
Magnum Plugins
Plugins for the Magnum C++11/C++14 graphics engine
Stars: ✭ 66 (-80.3%)
Mutual labels:  game-engine, gamedev, opengl, graphics-engine
Simplerenderengine
Small C++14 render engine
Stars: ✭ 253 (-24.48%)
Mutual labels:  game-engine, opengl, rendering-engine, imgui
Qfusion
Source code for cross-platform OpenGL gaming engine
Stars: ✭ 255 (-23.88%)
Mutual labels:  game-engine, gamedev, opengl, 3d-engine
Ncine
A cross-platform 2D game engine
Stars: ✭ 372 (+11.04%)
Mutual labels:  game-engine, gamedev, opengl, imgui
Softwarerenderer
Software rendering engine with PBR. Built from scratch on C++.
Stars: ✭ 323 (-3.58%)
Mutual labels:  graphics, 3d-graphics, rendering-engine, physically-based-rendering
Magnum Examples
Examples for the Magnum C++11/C++14 graphics engine
Stars: ✭ 180 (-46.27%)
Mutual labels:  game-engine, gamedev, opengl, graphics-engine

Overload Logo

Releases | Screenshots | Features | Wiki | Contributing


platforms release size
issues pulls
license downloads


1. What is Overload

1.1. Description

Overload is an alternative game engine, inspired by industry standards, initiated by Benjamin VIRANIN, Max BRUN and Adrien GIVRY. Overload is now a community project, opened to any contribution.

Overload pillars are:

  • Simplicity
  • Documentation
  • High-quality modern C++ code

1.2. Modules

Overload is divided into 12 modules (10 DLLs and 2 executables):

1.2.1. Overload SDK

The Overload SDK is the core of the engine. It is a set of libraries that our applications (OvGame and OvEditor) are using. We designed theses libraries with reusability in mind. They are extremely modular and easy to extract from a game engine context.

  • OvAnalytics: Code and hardware profiling
  • OvDebug: Logging, assertions
  • OvTools: Serialization, ini files, events, time
  • OvMaths: Vectors, Matrices, Quaternion, Transform
  • OvAudio: Wraps irrKlang
  • OvPhysics: Wraps Bullet3
  • OvRendering: Rendering engine using OpenGL
  • OvWindowing: GLFW + Windows API wrapper
  • OvUI: Dear imGui wrapped into an event-based and component-based UI system
  • OvCore: Mediator, resource management, scripting, component-based scene system

1.2.2. Overload Applications

  • OvGame: Uses OvCore, asset dependent, generic executable for any game built with Overload
  • OvEditor: Uses OvCore, expose game development to the end-user (From creation to building)

Editor

2. History of Overload

2.1. Context

Initially, Overload was a graduation project. We were 3 (Benjamin VIRANIN, Max BRUN and Adrien GIVRY) working on it for 5 months. We had to create a game engine from scratch, using the fewest libraries possible.

2.2. Goals

Our goals for this project were:

  • Understanding how to architect a game engine
  • Designing an application thinking of end-users
  • Making a game engine as simple as possible
  • Producing high-quality modern code
  • Creating a game with our engine
  • Dealing with a long-term project
  • Developping documentation for developers and end-users

2.3. Pre-production

We spent about a month designing our initial architecture. We tried to provide a technical solution with UML diagrams, flowcharts, package diagrams and use-case diagrams. This was a long and tedious work, but it really helped us to start the production with a clear vision of the engine. We defined some coding convention to ensure that all of our work will stay homogeneous during the production. Defining these kinds of rules is crucial to keep a maintainable code during the whole project.

2.4. Production

The production made us realize that we had a naive idea of what a game engine is. During this phase our architecture has evolved. We found that our initial architecture was sometimes too complex, non-optimal. We went back to architecture design multiple times during the project.

3. Features

3.1. Implemented

Here is a non-exhaustive list of Overload main features:

  • Game Editor
  • Lua scripting
  • Physically-based rendering (PBR)
  • Custom shaders support
  • Windows game building
  • Profiling tools (Editor and build)
  • Material editor
  • 3D sound system
  • Rigidbody physics

3.2. To implement

Again, a non-exhaustive list of Overload in-coming features:

  • Shadow mapping
  • Custom post-processing
  • Renderer Hardware Interface (Multiple graphics backend support)
  • More input device support (Gamepad)
  • Prefab system
  • Skeletal animation
  • User scripts profiling

4. Details

4.1. Software

  • Visual Studio 2019

4.2. Dependencies

  • OpenGL with GLEW (Graphics API)
  • GLFW (Windowing and inputs)
  • Assimp (3D model loader)
  • Bullet3 (Physics)
  • irrKlang (Audio)
  • Tinyxml2 (XML Serializer)
  • SOL2 (Lua binder)
  • imGui (GUI)

4.3. Requirements

Overload requires:

  • RAM: 100MB
  • OS: Windows 7
  • GPU: Graphics card supporting OpenGL 4.3

4.4. Compiling sources

We made this project using Visual Studio 2019. If you want to compile Overload, you should consider using this IDE.
Overload only targets Windows x64.

4.5. Licence

Overload is licenced under an MIT licence.

4.6. More information

If you are interested in Overload, you can download our engine and the demo game we made with it on our website:
http://overloadengine.org

Learn about Overload (Tutorials and Scripting API) by visiting our Wiki:
https://github.com/adriengivry/Overload/wiki

You can also watch our features reel (Overload v1.0.0) on YouTube:
https://www.youtube.com/watch?v=ARXSJh-ZMHM

And join our Discord Server:
https://discord.gg/wqe775s

5. Getting started

Learn how to create your own games using Overload by visiting our wiki.

6. Contributing

Overload is opened to any contribution. Do not hesitate to open issues (Features or bugs) or create pull requests.

If you want to help us, visit our CONTRIBUTING.md guidelines document.

7. Screenshots

PBR Shading Material Editor Standard Shader Library Custom Shaders Realtime Lighting Scene Edition Build System Project Hub

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].