On lunching the installation of C3X: EXE Mod in windows xp, it gives this error:
"ttc.exe is not a valid win32 application"
Is there a way to install C3X: EXE Mod in windows xp?
There's no easy way that I know of. According to that error message, the version of TCC I included with the mod isn't compatible with XP. I don't know where you'd get a version that is compatible other than compiling it yourself. TCC is open source and its official website is here:
https://bellard.org/tcc/. They have some precompiled versions there for download, but unfortunately they're all too old to work for C3X. There was some problem with those old versions, a limitation or bug, I don't remember exactly, so the version included with C3X is one I compiled myself based on newer source code. Whatever compiler I used, probably MSVC, evidently produced an EXE that's not compatible with XP. XP is so old it's hard to support, TradeNetX.dll may not work either for the same reason. I don't even have an XP system to test on.
This reminds me I was considering at one point creating a little web app to install the mod. The way it'd work is you'd give it your EXE and then the web page would modify it using Javascript to insert C3X and then you'd "download" the modified EXE and put it in your Conquests folder. That would be nice since it would solve XP compatibility, any issues with TCC, and issues with permissions for editing Program Files. One reason I haven't done it yet is C3X needs various things from its mod folder so, in order to keep the web app installation simple, I'd have to pack those into the EXE too. That's doable, although it would become awkward to change settings if there were no config INI.
but would it be possible for ships to be able to sail along tiles with rivers?
Maybe. It's technically already possible for sea units to enter land tiles, if those tiles have cities on them. So if I were to hunt down all the various places the game checks for the presence of a city to allow a sea unit in and patch those to check instead for a city OR a river, that could work at least at a basic level. I'm sure there would be all sorts of edge cases where things break, like when sea & land units interact as you mentioned. Another one I can think of right off the bat is transports. Moving a transport onto a land tile triggers the unload all operation, and I believe the AI does that as well, so that would need to be modified in order to allow loaded transports to travel along rivers.
Another totally missed concept is the possibility of national debt through government borrowing (but not from other civilizations). In a situation where a nation is running out/needs a lot of money and has a building representing a national bank, having the option of various loans of X (1000; 2000; 2500; 10000 gold), which it will gradually pay back in successive Y turns (20; 40; 15; 60 turns), with each turn at interest rates R (5%; 4%; 6%; 2.5%) paying back Z (80; 101; 257; 323 gold = X*R*(1+R)^Y/(((1+R)^Y)-1))
This is again the sort of thing that I think would be a good use for Lua. There are no complicated gameplay changes, you'd just need a way to give players money, charge them interest, store outstanding loans in save files, and of course add the option to lend money somewhere in the interface. Those are all things that should be possible anyway with a proper Lua integration. To allow the AI to borrow money intelligently, I suppose you'd need to add that option to the AI's logic about rushing production. It would be easy, but a lot less helpful, to run some code at the start of the AI's turn that considered whether or not to borrow.
Sidenote: Any chance of having both options for hurrying production available at once for specific government types?
The only hard parts would be modifying the interface and AI.
In the sense that a given purchase that would get the AI below 1000 gold would never be executed, or would some other rule evaluate the execution of the purchase?
It's hard to say what the rule is specifically since the method is rather complicated. The part that checks for interest generating wonders is a small part of it, though, and only appears on a branch that handles improvement builds, not units. So it's not a hard limit, especially for units it's not a consideration at all. For improvements, it looks like the AI adjusts the amount of gold it wants to keep in reserve upward by enough to ensure it's still collecting maximum amount of interest. Its reserve target is 1000/number_of_interest_generating_wonders + 16 * number_of_cities and it appears it won't rush an improvement if doing so would leave its treasury below that level.
Does the AI have any routine that would decide to sell a building (without running out of money) based on the following:
Not really, no. There's only one routine where the AI considers selling city improvements and it only applies to improvs with the "replaces others" flag. In that case there is some comparison made regarding the improvement's production bonus, maintenance, and pollution.
It would probably be useful to have buildings granted by wonders be graphically distinguished in the list of improvements in the city, so that they are noticeable at first glance. An open question even for others is whether that distinction should be color, bolding, or italicization of text? Or maybe something else entirely?
Sure, I know how to set text effects, font size, and things like that. At one point I played around with changing text color, however I was only able to make it either black or red. I'm not sure if any other colors are possible.
Is Lua a solution that will give everyone the ability to write what AI they need themselves, or will any potential new universal AI routines eventually have to be written by you or someone like you with a broader access?
Yes, one of the goals of integrating Lua would be to make modifying the AI easier for me and more accessible for others.
The AI is still generating these odd units somehow. I encounter several every game, given their apparant random and nonsensicle selection (kings, summoned-only and other non-buildable stuff) I guess it may be a similar issue, the asset number, or code thing, unexpectidly switching from one class (buildings I guess) to units so the result could be anything.
You're right. When the AI is forced to switch off of a unit build because of the limit and chooses to build an improvement instead, the game then interprets the building ID as a unit type ID and considers spawning it. If the city has more production in the box than that unit type costs, the build "completes" and the game spawns a unit of whatever type ID matches the chosen building ID. It's a sloppy little mistake, I think the third one so far in this particular mod function. No idea what I was thinking when I wrote it. Anyway, this will be fixed in R22 Preview 1. If you want, I could tell you how to fix it yourself since R22P1 is still a ways off. It's only a matter of inserting two lines of code in the right place.