Hello community !
A project was recently launched in my school, it's about creating a full 3d game engine form scratch.
Here is a short pitch :
- It should be cross-platform (for the moment we are targeting only windows (desktop) and linux platform with a Direct3D and OpenGL renderer but the architecture should be well designed in order to add more platform in the future).
- The less library we use, the better it will be (it's an educational project).
- It must be a complete game engine, we are thinking about studying multi-threading architecture, physics management, a "easy to use" level editor, scene management, debugging tools, ...
- When I write this post, we are about 10 students from any level on this project, and we will use Redmine for project management.
- Also the engine should be used as a base for future students to make their first shaders.
We are aware that it's a very big project, and so other students will work on it later.
To give you an idea of our level, we are all 2nd years student in a full time game programming school (C/C++ all the day ! and some C#), the language is not an obstacle, but the general architecture is.
For the engine core we are thinking about entity-component system such as Unity (we still have to put a concrete idea about what will be an entity) and should have obvious feature such as AI component, physics, input, scripting, ...
So here is my question, as I say earlier, the main problem is the architecture. We are thinking about starting with the threading system and the networking system.
I'm asking for some advises or tips about how designing this kind of project from the beginning.
Feel free to ask questions if I forget something or if you need further information.
Thank you in advance, and good luck with your games !