Is it rude to ask how you can do this?
Not at all Tech. It's done using MSExcel and VBA. Here are the basics:
As you probably know, MS Excel is a spreadsheet program. It has a grid with cells inhabiting coordinates on the grid. Each cell can be resized and formatted to contain color fills, just like pixels. Modern versions of Excel can support around 16 million colors (32 bit with full access to 24 bit color spectrum - per MS).
One sheet within a workbook (one Excel file) can contain 1,048,576 rows by 16,384 columns. Divide that by 100x100 pixel-sized tiles and modern Civ world maps, with Civ ToT graphics, can be created on one sheet.
Using some clever formatting tricks and the Excel programming add-on, Visual Basic, I have created a process whereas a terrain/unit/whatever graphic can be looked up from a legend and applied to a dataset, aka the actual tile values on a map. So if Cell A1 = "5" in the dataset, then the program knows to cut and paste the fill for the #5 tile in my legend. Think of a big peg board. Every time I put a hook in a hole the program knows to hang a bunch of colored pegs to the bottom right of the hook in a pattern that the hook represents. So representational mapping, just like Civ.
Now why did I make the comment about the isometric overlap issue? Well the problem with isometric tiles is that the damn things are really three dimensional. The bottom tile graphic can overlap the top. Units overlap adjacent tile terrain, etc. What I was able to accomplish was to tell the program to overlap the fills from the legend from left to right, top to bottom. This is a big step toward getting the graphics to look and feel like Civ 2.
So why do all this through MS Excel and not C++, Java, or Python? Well for starters I can't program in those languages. I'm a tax accountant so my day to day work is in Excel, so it's comfortable for me. Second, I know how powerful and easy to use Excel is. You see the hardest part of this whole project has been getting the isometric tiles to display properly. Building the actual rules and interface as to how the true game functions is relatively easy and very possible within the normal functions of Excel. It is afterall a big representative calculator. God knows strategy games love math.
As I am using Excel, and I am unbound to the actual programming of the Civ games, I can add and manipulate any and all aspects of the game. Right now as basic map components I have a base terrain overlay, an improvement layer, and a unit layer. If I wanted to add a map layer that represented weather, culture, or whatever I could do that very easily, within minutes, no compiling necessary. I can even do such things like initiate events based on a player's economy, population, or military prowess - it's all just simple math equations.
The best thing about using Excel is its integration with the MS Office Suite. I could hook up my workbook to a database easily. I can export and import files with ease. I can even import things like rules.txt files to a template, read them, and use them as basis for an MS Excel Civ game.
Granted this approach has its limits. I imagine I'll hit some efficiency problems that would not be present if using only a programming language like C++ or Java. And yes, this is a spreadsheet program, not a game engine, so there will be hurdles to overcome.
But it's a hobby, and others have built games in Excel before, such as RPGs and even PacMan. Why not Civ?