View Full Version : Civ4 AI Problem w/ War Trading


Mattygerst
Dec 24, 2008, 10:20 AM
I think its pretty obvious that the civ4 AI is lacking in many areas when it comes to holding together a successful war. A major, major issue is a country that does not have access to oil that attempts to conduct a war with a civilization that has access to oil (or even warring with a civ that currently TRADES the oil to them). The outcome here, is without a question a bad decision and loss for the country without oil.

The bottom line: In today's world - ANY country that wants access to oil can get it. With that knowledge:

Every country should have access to oil because even if it was embargoed from one country, another country would gladly corner the market and sell it to the embargoed country at a premium (or gift it to them to aid a war effort) in real life. And trying to mod that into the game code is simply not exactly feasible, and it will not work correctly. (Yet, I do have an idea for a simple new unit to make this even more realistic further below...)

Trying to "demand" the AI to trade with each other, or attempting to program the AI to "know to have oil during a war effort" is not going to happen because the Civ4 mechanics do not allow for that, at this point in time.

So, without adding more complexities to the game-code that simply will not work correctly (or at all), and will slow the game down, we should simply have every country always have permanent access to oil (please read on for the idea about oil embargos, though!):

<---AND WITH THAT: -*Idea* - Since I think every civ should have access to oil for game coding and AI usage simplicity [since the goal is to make the AI able to actually PLAY the game well against us]
and not try to have this glorious thought we can actually program the AI to do this correctly, because Civ4 is not quite advanced enough for that, yet, we should create a new unit/unit option:

As a naval ship can "blockade" enemy tiles from obtaining resources and trade routes, we should have a land unit that can "blockade" land area/land trade routes in the same fashion - this unit/unit option would streamline a lot of things into a simplified choice for the AI and negate programming that the AI may never even use. We know this should work, because the AI consistently uses naval blockades very well. Obviously while the land is being blockaded, the affected cities will not be able to produce oil units until the blockading vehicle(s) is destroyed, allowing oil to once again be available to the city.

It will A) make the mod more realistic because in reality, all countries can get access to oil whenever they want - because even during embargoes, someone would sell it to them for heavy profits, and B ) make the modding more simplistic as creating a land unit based on the blockade the sea units can do should be fairly simple programming.

T_KCommanderbly
Dec 24, 2008, 02:15 PM
oil for everyone meaning all, major nations? or smaller ones also.

and land blockadeing is good idea

DVS
Dec 24, 2008, 03:39 PM
I tend to agree with your premise. All our small nations should have some oil.

But one way or another, we are going to have quantitative oil, and I would hope also uranium and aluminum. Civs are going to have to get more of these resources before they can expand their militaries. They will have the ability to build up stockpiles, and building new units will take away from the stockpile. We just have to figure out how to do this in a way the AI can use properly, whether it is by fixing the unit fuel mod or starting from scratch with our own changes. I think this much is essential.

Every civ should have enough oil to build a few units here and there, but if they want to get in to full military production mode they are going to have to get more.

DVS
Dec 24, 2008, 03:47 PM
Food storage as it exists in the game is a quantitative resource right? We could alter oil to have a storage system based on that model. I think the idea in unit fuel mod, that you have to maintain a certain amount of oil to keep your units running, will prove to complicated for the AI. We should probably stick to just requiring a certain amount of stored up oil before you build any unit. Different units could remove different amounts of stored up oil. Once we get it working we can do the same with uranium and aluminum for version 2.0.

Mattygerst
Dec 24, 2008, 08:03 PM
While all that sounds good and grand, the reality is that the Civ4 engine is not created for this (building these units where the AI learns how to use and store oil for building an army for war), so it is not going to work in the end.

The AI has an IMMENSELY hard time conducting ANY war as is. Adding more fuel to their incapable fire is only going to compound the problem.

The bottom line is: You should just have EVERY country have oil. The size and ability to produce units will be represented somewhat accurately because large civs will have the ability to produce more units (provided their cities are developed, i.e., the USA), while small civs will only be able to produce a very small amount in comparison, i.e., Belarus.

These are good ideas, but, I'm afraid to tell you that Civ4's machine cannot handle all of these ideas. You will simply have to produce a mod that WORKS, and then it will actually represent how the world works.

The USA will be able to produce tons of units quickly, and there will be few if no successful oil blockades on the USA...while a small country will have the ability to produce units much more slowly and creating a land blockade unit based on the coding for boats will make oil blockades will make this much more simple - and something that will actually work well and represent how the world works.

All nations have oil - even the smallest ones - and even IF they didn't, ANY oil-producing nation would provide them with oil even in a war to "corner the market" and sell them oil at a premium price. That is that way the world works.

Don't get too over-the-top because Civ4's engine simply WON'T DO some of these grandiose ideas.

The best case scenario is to give every country oil, and then build a blockade unit for the land because the AI will be able to use it effectively AND it will simulate (at least as close as Civ4 is going to allow) a capable AI war.

DVS
Dec 24, 2008, 08:34 PM
Ok thanks.

How about after that we can just make the benefit of having extra oil resources be added income for your civ? Oil should still be beneficial and coveted for some reason right?

ianinsane
Dec 25, 2008, 02:22 AM
Having quantitative resources (I think one of the most important features of that mod - we should not be afraid to try make it working) and deficite spending will indeed - as it is in reality - make it possible to get some oil from anywhere at any time if you need it even if you don't have any source yourself. As you say, Mattygerst, at a premium price. So I think your objections are actually affirmations :)
Of course we don't know yet if it will work but it's worth trying. This is a pretty damned ambitious mod and everyone who works on it has to be a little bit crazy but I love them for this. And with an "this will never work" attitude all this wouldn't have advanced as far at it is now....

Mattygerst
Dec 25, 2008, 11:15 AM
Yeah, I'm not trying to say don't try to make make gathering more oil to produce more units possible.

What I'm saying is that, to attempt to make the AI "learn" when to trade, and when not to trade for oil simply will not work with the game coding from this mod. What WILL work, is giving everyone oil to start with, and creating a land blockade unit to make it a bit more realistic.

AFTER that has been done, you can attempt to create a quantitative resource count to make it possible to create more units.

The solution I propose simply adds the realism that everyone automatically has oil and can have it at any time, and a unit can blockade their oil at anytime but once the blockade unit has been moved/destroyed, the civ can immediately resume receiving their oil. That cuts down on a LOT of modding that the game's engine simply is not designed for.

AFTER that, configuring a correlation to have the amount of oil you have WITH the amount of units you can use could be worked in.

In essence, no one here is arguing or disagreeing...

I am all for these ideas that you propose, I am just trying to cut down by 100000% the game coding that would not be necessary and achieving what you would want at the same time by creating the blockade unit while everyone has access to oil (since everyone does the real world).

After that is done, your idea can be a bit more easily implemented. All I'm doing is suggesting a way around the attempt to "teach the AI when to and when not to trade oil," making everyone's lives a lot easier on the programming side.

DVS
Dec 26, 2008, 11:08 AM
oh, sweet.

civ editor11
Aug 01, 2009, 08:05 PM
Why not use a unit to provide oil like a oil miner or something like that so you could assign certain amounts of oil to a civ and if they find more then its just pure chance or you could take oil off the map

NikNaks
Aug 02, 2009, 06:03 AM
Can you elaborate? That's a bit vague.

civ editor11
Aug 02, 2009, 06:45 AM
I saw somewhere a genecist that could plant improvements we could reskin that unit and change it to plant oil or we could add some kind of a promotion available only to one or two new units we added could then add a certain amount of usable oil
I think i might know a way to do either one of these

NikNaks
Aug 02, 2009, 11:25 AM
To me, that seems more complicated. Anyway, this feature is still a long way off.

civ editor11
Aug 02, 2009, 01:36 PM
Okay just i thought that would be an easy way to assign how much oil a country has