I like when you say that" All I can say is so far I haven't come across anything that would make it impossible.
I like when you say that" All I can say is so far I haven't come across anything that would make it impossible.
Yes indeed, THAT is, to use your expression "Phantastic"there is an AI stack with 5 catapults (!) escorted by 5 spearmen. It seems, the patch for the AI landartillery routine is really working - and this is next to a miracle.
2) When achieving a technology, there is often unused science points. Would it be possible to roll over unused points to the new technology?
Modifying the offensive AI to mix in bombardment with its normal behavior would be tricky, in general modifying the middle of a block of code is difficult while inserting something before or after the block is easy. Like it should be easy to have defensive units run their normal routine then afterwards bombard any nearby targets if they can.1. Is it possible to allow AI offense/defense strategy to use artillery bombardment occasionally, if they have this ability?
I highly doubt it, I haven't seen anything like that in the code, and in general the Civ 3 AI just isn't that clever. Internally the unit AI does little to no analysis or planning, it just performs basic reactions to its surroundings.will AI understand when he can attack such unit or if he puts his unit in danger, so will it try to spread them out into several guarded tiles if available?
This would be difficult because there's no way for a unit to skip its turn without discarding the rest of its moves, which is presumably why Firaxis made group movement work that way in the first place. Even if the faster units didn't lose their extra moves, what would you have them do instead? Asking for new orders would probably overwrite the group move. A better option would be to fortify them, but then you'd have to remember somehow that they're only temporarily fortified, and store that info into the save file, and make sure to delete it in case the unit gets killed, etc., all that would be quite a lot of work.1) I noticed that when I move a group of units with differing MP left, it goes to the maximum distance of the unit with the lowest MP. Then the others have no MP left.
I haven't looked into this kind of thing so I can't say much but I doubt it would be too hard.2) When achieving a technology, there is often unused science points. Would it be possible to roll over unused points to the new technology?
I have no idea why their army would disappear, hopefully C3X didn't cause that. About the guerilla army, the mod doesn't significantly change the logic the AI uses for the first unit added to an army, the biggest change to the army inclusion logic fixes a bug that was preventing the AI from adding subsequent units. I've never looked into how the AI decides what unit to add first to an army, but from what I've seen it usually (3 out of 4 times or so) does a good job of it.I noticed the Hittites created a tank army in one game and used it to wipe out the Chinese, but it had disappeared inexplicably (e.g. not lost in battle or over unit cap by the time we went to war a few turns later). In the other game they created a one guerilla army.
I don't know what the GOTM guys would allow, but be aware that commenting out lines from the config file won't necessarily disable features. The way it works is that a modded executable starts with a hardcoded base config, whose values are all set to the defaults from the INI, then when it's launched it overrides those values with the ones it reads from the INI. So commenting out a line is like leaving it unmodified. To disable a mod feature, set its config value to 0 or false. I have it set up so that 0/false always corresponds to unmodded game behavior.Question: if I comment out the lines in the config file related to AI behavior, but leaving in the ones for bug fixes, would I be able to use this mod in GOTM/HOF play?
I haven't yet looked at, or even found, the AI upgrade logic but I expect it would be easy to find it and make that change. The only catch I can think of is that the Dutch UU isn't completely inferior to the musketman since it has the ability to trigger a golden age. So the AI shouldn't avoid that upgrade entirely until it's had its GA, before then it should do it only up to some limit. Figuring out that limit and applying it might be tricky.Can the AI be fixed to not make the upgrade to a lesser unit?
I was thinking about this recently because I was looking at the code for the map renderer (I'll show why soon) and noticed that it would be very easy to modify it to draw different kinds of roads. In general for adding new tile improvments the easy parts would be drawing them and implementing their effects, e.g. I've already modified the movement code to limit railroad movement and making fast roads work would be similar but easier. The difficult parts would be saving the locations of the new improvements into the save file and enabling workers to build them. In particular making automated or AI controlled workers know to build the new improvements might be very difficult.1. Is it possible to add multiple levels of Irrigation, so that Bronze Age irrigationdoesn't remain the norm through the present?
2. Likewise Road movement, and for equivalent reasons?
That's essentially already represented by:Is it possible to add multiple levels of Irrigation, so that Bronze Age irrigation doesn't remain the norm through the present?
I think the short and flippant answer is "Because it's there!"How do AI Workers "recognize" that a Road "should" be upraded to a RR?
I haven't yet looked at, or even found, the AI upgrade logic but I expect it would be easy to find it and make that change. The only catch I can think of is that the Dutch UU isn't completely inferior to the musketman since it has the ability to trigger a golden age. So the AI shouldn't avoid that upgrade entirely until it's had its GA, before then it should do it only up to some limit. Figuring out that limit and applying it might be tricky.
That's essentially already represented by:
(1) changing to a more advanced government (no more despot-penalised food-production on Grassland or food-bonus tiles) towards the end of the Ancient Age
(2) railing an already-irrigated tile (adds +1 food) at the beginning of the Industrial Age. I've basically come to regard Civ3 rails as a visual representation of the "industrialisation" process..
Might as well just play Civ IV... .
I don't know exactly, it's pretty complicated. I've looked into it somewhat and one big problem I can see immediately is that the number of worker jobs and unit states is hard-coded. For example there's a function that's responsible for controlling AI units with the terraformer strategy. It decides if a worker is going to be assigned to building roads, clearing pollution, improving some city, etc. (it's also responsible for making the worker flee from danger, moving it where it's needed, and joining it into a city if it has nothing to do). The job of determining what to actually build on a tile around some city is delegated to another function which communicates its decision by returning one item from the enum of possible unit states, and the controller then puts the worker in that state. Adding a new unit state is probably not possible. I could work around this specific communication problem with a global variable but I expect there are many more problems like it.A curiosity, then, about the code which you might have uncovered: How do AI Workers "recognize" that a Road "should" be upraded to a RR?
If I were to do this I would make sure the AI is only stopped from upgrading when the new unit is totally, unambiguously inferior to the old one, with the exception of triggering golden ages. Also, how does the current AI manage militia and plodders? Does it ever keep militia units around? AFAIK the AI will always upgrade a unit if it can.Agreed this would be tricky. I also agree there are special cases where you would actually want the AI to upgrade to a "lesser" unit if they have certain abilities. For instance, in ToC, the Militia unit is an alternate form of Plodders (worker unit). There may be a situation where upgrading from a militia to a Plodders would be useful, if there is more need for terrain improvements than defense of your towns (i.e. during peace time).
If I were to do this I would make sure the AI is only stopped from upgrading when the new unit is totally, unambiguously inferior to the old one, with the exception of triggering golden ages. Also, how does the current AI manage militia and plodders? Does it ever keep militia units around? AFAIK the AI will always upgrade a unit if it can.