Today it's going to be very niche. I apologize to everyone for it. This would probably look
ugly graphically (?), but would it be possible for ships to be able to
sail along tiles with rivers?
A river tile is one that has a river on its edge.
With the help of options to limit the
number of units per tile to avoid the problem of
direct attack between land and naval units,
NAVAL units on
RIVER tiles outside the city would be able to
block enemy LAND units from accessing those occupied river tiles and vice versa (
LAND units on
RIVER tiles outside the city would be able to
block enemy NAVAL units from accessing those occupied river tiles).
As for
sharing RIVER tiles outside the city
simultaneously by Land and Naval units,
enemy Land or Naval units could only
directly attack a given occupied river tile as long as there is a
valid target for the
corresponding group, but they could
NOT enter it after a battle is won if there is a target on the tile they cannot fight (I know, it's a bit overexplained).
If this were a problem, river tiles COULD NOT be occupied by Land and Naval units
simultaneously.
As for land units without defenses like
workers or
artillery, I don't have a very clear opinion here, but I'm more inclined to allow them to be
captured by ships capable of fighting on RIVER tiles.
If this were a problem, let them function as a
block just like other land units with defenses.
I'll only slightly raise questions about
building ships or even
coastal improvements in cities on RIVER tiles leading to oceans, which should be able to do so thanks to the said modification (
sail along tiles with rivers).
Yes, to remove the cap on interest I could delete the instructions corresponding to that if statement, but I think that rule would be very exploitable by human players.
That's exactly why I tried to include other models like
REGRESSION or
VARIABILITY/INSTABILITY and NOT just
Unlimited GROWTH. I'd like to incorporate real-world economic mechanisms in the simplest and most accessible way possible under the current constrained conditions for late-game economic development.
When the game calculates a bunch of
demographic stats (F11) for you like
Approval rating, Population, GNP, Mfg. Goods, Land Area, Literacy, Disease, Pollution, Life Expectancy, Family Size, Military Service, Annual Income, Productivity (with some formulas being obvious and others not at all),
add other useful elements that could, for example, calculate the
stability of world markets based on the
amount of trade between civilizations and the
number of wars in the world. The stability of the world market would be reflected in the stability or strength of the
own national market, which could set
variable interest rates. Overall, more usefulness of
demographic data would be appreciated. I'm basically very open to any ideas here, as I can't even know what all the game itself tracks and therefore could potentially use.
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)). Yes, the AI would probably not be able to use that option (?), and it would also take some restrictions predicated precisely on the strength of the national economy preventing it from
borrowing endlessly to risk being in a real
national debt spiral.
Any prospect of expansion in this
economic direction? Or do you think this is definitely not reasonable or beneficial? Outright insane?
Sidenote: Any chance of having
both options for hurrying production available at once for specific government types?
As an interesting little aside, in the AI's logic for hurrying production, I remember seeing a check of whether doing so would reduce the AI's treasury enough to reduce its income from interest. So the AI is at least slightly aware of the interest mechanic.
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?
Yes, though I guess that wasn't a good example since buildings granted by wonders are maintenance free. That hypothetical only works if I were also to add the option to make them cost maintenance, which is not the craziest idea for buildings intended to hinder your enemies.
I assumed that if I wanted to represent maintenance for
buildings granted by wonders, I would do it through generating a resource giving negative trade, but doing it directly through maintenance would understandably be more elegant.
Just for the record, I think these are
standard features for
buildings granted by wonders: (correct me if I'm wrong)
1. They require no maintenance.
2. They can't be sold manually.
3. They can't be automatically sold when money is running low.
4. They can't be destroyed by any kind of bombing.
I mention this only because making an exception for the first point makes sense. I'm not sure about the others.
Sidenote: Does the AI have any routine that would decide to sell a building (without running out of money) based on the following:
1a) This building is
only doing harm. (unhappiness, maintenance, pollution, negative culture)
1b) This building is
doing more harm than good. (Based on more complex civilization preferences, example:
I'm a Scientific, so this building adding +50% research output, high maintenance, high unhappiness, and pollution is worth having, but I'm not Commercial, so this building adding +50% tax output, high maintenance, high unhappiness, and pollution is NOT worth having.)
2) Its existence is
not necessary for the construction of any other available building in the
near future (same Era), so there is no point in maintaining it and therefore sell it?
One more aesthetic note: 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?
Writing new AI routines for naval units would be quite a bit of work. The existing routines for land units wouldn't be of much use. I would only use those as references for what units should be doing, so I don't forget anything, or to see how Firaxis implemented some things. The code for, for example, AI workers is not general enough to be reused. So far the only unit AI I completely replaced is for leader units. That was possible because the original code was so short, about 160 lines decompiled. For artillery, most of their behavior still comes from the base game, I only inserted some logic that allows them to grab city defenders as escorts and that allows them to load onto transports for naval invasions.
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?
I thought too it might be some issue with how luxury resources are spawned, but after looking into it, turns out it's not. The code simply checks if a depleted resource is strategic before respawning it, so it was a deliberate choice by the original developers not to respawn luxuries for whatever reason. The good news is it's trivial to change that rule.
In essence, preventing the reappearance of depleted resources is NOT such a bad idea. So being able to say, for example,
"if the game turn is greater than X, resource Y cannot reappear after being depleted." would be a sufficient enhancement. Because something like this can only apply to resources that can only be found in forests at the moment. In the later stages of the game, when the forests are cleared, the resource of wood has nowhere to reappear once it is depleted.