I have a quick question for those who have experience coding their game engine and such. I was wondering what a better approach would be when designing my own game engine. Right now I plan on having different "subsystems" for example a event system and a graphics system (I plan on including more later on and they may or may not contain their own hierarchy). My question is should my engine class inherit these systems or should I make each system a member of the engine class or is there another proper way of structuring my engine? Whatever approach I wish to choose, I want it to be modular yet efficient.

tl;dr: What is the proper architecture for a game engine with subsystems in C++?

  • \$\begingroup\$ You might find these two links interesting: gamedev.stackexchange.com/questions/2423/… and en.wikipedia.org/wiki/Finite-state_machine \$\endgroup\$
    – Mr.Zeus
    Commented Jan 26, 2019 at 22:34
  • 2
    \$\begingroup\$ There is no one go-to architecture; for example, if you read different game architecture books, they'll have different approaches. Have you already built a game and it did not work as you expected? What were the issues with it? What is the goal in making a game engine? Do you intend to make multiple games with it, or do you want to make only one (for no)? The "proper way" is generally the way that will have you complete and release one game and have you get started with your next project faster. \$\endgroup\$
    – Vaillancourt
    Commented Jan 26, 2019 at 22:36
  • 1
    \$\begingroup\$ To echo what Alexandre said, this is a blog post on an alternative game state management system that I am basing my game's system on. \$\endgroup\$
    – Mr.Zeus
    Commented Jan 26, 2019 at 23:17


You must log in to answer this question.

Browse other questions tagged .