Praets At Deity at Normal Speed

It's a CHEAP clean-up unit once cannons are in.

And you only need 2 or 3 suicide catas per stack of 8 praets, which is cost-efficient hammer-wise. I don't understand. It's like an elephant that's cheaper in hammers, more expensive in tech with tech trades on.
 
Again I belive there is a missunderstanding about what is a rush...

Praets by themselves are not bad, but I wouldn't go for a Praet rush (without Cata, since in this case it's more a Cata rush).
 
Again I belive there is a missunderstanding about what is a rush...

Praets by themselves are not bad, but I wouldn't go for a Praet rush (without Cata, since in this case it's more a Cata rush).

Fair enough.

It depends on the map. Like HAs, with praets you can go before catapults.
 
Long long time ago in Vanilla when deity was considered almost impossible, moonsinger proposed a feasible strategy to win deity with Praets. Although some of the strategies of that article was obsolete (like abuse the civic switch to avoid bankruptcy), it's still a working strategy for now in my eyes. 1 unit disbanding per turn really isn't a big deal. This alone demonstrated that Praets IS top tier UU.
 
Long long time ago in Vanilla when deity was considered almost impossible, moonsinger proposed a feasible strategy to win deity with Praets. Although some of the strategies of that article was obsolete (like abuse the civic switch to avoid bankruptcy), it's still a working strategy for now in my eyes. 1 unit disbanding per turn really isn't a big deal. This alone demonstrated that Praets IS top tier UU.

This was the one where you could stay in anarchy for an eternity?

1st I think that was on marathon IIRC. Second it's not 1 unit per turn disbanding when you go on strike, I've had 3 units or more per turn disbanded before. Carrying a war out on strike is just not feasible, at least not now.
 
Yes, you were able to do perpetual anarchy. Civic and religion switches didn't have the cool-down points like now. Also pratorians were even cheaper back then... Not to mention they were also stronger. They've lost their inherent 10% city raid bonus that regular swords get, and so on.

And losing just 1 unit a turn would be a dream come true, unfortunately it doesn't work out that way. I'm really surprised Duckweed missed that one, I"m guessing he never has hit bankruptcy before?

Not to mention you start losing your BEST units first, even your leaders. It really sucks to see the outer units dissapear and have to wait for your new ones to take ages to get back to the outer ends, just to see them dissapear too.

There's a few other nasty things now to bite you in a ass... like not being able to do multiple perpetual demands, and so on. You can't even compare the broken vanilla deity to BtS in this area.
 
And losing just 1 unit a turn would be a dream come true, unfortunately it doesn't work out that way.

True.
LowtherCastle did a bit of investigation into this matter for the purpose of SGOTM 14, and the number of units you lose per turn of strike is incremental.
IIrc, it's something like 0-1-1-2-2-3-3....., and the counter doesn't reset (that we learnt the hard way during our own game...)

Not to mention you start losing your BEST units first, even your leaders.

False.
It seems to depend mainly on the value in hammers of the units, and the least expensive seem to disband first (with a random factor added in the mix).
OSS went through ~ 10 turns of strike during SGOTM 14 and they countered that by spamming warriors/chariots, and they only ever lost warriors, not a single one of their most advanced/experienced units.
 
I just happened to experienced the striking issue in SGOTM14, much easier to control than I had thought.

Some thoughts about how to achieve domination with Praets in one continent map.

1. You only need to take out 4 AIs to get enough land for domination

2. You don't need to keep all the cities, but useful cities only and raze the rest in certain time. Settlers won't be disbanded on strike so you can fulfill the space last.

3. Instead of going directly to city of mids, you can go for the city with GLH. I think you should be able to keep from bankruptcy before taking 2 AIs. There are probably ~30 turns needed to deal with another 2 AIs.

4. In those 30 turns, you probably can stay at anarchy for ~10 turns, the cash saved in those 10 turns should be enough to support the 1st turn of 4 cannot switch civic 5-turn period, so that leaves 16 turns of striking. If you timed the city capture, then the plundered cash and building wealth should be able to let you pay the bill for another 5 turns. I'd be surprised that you still did not have currency in that stage.

5. You can build some cheap units like archer or chariot and send them outside the culture border so that they are selected for disbanding instead of high level praets.

In conclusion, for 11 turns, the number of units that getting disbanded would be 0 + 2*(1+2+3+4+5) = 30, so that's around 1 unit per turn for 30 turns when you are working on the 3rd and 4th AI, moreover, most of those units are NOT praets.
 
5. You can build some cheap units like archer or chariot and send them outside the culture border so that they are selected for disbanding instead of high level praets.

Problem is they don't exactly move like a dime (unless the broken vassal mechanics warp your units lightyears across the board again, Haha!)


False.
It seems to depend mainly on the value in hammers of the units, and the least expensive seem to disband first (with a random factor added in the mix).
I've been burned by this very bad in the past, so I assume you are now telling me it was just bad luck with the random factor...
 
I've been burned by this very bad in the past, so I assume you are now telling me it was just bad luck with the random factor...

Well I'm not sure.
I do believe that what you're reporting is true, but I also very much believe my own eyes when I played with OSS saves a bit and witnessed only warriors and a few chariots being disbanded for 10 turns of strike, while there were Phants and Maces and GGs all over the place who remained untouched.


To be more precise about how it works, here's a post quoting DanF's code-digging on the matter :
http://forums.civfanatics.com/showpost.php?p=11109715&postcount=2235

As you can see, units that are most likely to disband are attacking units outside of the cultural borders, starting with the cheapest in hammers, and the least experienced.

The RNG may have played a role in your experience, but more likely what happened to you probably falls along the lines of what is described, but you misinterpreted it into something else (~"Best units go first").
And why wouldn't you really? Your explanation seems the most reasonable and logical.
In the end, the game is way too lenient to players who go into strike : you've been unable to manage your economy, and yet you get to keep all your growth and production (or even research for that matters), at the cost of a few cheap and inexperienced units?..... Another Firaxis genius bit...:rolleyes:
 
units that are most likely to disband are attacking units outside of the cultural borders

Yes, and this is exactly where your most experienced units are going to be.
 
my poor guess at first sight is that this is the function

Code:
void CvPlayer::disbandUnit(bool bAnnounce) {
    CvUnit* pLoopUnit;
    CvUnit* pBestUnit;
    wchar szBuffer[1024];
    int iValue;
    int iBestValue;
    int iLoop;

    iBestValue = MAX_INT;
    pBestUnit = NULL;

    for (pLoopUnit = firstUnit(&iLoop); pLoopUnit != NULL; pLoopUnit = nextUnit(&iLoop)) {
        if (!(pLoopUnit->hasCargo())) {
            if (!(pLoopUnit->isGoldenAge())) {
                if (pLoopUnit->getUnitInfo().getProductionCost() > 0) {
                    if (!(pLoopUnit->isMilitaryHappiness()) || !(pLoopUnit->plot()->isCity()) || (pLoopUnit->plot()->plotCount(PUF_isMilitaryHappiness, -1, -1, getID()) > 1)) {
                        iValue = (10000 + GC.getGameINLINE().getSorenRandNum(1000, "Disband Unit"));

                        iValue += (pLoopUnit->getUnitInfo().getProductionCost() * 5);

                        iValue += (pLoopUnit->getExperience() * 20);
                        iValue += (pLoopUnit->getLevel() * 100);

                        if (pLoopUnit->canDefend() && pLoopUnit->plot()->isCity()) {
                            iValue *= 2;
                        }

                        if (pLoopUnit->plot()->getTeam() == pLoopUnit->getTeam()) {
                            iValue *= 3;
                        }

                        switch (pLoopUnit->AI_getUnitAIType()) {
                            case UNITAI_UNKNOWN:
                            case UNITAI_ANIMAL:
                                break;

                            case UNITAI_SETTLE:
                                iValue *= 20;
                                break;

                            case UNITAI_WORKER:
                                iValue *= 10;
                                break;

                            case UNITAI_ATTACK:
                            case UNITAI_ATTACK_CITY:
                            case UNITAI_COLLATERAL:
                            case UNITAI_PILLAGE:
                            case UNITAI_RESERVE:
                            case UNITAI_COUNTER:
                                iValue *= 2;
                                break;

                            case UNITAI_CITY_DEFENSE:
                            case UNITAI_CITY_COUNTER:
                            case UNITAI_CITY_SPECIAL:
                            case UNITAI_PARADROP:
                                iValue *= 6;
                                break;

                            case UNITAI_EXPLORE:
                                iValue *= 15;
                                break;

                            case UNITAI_MISSIONARY:
                                iValue *= 8;
                                break;

                            case UNITAI_PROPHET:
                            case UNITAI_ARTIST:
                            case UNITAI_SCIENTIST:
                            case UNITAI_GENERAL:
                            case UNITAI_MERCHANT:
                            case UNITAI_ENGINEER:
                                break;

                            case UNITAI_SPY:
                                iValue *= 12;
                                break;

                            case UNITAI_ICBM:
                                iValue *= 4;
                                break;

                            case UNITAI_WORKER_SEA:
                                iValue *= 18;
                                break;

                            case UNITAI_ATTACK_SEA:
                            case UNITAI_RESERVE_SEA:
                            case UNITAI_ESCORT_SEA:
                                break;

                            case UNITAI_EXPLORE_SEA:
                                iValue *= 25;
                                break;

                            case UNITAI_ASSAULT_SEA:
                            case UNITAI_SETTLER_SEA:
                            case UNITAI_MISSIONARY_SEA:
                            case UNITAI_SPY_SEA:
                            case UNITAI_CARRIER_SEA:
                            case UNITAI_MISSILE_CARRIER_SEA:
                                iValue *= 5;
                                break;

                            case UNITAI_PIRATE_SEA:
                            case UNITAI_ATTACK_AIR:
                                break;

                            case UNITAI_DEFENSE_AIR:
                            case UNITAI_CARRIER_AIR:
                            case UNITAI_MISSILE_AIR:
                                iValue *= 3;
                                break;

                            default:
                                FAssert(false);
                                break;
                        }

                        if (pLoopUnit->getUnitInfo().getExtraCost() > 0) {
                            iValue /= (pLoopUnit->getUnitInfo().getExtraCost() + 1);
                        }

                        if (iValue < iBestValue) {
                            iBestValue = iValue;
                            pBestUnit = pLoopUnit;
                        }
                    }
                }
            }
        }
    }

    if (pBestUnit != NULL) {
        swprintf(szBuffer, gDLL->getText("TXT_KEY_MISC_UNIT_DISBANDED_NO_MONEY", pBestUnit->getNameKey()).GetCString());
        gDLL->getInterfaceIFace()->addMessage(getID(), false, GC.getEVENT_MESSAGE_TIME(), szBuffer, "AS2D_UNITDISBANDED", MESSAGE_TYPE_MINOR_EVENT, pBestUnit->getButton(), (ColorTypes) GC.getInfoTypeForString("COLOR_RED"), pBestUnit->getX_INLINE(), pBestUnit->getY_INLINE(), true, true);

        FAssert(!(pBestUnit->isGoldenAge()));

        pBestUnit->kill(false);
    }
}

for disbanding units.

there is as always calculated "iBestValue" and "pBestUnit". This time the cycle looks for the lowest value.

influence of random is 10000 - 11000 values as base.

According to it (just at first sight) it could be possible to disband settlers, but very low chance (in the switch the "iValue" is multiplied by 20 for settlers)

Units defending city are multiplied by 2 for example

this part
iValue += (pLoopUnit->getExperience() * 20);
iValue += (pLoopUnit->getLevel() * 100);
actually makes the more experienced units less probable to be disbanded

this part
if (pLoopUnit->plot()->getTeam() == pLoopUnit->getTeam()) {
iValue *= 3;
}

assures that units in your cultural borders are 3x less probable to be disbanded

this part

iValue += (pLoopUnit->getUnitInfo().getProductionCost() * 5);
ensures that the less costly units are disbanded sooner then higher costly units

btw I hope that this function "pLoopUnit->AI_getUnitAIType()" evaluates the meaning the constant would suggest and for example
UNITAI_SETTLE really means "settler" in our sense.
there is plenty of constants used.
 
Yes, and this is exactly where your most experienced units are going to be.

Yes, so walk a few warriors out of your borders and *they* will be disbanded instead.
QED

@vranasm : thx for the code, it's pretty self explanatory (with a basic knowledge of Python of course ...:mischief:) It's interesting to see that settlers could theoretically be disbanded as well.
 
To guarantee a warrior goes before any praetorian (assuming both are outside home culture) it looks like you need it to have around 4 levels less promotion than any praet. With equal promotions you're at the mercy of the RNG (1000 swamps the small effect of hammer cost difference - 150).

One big thing coming out of that code is how unimportant the hammer cost is compared to the random factor and unit experience. Especially in this ancient era when hammer costs, and therefore hammer cost differences, are low.

The other even bigger thing is how "attack" style units are regarded as least precious when it comes to disbanding, when in fact for human-style play they're the most precious! All other things being equal a "defender" style unit like an archer is 3x less likely to be disbanded than an "attacker" style unit (so don't build archers if you want something to be selected for disbanding!) And that factor is an order of magnitude more important (see 10000 base) than the hammer cost or experience - an archer would almost certainly be kept in preference even to a tank or something.

Units in home culture and/or cities are further large factors more safe.

As Obsolete says your attacking forces outside home culture/cities are very strong candidates for disbandment. And even if you have a source of low-hammer, low XP, attack units like warriors, and can place them quickly outside your own culture, the random factor means low XP frontline troops are still not safe.

Edit: therefore anarchy cheese seems more reliable :D
 
^^
There's no arguing that under normal circumstances, i.e. when you can't set up a proper counter to striking, or if you didn't plan your rush well, your attacking forces will suffer from the most (all of?) disbanding.

Obsolete argued that (quote) you start losing your BEST units first, even your leaders (end quote).
This is a different statement, and it is uncorrect, as proven by the code.

NB : I have no interest in starting an endless debate with Obsolete or other players much more experienced than I am, but I wanted to underline this point for those readers who'd be interested in the subject and might have been misled by his above statement.

Edit: therefore anarchy cheese seems more reliable :D

That's one thing that everyone will agree on I'm sure (but it's a banned trick in GOTMs....:()
 
Obsolete argued that (quote) you start losing your BEST units first, even your leaders (end quote).
This is a different statement, and it is uncorrect, as proven by the code.

I have CONSTANTLY seen this. I feel people who follow your statements are going to be in for a really rude awakening... and right at the worst time too.

That's why we have this thing called Murphy's Law.
 
Slight loophole visible in the code ... some units are regarded as even more expendable than attack troops.

The only ones I can see which might conceivably be available during a praetorian attack are triremes (UNITAI_ATTACK_SEA). Build some of them and place outside culture and I would say they're certain to be disbanded first.

Frigates and privateers would be usable for the same purpose during renaissance wars.
 
I have CONSTANTLY seen this. I feel people who follow your statements are going to be in for a really rude awakening... and right at the worst time too.

That's why we have this thing called Murphy's Law.
^^
NB : I have no interest in starting an endless debate with Obsolete or other players much more experienced than I am


Slight loophole visible in the code ... some units are regarded as even more expendable than attack troops.

The only ones I can see which might conceivably be available during a praetorian attack are triremes (UNITAI_ATTACK_SEA). Build some of them and place outside culture and I would say they're certain to be disbanded first.

Frigates and privateers would be usable for the same purpose during renaissance wars.

Sure, but then one has to wonder if the cure does not become worse than the disease.... The cost of building those triremes, at 1 trireme built = 1 unit saved, + the rate of disbanding rapidly increasing....

I think you had it right earlier : for an early rush as is the praet rush, if you hit a strike, then you most definitely have to resort on anarchy.
OSS were able to get away with it during SGOTM 14 because the strike happened much later, with more advanced/experienced units in the field.
 
for an early rush as is the praet rush, if you hit a strike, then you most definitely have to resort on anarchy...

Going off topic now I guess but triremes are still available around cuirassiers which would be somewhat more useful than at swordsman time. Much later too I think if you disconnected iron from a couple of cities so they couldn't build frigates.

50:hammers: "insurance" would guarantee the survival of a 100+:hammers: unit like a cavalry or something, plus the cav stays in its offensive position, plus the top XP guys aren't at risk of drawing the short straw either. Maybe starts to sound more reasonable - just for a few turns till some cash turns up from somewhere.
 
Back
Top Bottom