Offensive Drafting

Another problem with your argument relates to Multiplayer, you suggest no drafting below Monarch. However in Multiplayer the AI gets Noble bonuses and the humans bonuses change depending on the level they choose hence all strategies must be available down to noble level.

The AI's handicap is actually the average of what all the human players in the game selected.
 
It makes for better 'casual play' as well. Just because I want to relax and avoid hard beelines and micromanagement doesn't mean I want the AI to be horrible. I just want it to tech slower.

Efficient use of drafting makes for challenging wars, without all the other AI bonuses. Sounds good to me.
 
The fact is that the AI is already capable of drafting, in the same way they can whip or $rush , so this would not change a iota of the game rules. The issue is that the AI seems to not be able to draft efficiently ( if at all ), a thing that in it self is a huge handicap to the AI ( I am certain that if the AI could draft as well as it whips ( and they aren't stellar at whipping as well ) most people would have to get down a level atleast ).

I'm a bit confused here. rolo says the AI already drafts. So do we: a) just want to make it choose Nationhood more often, b) want to increase the efficiency and/or frequency of the way the AI drafts or c) both? To my mind, those are three different levels of improving the AI. But I suppose that even if c gets done, the AI will never be as capable as a human in 'exploiting' the strategy. I think this should be a welcome addition to the AI's hand.
 
Nobody answered my question. :(

Under which circumstances is the AI drafting already? And how much do they draft?
 
I'm a bit confused here. rolo says the AI already drafts. So do we: a) just want to make it choose Nationhood more often, b) want to increase the efficiency and/or frequency of the way the AI drafts or c) both? To my mind, those are three different levels of improving the AI. But I suppose that even if c gets done, the AI will never be as capable as a human in 'exploiting' the strategy. I think this should be a welcome addition to the AI's hand.
I think you are not understanding my words correctly. What is said is that the AI isn't forbidden of drafting ( as I was thinking that PieceofMind was saying ). But to say the truth , I don't think I ever saw a conclusive evidence that the AI actually drafts.... and I never saw code regarding AI drafting ( forgive my ignorance if there is ) .

About the argument "Noble players should not face drafting AI".... why? I really can't see a red line between drafting and other rush features, and to say the truth , in some aspects, drafting is the poor cousin of the family: slavery and $rush allow you to get exactly what you want instead of a very limited option choice and are boosted by a wonder and $rush is pretty independent of the city infra and pop..... And, let's face it, if we go that way, why not replace drafting in that sentence by "whipper" "$rusher" "wonder-maker" "religious grabber" or others ? IMHO it is just the same.... For good or bad, the developers of the game choosed a handicap ladder for the levels instead of a more complex AI for the higher levels, and making a Ai that only drafts in high levels is the exact oposite of that line of thought....
 
"For good or bad, the developers of the game choosed a handicap ladder for the levels instead of a more complex AI for the higher levels, and making a Ai that only drafts in high levels is the exact oposite of that line of thought...."

Exactly what I was trying to say; I can never seem to express my thoughts properly when I write them down.
 
I don't think I ever saw a conclusive evidence that the AI actually drafts....

You've never seen the unhappiness factor of an inspected AI city of "HELL NO, we won't go!" :confused:
I have always been of the opinion that could only be from drafting.

Source: Hephmod Beyond mod v.9c, which uses BBAI .41b (I THINK that's the version #). Huge/Hemispheres/Marathon.
 
Well, to say the truth I never seen that in my games ( I rarely make wars in the period where the AI runs nationalism ( they normally run away from it as soon as they get Free Speech ) , but yes, I have seen that in screenshots of other games. Mea culpa, the "HELL NO" :mad: is definitely from drafting....

But that doesn't destroy my point that the AI drafts very badly, and this even compared with the efficiency of the AI whip.....
 
Nobody answered my question. :(

Under which circumstances is the AI drafting already? And how much do they draft?

The AI drafts heavily, for both offensive and defensive reasons, when it is able to do so. Blake wrote the drafting strategy in CvCityAI::AI_doDraft which basically says that if the AI is running an offensive or defensive or massing military AI type in this area, then:

- If the city is in danger and doesn't have enough defense, draft.

- If the city won't be unhappy after drafting, doesn't have citizens currently angry about past drafting, and will have at least 2/3 of its highest recorded population after drafting, draft.

So, the AI definitely drafts for both defense and offense, and will even draft while preparing an attack, so long as it's running the right civic. That seems to be the important issue ...
 
So, the AI definitely drafts for both defense and offense, and will even draft while preparing an attack, so long as it's running the right civic. That seems to be the important issue ...

A human player can create and maintain a good economy and heavily draft in the nationalism civic, but this will be hard for the AI. The human uses specialised cities that can quickly recover from drafting. A human player will change the food production in several cities so that he has a set of cities that can draft while remaining stable and among these cities, the Globe Theatre city will be crucial.

As the AI is at present incapable of specialising cities and doesn't run an espionage economy, I don't think the AI should view nationalism as a civic for economic development.

However, when the AI is under heavy attack and losing more than it gains, then it should definitely consider the nationalism civic. It could really help in defence of its empire. And when it is going to war, it should also consider running the civic. Not when attacking a minor weak civilisation, but it should when the opponent is comparable in strength.

But the drafting will not help the AI as much as a human player. We human players will use the drafted soldiers carefully, well aware of their lack of experience and their weakness. The AI will likely lose them in even larger numbers than their normal units. So I don't expect miracles from an AI that will employ this civic.
 
I'm willing to bet large AIs that call up a draft strategy do very well against other AIs, actually...and even against the human. You don't need specialized cities to draft. It's a blunt force technique in every respect.

Do note that as long as the AI is limited from stacking draft :mad: too much (it does seem to be limited by the whip anger and *usually* doesn't go into 30+ turns of whip anger on normal speed for example), the penalty from drafting is -1 per city doing it.

If anything, the AI's lack of city specialization makes drafting *more* effective, as you don't exactly need intelligent infrastructure or a lot of strategy to apply the draft...you just draft and try not to stack too much anger...quite easy with a lot of cities.

Also, since a lot of AIs are prone to workshop or other non-cottage spam the opportunity cost for free speech isn't even that huge for them...they might actually benefit from nationhood (the AI does actually steal tech and a large civ will have a TON of EP due to its propensity to spam EP buildings).

This might be a hidden reason that Bismark does very well in some games ----> favorite civic nationalism...although it's hard to tell because his leaderheadxml is balanced and good all around (he'd be a nightmare if he laid off the wonders a bit...and IS a nightmare if he gets them without conceding land).
 
If you were to make the AI draft more, would you also need to teach it to build fewer of the draftable unit at the same time? We don't want to see an army 90% coposed of riflemen trying to defend against our stack of grenadiers.
 
Code:
if (getConscriptAngerTimer() > 0)
                        {
                            bWait = true;
                        }

This is going to prevent an AI from aggressively drafting from a Globe Theatre city. IMO it's unnecessary. Surely the other conditions

Code:
if (!bWait)
                    {
                        if (3 * (getPopulation() - iConscriptPop) < getHighestPopulation() * 2)
                        {
                            bWait = true;
                        }
                    }

and

Code:
int iHappyDiff = GC.getDefineINT("CONSCRIPT_POP_ANGER") - iConscriptPop;

            if (bLandWar && 0 == angryPopulation(iHappyDiff))
etc.
are going to cover (fairly conservatively I might add) the times when happiness problems should prevent it from drafting.

Other things that could/should affect the decision to draft:
  • Size of city: Better draft efficiency from smaller cities (and these cities will likely have no happines issues)
  • Quality of worst tiles being worked. If the AI is working 2:food: tiles (like it's notorious for) or other such nonsense it should be perhaps more willing to draft.
  • Value of the unit. In particular, riflemen are excellent food to hammer conversion. Followed by Mech Infantry, then Musketmen, then Macemen, then Infantry. Perhaps surprisingly Infantry are pretty bad (compared to other draftables) for drafting.

The 2/3 pop requirement also is a bit iffy. Since AIs do eventually build more cities in empty spaces, it's very possible to have cities get a little bit smaller. Unless I am missing something, I would argue the 2/3 requirement is also unnecessary.

Anyway, just throwing out some ideas.
 
The AI drafts heavily, for both offensive and defensive reasons, when it is able to do so. Blake wrote the drafting strategy in CvCityAI::AI_doDraft which basically says that if the AI is running an offensive or defensive or massing military AI type in this area, then:

- If the city is in danger and doesn't have enough defense, draft.

- If the city won't be unhappy after drafting, doesn't have citizens currently angry about past drafting, and will have at least 2/3 of its highest recorded population after drafting, draft.

So, the AI definitely drafts for both defense and offense, and will even draft while preparing an attack, so long as it's running the right civic. That seems to be the important issue ...

I guess that means the key thing would be when should the AI run the draft civic and actively draft? personally i would say when loosing a war or when preparing for a war with a civ who is near them or higher than them in it's power levels as it will need a much bigger force to make a proper dent in that kind of situation.
 
Code:
if (getConscriptAngerTimer() > 0)
                        {
                            bWait = true;
                        }

This is going to prevent an AI from aggressively drafting from a Globe Theatre city. IMO it's unnecessary. Surely the other conditions

Code:
if (!bWait)
                    {
                        if (3 * (getPopulation() - iConscriptPop) < getHighestPopulation() * 2)
                        {
                            bWait = true;
                        }
                    }

and

Code:
int iHappyDiff = GC.getDefineINT("CONSCRIPT_POP_ANGER") - iConscriptPop;

            if (bLandWar && 0 == angryPopulation(iHappyDiff))
etc.
are going to cover (fairly conservatively I might add) the times when happiness problems should prevent it from drafting.

What the timer constraint does it limit the rate of drafting, allowing time for the city granary/population to recover a bit. Without this, the AI would burn off up to 1/3 of its population in short order after the beginning of a war so long as it had enough happiness in its cities.

Now, I'm not saying this fast population drop is inherently a bad thing ... a wave of troops is certainly more effective than a slow but steady trickle, especially on offense. But the population drop has an opportunity cost, so I think some form of draft rate limiter should stay unless the AI is going all out offensively or defensively.
 
jdog, I agree the drafting needs to be throttled in some way. What I was arguing is that that condition is fairly arbitrary and the other existing conditions as well as some of my suggestions:

* Size of city: Better draft efficiency from smaller cities (and these cities will likely have no happines issues)
* Quality of worst tiles being worked. If the AI is working 2 tiles (like it's notorious for) or other such nonsense it should be perhaps more willing to draft.
* Value of the unit. In particular, riflemen are excellent food to hammer conversion. Followed by Mech Infantry, then Musketmen, then Macemen, then Infantry. Perhaps surprisingly Infantry are pretty bad (compared to other draftables) for drafting.

would be more than eough to limit the drafting rate.

Hard-coding the draft timer in means that a city that has no unhappiness (i.e. Globe Theatre or a mod equivalent) will still wait for the timer to run out which is pretty pointless. A city with high food could draft extremely quickly, but the draft-counter will make it unnecessarily slow.

IMO the higher likeliehood to draft if the city is working poor/unimproved tiles is the key. It's a similar situation to TMIT's city governor suggestion thread. The AI could be working a few 1:food:2:commerce: coast tiles and a 2:food: tile yet because its draft counter is still ticking down it won't draft.

Furthermore, on the slower speeds, if an AI is under attack and has a city under threat, that draft counter is enough to completely prevent drafting. If a city is size 8 and has 10 excess :) and is about to get attacked, it can only draft 1 unit for 15 turns on Epic, I believe. Meanwhile the city is captured because only 1 defender was drafted. Do you think the timer condition is very useful in that case?
 
Oh, I had understood (from the discussion) that the emergency defensive drafting would take place independent of the drafting unhappiness timer. Is that incorrect?

It would be nice if one of the cities of the AI were under threat, then it would draft more in that city and the surrounding cities (within certain distance).
 
Oh, yes, you're right about that. So my previous example is not very good.

An AI will bypass those and go straight for defensive drafting if its city is under threat and it does not have sufficient defenders.

The "does not have sufficient defenders" is a bit complex and has been modified a bit for BBAI (a bugfix?) but I wonder whether it is too conservative. Because if I'm reading it right, the number of defenders needed in the city depends mainly on hard things like number of wonders, whether it's the capital or a holy city, the size of the city etc. I don't think it depends at all on something as important as the size of the enemy stack that is about to attack it.

Anyway, the draft timer still concerns me a bit regardless (and this is not in any way a disagreement with anything you said, of course). When cities are not under immediate threat they should still be able to use drafting to great effect.

Having it restricted under certain circumstances simply by the draft counter is like making all cities build an aqueduct as soon as they reach size 10 because there is an assumption they will need health some time soon. Even if a city had 100:) and 100:health: it would still be worried about the draft counter.
 
The "does not have sufficient defenders" is a bit complex and has been modified a bit for BBAI (a bugfix?) but I wonder whether it is too conservative. Because if I'm reading it right, the number of defenders needed in the city depends mainly on hard things like number of wonders, whether it's the capital or a holy city, the size of the city etc. I don't think it depends at all on something as important as the size of the enemy stack that is about to attack it.

I think it would be a very very bad idea to start teaching the AI to try the match the offensive force with a defensive force in the city. Up to a certain amount of defenders (5-7), it is useful to add defenders to a city. But then you get to the point where additional defenders will not help defend the city better (at least not relative to the cost of adding these units). The reason is the weird way collateral damage is implemented in civ4. It results in large stacks of units, especially stationary defenders being relatively less strong than smaller groups. The first 2 or 3 defenders of a city can defeat the attacking siege units, but the rest of them are usually banged up at that point and will just be weakened more and more by subsequent siege unit attacks until they offer no resistance at all. So once an AI has 6 defensive units in a city and it sees an approaching stack of 12 siege units and 12 offensive units, then I don't want it to quickly rush 5 more defenders to that city. It would just be a waste of 5 defenders and a bit of experience for the attacker.

Of course in a better designed combat model for civ4, it would have been useful to add the defenders to the city. With the present model of combat, the AI should build counterstacks to defeat the attack stacks. This has been discussed in another thread in this subforum somewhere.
 
Yes but we are talking about whether or not to draft a unit in a city that is under threat, not whether to draw in units from elsewhere. If the city is in fact about to be captured, surely drafting an extra defender can only help, right? I know what you mean about siege damage but 7 units are still going to have a better chance than 6, and it might even be better that your enemy gets 1 fewer pop point when he does capture the city.

I guess what I mean is I don't think the needs_defenders code needs to be changed (which it definitely looked like I was saying). I just don't think it should be almost the only reason cities will draft.

Coming back to what jdog noted earlier, the main limit to drafting is being in the civic in the first place. But there's not going to be much point in switching to nationhood if the AI isn't even willing to draft outside of fairly awkward and infrequent circumstances. Drafting should really be one of the easiest things for the AI to take advantage of while running Nationhood but as it is now it's a pretty useless civic for them.
 
Back
Top Bottom