Skip to content
Sadman Kazi edited this page Feb 1, 2017 · 9 revisions

###Introduction Welcome to the GameEngine wiki! I plan to document the engine architecture and discuss the implementation decisions here. I aim to learn and understand more about the game engine architecture through this project. Initially, I wanted to write my own game from scratch, but I ended up scratching my head when trying to design the game itself. So I realized why not make a game engine first that I will have complete control on the development road-map as well as provide me with a modular interface for future games. As a result, this small project was born.

###Design Decisions Designing comes first and foremost, and in my opinion one of the most important things during development. A badly thought out design will be harder to debug, perform slower, and hard to work on. It also limits future development in case of expansion of the program. I will post a UML diagram very soon addressing the general road-map of the engine. But for starters, we have the main program, which starts an instance of the core engine class. The core engine acts as the main hub between all the features and classes in the project. It contains a window object, to show things on the screen, and a game object to handle input, execute logic, run the game loop, etc. As the project goes, I hope to add handles for the 3d graphics rendering pipeline as well as physics libraries.

###Class Contents

####Core Components

####Rendering

####Lighting

####Physics

####Scripting

(strike-through means that the feature is planned, but not implemented)

###Contributing Currently, I'm not accepting any contributions to the code base, since it's still in very early development phase. However, if you still want to help out and assuming you have a good understanding of the code base, you can help me add documentation to this wiki. Here are some guidelines to keep in mind for contributing.

###Library and References I will provide links to the different tools that I used or plan to use here in case anyone wants start their own game engine project:
IDE: Visual Studio 2013
Libraries: GL Mathematics, GLEW, Simple Directmedia Library.
Languages: C, C++, GLSL.

This project follows architectural decisions very similar to TheBennyBox's 3d Game Engine Tutorial. A lot of the things that I have learned for this project was from reading Learning Modern 3D Graphics Programming by Jason McKesson.

Clone this wiki locally