If you know exactly what kind of game engine you are building....would help if you told us a bit more about it
then you can have a look through and examine which features can be externalized and which features need to be tightly bound
If its not intended for others to use then you can create a dozen or more separate exe.s that can handle all the external stuff and just pass parameters via .ini / .txt files ( this makes it very easy to build and track down problems as there are dozens of data walls )
If it is intended for others to use, and perhaps alter the source to, then you have to put a lot more effort into , variable names, file names, and the architecture and documentation maps. You can have the best game engine in the world but if someone has to wade through and reverse engineer your code just to understand how to use it few if any ever will. Extensive documentation and video tutorial essential.
I have two big projects , my AI which runs on network and a 'big' space game which is multiplayer
wiki for my space game ( im really taking my time with this, lots of planning & testing before i write any serious code )http://homeworlds.wikispaces.com/
Both projects are for real world deployment, the AI is a fully functional demonstrator , and the game is meant to be played by people who like to play space games, that is my target audience