I think of games like a car. Some parts we have access to, some we need, and some parts we don't need. In Civ 4 we have everything but the engine, and Civ 5 has: Have Need Do not need SDK: tools to work on a car. It's the ModBuddy kit we have. Lua: upholstery, steering wheel, and dashboard. It gives Civ its look, lets us turn somewhat, and check what's going on. XML: transmission of information/power to the engine. API: the incomplete user manual. Core: gas/brake pedals, the core operates the engine. DLL: the gasoline, storing power. It's simply file storage and we don't interact with it. Engine: the... engine! It interacts with the operating system, renders 3D images, and similar low-level tasks. Game engines are expensive to develop, rarely released to the public, and often licensed out to other companies for thousands of dollars (such as the Unreal engine). So right now we can see how the game works, change its look, and alter the direction it goes in to a limited degree. We can't really control where we're going without access to the core pedals. Firaxis is the only one with access to that right now. They provide us with a specific set of functions to work with, and we can do great things with what we have! We cannot decide on totally new destinations, however, like Fall from Heaven in Civ 4.