Maybe a dumb question, but I want to implement an engine and game code seperatley.

The question is, Should I implement the game as an .exe and link to the engine .dll, or implement the engine as an .exe and link to a game .dll?

It seems more logical to implement the game as the .exe, but I know the quake series does it the other way around. I’m just wondering why, and if there is any advantage to this. I can’t think of any advantage either way personally.


The advantage is real simple. You can link different dlls (ie mods) to the same exe. Without having to change the exe. Going the other way imagine if every mod was its own program. Then every person who tried to make a mod would have to worry about the platform, the window all kinds of stuff.

Quake also uses dll’s (qvm’s whatever anything separate from the exe) so that the source to the dll can be released to allow mods to be made. At the same time the entier game engine is still in the dll. Safe and free to be licensed at 1,000,000 dollars each.