In many ways I almost think you need to go off and build your own game engine, rather than being a modder, I mean lets face it you have more or less rebuilt the civ engine and the way it works anyway!
You could be the architect of a whole new modders 'paradise' game engine!
I have been thinking a bit about this statement. Not really about making a brand new engine, but rather how to define what I have done so far, plan to do and what I might do even without any current plans.
I wouldn't call it making a new game engine as such because everything builds on top of the civ4 engine. It's more in the realm of [wiki]Middleware[/wiki], though it doesn't quite fit that description either.
Looking from XML, I guess it would be correct to say that I have created a new game engine. The XML interface is heavily modified and the goal is to make one DLL file, which fits all mods.
Internally in the DLL, a whole lot of internal coding features have been added to make coding new game features easier and faster. Also a lot of error detection and prevention have been added.
I haven't done much for python though (except the domestic advisor). However the plan is to have a shared python codebase, which mean from the point of XML, there is no difference between the DLL and python.
However technically speaking it isn't a new game engine. The exe still handles what it did in vanilla, which is drawing graphics on the screen and handing input from mouse and keyboard. Anything going to the speakers also goes though the exe and there is no plan to change that. The exe does other stuff as well, but I aim to make the DLL ignore calls from the exe in that regard, making it more clear who does what. It's a great design change, but calling it an entirely new game engine is stretching it. I would rather call it a new engine, which is a front engine to the existing one.