You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Some documents has been added:
- Code of conduct
- Contribution guidelines
- Bug report template
- Feature request template
And others has been updated:
- README
First of all, thanks for your interest into Overload! Any contribution is welcome:
3
+
4
+
- Reporting a bug
5
+
- Submitting a fix
6
+
- Proposing new features
7
+
- Improving the code quality
8
+
9
+
## We Develop with Github
10
+
We use github to host code, to track issues and feature requests, as well as accept pull requests.
11
+
12
+
## We Use [Github Flow](https://guides.github.com/introduction/flow/index.html), So All Code Changes Happen Through Pull Requests
13
+
Pull requests are the best way to propose changes to the codebase (we use [Github Flow](https://guides.github.com/introduction/flow/index.html)). We actively welcome your pull requests:
14
+
15
+
1. Fork the repo
16
+
2. Create your branch from `develop` respecting naming conventions
17
+
3. Review your code before submitting (Build and quality check)
18
+
4. Create a pull request to `develop`
19
+
20
+
## Any contributions you make will be under the MIT Software License
21
+
In short, when you submit code changes, your submissions are understood to be under the same [MIT License](http://choosealicense.com/licenses/mit/) that covers the project. Feel free to contact the maintainers if that's a concern.
22
+
23
+
## Report bugs using Github's issues
24
+
We use GitHub issues to track public bugs. Report a bug by opening a new issue it's that easy!
Copy file name to clipboardexpand all lines: README.md
+79-56
Original file line number
Diff line number
Diff line change
@@ -1,12 +1,43 @@
1
1

2
2
3
-
## Context
4
-
Overload is a graduation project. We were 3 ([Benjamin VIRANIN](https://github.com/BenjaminViranin), [Max BRUN](https://github.com/maxbrundev) and me) working on during 5 months.
5
-
We had to create a game engine from scratch, using the fewest libraries possible.
3
+
# 1. What is Overload
4
+
## 1.1. Description
5
+
Overload is an alternative game engine, inspired by industry standards, initiated by [Benjamin VIRANIN](https://github.com/BenjaminViranin), [Max BRUN](https://github.com/maxbrundev) and [Adrien GIVRY](https://github.com/adriengivry). Overload is now a community project, opened to any contribution.
6
+
7
+
Overload pillars are:
8
+
- Simplicity
9
+
- Documentation
10
+
- High-quality modern C++ code
11
+
12
+
## 1.2. Modules
13
+
Overload is divided into 12 modules (10 DLLs and 2 executables):
14
+
15
+
### 1.2.1. Overload SDK
16
+
The Overload SDK is the core of the engine. It is a set of libraries that our applications (`OvGame` and `OvEditor`) are using.
17
+
We designed theses libraries with reusability in mind. They are extremely modular and easy to extract from a game engine context.
18
+
-`OvAnalytics`: Code and hardware profiling
19
+
-`OvDebug`: Logging, assertions
20
+
-`OvTools`: Serialization, ini files, events, time
-`OvUI`: Dear imGui wrapped into an event-based and component-based UI system
27
+
-`OvCore`: Mediator, resource management, scripting, component-based scene system
28
+
29
+
### 1.2.2. Overload Applications
30
+
-`OvGame`: Uses OvCore, asset dependent, generic executable for any game built with Overload
31
+
-`OvEditor`: Uses OvCore, expose game development to the end-user (From creation to building)
6
32
7
33

34
+
*Preview of Overload Game Editor for its first release (v.1.0.0)*
8
35
9
-
## Team goals
36
+
# 2. History of Overload
37
+
## 2.1. Context
38
+
Initially, Overload was a graduation project. We were 3 ([Benjamin VIRANIN](https://github.com/BenjaminViranin), [Max BRUN](https://github.com/maxbrundev) and [Adrien GIVRY](https://github.com/adriengivry)) working on it for 5 months. We had to create a game engine from scratch, using the fewest libraries possible.
39
+
40
+
## 2.2. Goals
10
41
Our goals for this project were:
11
42
- Understanding how to architect a game engine
12
43
- Designing an application thinking of end-users
@@ -16,10 +47,40 @@ Our goals for this project were:
16
47
- Dealing with a long-term project
17
48
- Developping documentation for developers and end-users
18
49
19
-
## Software used
20
-
- Visual Studio 2017 and 2019 to code
50
+
## 2.3. Pre-production
51
+
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.
21
52
22
-
## Libraries used
53
+
## 2.4. Production
54
+
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.
55
+
56
+
# 3. Features
57
+
## 3.1. Implemented
58
+
Here is a non-exhaustive list of Overload main features:
59
+
- Game Editor
60
+
- Lua scripting
61
+
- Physically-based rendering (PBR)
62
+
- Custom shaders support
63
+
- Windows game building
64
+
- Profiling tools (Editor and build)
65
+
- Material editor
66
+
- 3D sound system
67
+
- Rigidbody physics
68
+
69
+
## 3.2. To implement
70
+
Again, a non-exhaustive list of Overload in-coming features:
@@ -29,62 +90,24 @@ Our goals for this project were:
29
90
- SOL2 (Lua binder)
30
91
- imGui (GUI)
31
92
32
-
## Pre-production
33
-
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.
93
+
## 4.3. Compiling sources
94
+
We made this project using Visual Studio 2019. If you want to compile Overload, you should consider using this IDE.<br>
95
+
Overload only targets Windows x64.
34
96
35
-
## Production
36
-
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.
- Physics and audio: [Benjamin VIRANIN](https://github.com/BenjaminViranin)
57
-
- Core and editor: Me
58
-
59
-
But the more the project progressed, the more we moved. We all worked on every parts of the engine, and it was a good way to expand our areas of expertise. Finally, although I focused more on the core and the editor, I helped my teammates on their modules.
60
-
61
-
## Features
62
-
We end-up this project with much more features than we expected. We used an iterative strategy, meaning that we developped our modules as simple as possible in order to quickly have results. We then iterated over and over to add new features.
63
-
64
-
## Game
65
-
We made a game with our engine to demonstrate its capabilities. Our game has a complete game loop (Menu, story, cinematic, game, credits).
66
-
67
-
## Build information
68
-
We made this project using Visual Studio 2017. If you want to build Overload you should consider using this IDE.<br>
69
-
Overload only supports Windows x64.
70
-
71
-
## Licence
72
-
This software may not be resold, redistributed or otherwise conveyed to a third party.
73
-
74
-
## More information
100
+
## 4.5. More information
75
101
If you are interested in Overload, you can download our engine and the demo game we made with it on our website:<br>
76
-
http://overloadengine.org<br><br>
102
+
http://overloadengine.org
103
+
77
104
You can also watch our features reel on YouTube:<br>
0 commit comments