Original Post
As I was thinking about how to integrate scripting into an engine, it occured to me, that maybe a completly modular engine, basicly only consisting of some enviroment vars and a pluginloader, could do the work. I thought something like some baisc enviroment vars wich must be set at compile time (only ENVIROMENT_USE_FILE and ENVIROMENT_FILE or DEFAULT_ENVIROMENT) and then let the plugin loader do all the work. As I am currently looking to integerate guile (a scheme implementation) into my current project, I thought about using the guile plugin as the root plugin and then let it load all other plugins. Every plugin would then just inherit IPlugin and be accompanied by an IPluginHandler class, wich would provide baisc infos as the plugin name, a description, the versions available, the plugin group (graphics, sound, scripting, etc) and function to load und unload the plugin. Currently I am searching for pro and cons against this approach. So please let me know about your opinion.