@WildWeazel - Of course, I had no idea that your wife has been ill (as you mentioned elsewhere) and I nevertheless exhaled when you mentioned that she's well, as any mention of anything but a short illness. These days, as such an immediate cause for alarm.
Now back to playtime - Unsurprisingly, you've drawn up an excellent technical document. Nonetheless, I am concerned that it you’ve put the proverbial cart before the horse. You’ve described a fine way in which to build (by your own definition), a "Superset of Civ3,” and I understand , perfectly well, the many reasons why this is an extremely attractive goal. That being said, building a superstructure without first describing and fully definig what that superstructure is to contain is, at best, problematic.
I apologize if I am sounding a bit harsh here, but what is lacking is what we actually want the game to do. Given the ad hoc nature of our attention to this project, with 20:20 hindsight it would, perhaps, have been been best to agree to what we want in more than a a, "Wish List" form.
Simply beginning with Units, you state that moving them, without further description or definition, would be part of “0.1". Yet "movement" itself actually needs to be defined: the simple interactions with Tiles, as well as the simple fact that we have three very different types of Units and play: Land, See, Air. "Orders" and "combat" aren't addressed until two stages later (0.3) and that is about it. And - frankly, given the precise goal of plug compatibility, your further statement in 0.3 of, "Unit media,” is - well, frankly, troubling.
Nowhere is there “room” for to discuss how we would actually want the AI to (for example) build and utilize units, with the simple and perfect example being the many problems with artillery. Personally, I believe that providing the AI with the rudiments of strategy beyond the simple massing of units into mega stacks, thundering across the board without rhyme or reason, would be nice along with which units within any stack say, defend or attack, and in some sensible order.
Even Tiles themselves seem problematically laid out, at least for me - Once again going back to 0.1, let’s consider, "Movable units," as this plainly must reflect interactions of units with the Tiles themselves. We should, if nothing else, because we have two large sets of Tiles (Land; C) and three different types of Units which move across, and fight within them.
You mentioned that there have been a number of attempts at building clones of Civ3, and questioned why they have not succeeded. I think that one very simple reason is that every aspect of how the game operates, now must be (to some greater or lesser degree) reverse engineered and, more importantly, every "rule" of how we (or anyone else for that matter) want our new game to work. This means that every aspect of it must be fully defined. How do we want artillery to work? How do we want to improve upon any aspect of the AI's behavior, specifically including matters like improving upon AI unit builds, and cooperation. How do we decide what workers should do? How do we want aircraft carriers to work?
For the record, this was one reason why have been advocating using the stable platform like Freeciv, as all of these (and recall that I did mention that that is already 400,000 lines of code) - let's call them, "modules," are already in place, and, furthermore, they are laid out any format which is readily translatable into the sort of (if you will, backspace) "building blocks," which I believe we wish to pursue in the first place…
… Actually, now that I think of it, "building blocks" is not only an excellent metaphor, but also a realistic description of how we can approach building “C7" on that platform. It's code structure, and descriptions thereof, are (as I have mentioned before) pretty much absolutely the best laid out, and documented, that I have ever seen.
Let’s also linger over that “400,000" lines of code bit. How long would an effort like ours take, with or without (sorry, WildWeazel my friend, but I simply can’t resist
) waiting for Godot?
Irrespective, I think that all of the technical explorations which have been going on are both excellent and necessary for our understanding of what we have, and what can be done. I simply think that we should truly lay out what it is we want to build to do before we go about deciding how to build it.
I also plan to attempt to contact Soren this next week, although I've belatedly realized that, whether or not he possesses the Holy Grail of source code, the IP might not be his to disseminate ...