Original Post
Hey everyone, I am currently doing some high-level planning for my 3D game engine, and I've come to the point where I have to decide on the main architectural design of the engine, and these are the two common options I have: A - Game in EXE, Engine in DLL: This gives the game total control, and it access the engine through certain engine interfaces. B - Engine in EXE, Game in DLL: This gives the engine total control, and it loads the game at runtime. The game part would need to implement certain functions that the engine would use to access the game, such as game-state loops and game scripts. With design A, the game knows about the engine, but the engine does not know about the game. As far as I know, this is what it should be like. The engine should not know or care how the game works. Ok, that's all good and all if I'm going to use design A, but if I choose design B, it's a different story. With design B, the game knows about the engine because it needs to use the engine for all sorts of things like rendering, physics, timing.. etc (just like with design A). BUT, the engine knows about the game too, which doesn't seem right to me. It's probably not such a big deal, but it just doesn't seem right that the engine knows about the game and vice versa. Isn't the engine supposed to be independant of the game?? Any comments on this would be very helpful. Thanks in advance. ~Chacha [Edited by - Chacha on June 29, 2004 6:48:47 AM]