SGOTM 13 - TNT thread

I agree with dima here. Put one turn into the Galley so that we at least have the option to whip it. We did want another Galley anyway. If we don't have to whip it (i.e. barb Galley moves away or attacks and looses or similar), then we just build it after the Settler. In that case we should maybe build a WB in Corsica instead? We just need to time it for our marble city's border expansion.
I gather the best place to build the galley is in Elba then?

@The Dude Esq: I like it that you stopped playing and asked when running into a difficult decision. Being the new team this is the way to go for all of us, I think.

-jj-
Yes, ditto for me! :goodjob: Stopping for the barb was a great move and we have some great advice. Hope you blow that clam hijacker right out of the water!! :D
 
cheers Guys, my head is certainly a little bit bigger now. And we're definitely coming up with a better plan than just kamikaze attacking the Barb galley.

Certainly defending seems the better option.

There are a couple of extra issues here: we will still need a galley to ferry our settler down; we still want an extra worker to speed up our development after IW.

How many galley we need depends on our Roll / what the barb galley does. There are prob a multitude of scenarios!

Broadly:

Wonders off; Keep a galley on him, manoeuvring him away to keep him out of range. Keep one-turn galley in Elba spare. Whip galley in Corsica to ferry settler. Prod line in Elba galley, one turn - settler - worker - then library / galley / wbs. Corsica then finishes lib by hand.

Barb galley closes in on clams; whip galley in Elba, may not need a spare from Corsica depending on Roll. But we don't want a practically sinking galley to make the trip down to fish / spice / rice. If we whip galley in Elba a production line could go; whipped galley; settler; then Lib? for growth? - worker.

Barb galley waltzes past our two galleys; this may be annoying! if he's in range of both galleys, we should try and sink him surely? Otherwise we may want a whipped galley from Corsica again.

So a lot could depend! Well, some more ideas. But I think I am saying for definite, shall we hold off whipping Lib in Corsica for a turn or two? Should we slip in a one turn of galley there? I haven't done much detailed research, as in production times in various places / with various whips. (We have another 18 turns or so 'til we want wbs for Marble city, is this approaching fast?)

P.s. Now I'm not sure the whipped galley in Elba saves us (the clam)! Unless we whip immediately, the Barb can be on it by then (it takes us three turn in effect to get the galley!) Is the immediate whip penalty worth the hammers of a wb?

Ed:

Move galley, switch to galley build for one turn.
If barb moves away: switch back to settler, finish settler, then build galley
If barb comes towards clams: whip galley, put current galley on the west clams.
Pretty sure barb behavior here is 100% attack the galley.
If barb wins: next production is another galley, and the newly built galley parks on the other clam (not attacks, even if 90%! Maybe if 98%.)

sorry, not really paying attention! You're pretty sure the Barb will attack the galley rather than the clams. I've confused myself now!
 
If you switch Elba to galley for one turn and see what he does:
1. He continues east without entering our territory - let him go for now, switch back to settler.
2. He enters our territory - pop rush the galley, set galley on clams and see what he does.
2a. on the next turn he likely attacks us - if we win, continue with setter, damaged galley could go to Elba for repairs, new galley picks up settler for delivery.
- if we lose, put new galley on other clam unless 98% odds good to attack.
- if he attacks our second galley and we lose, well, we sure hope NOT.
- if he attacks us and loses, we'll need another galley, likely Corsica.
3. A third possibility (if this gets to you before you do any moves) is to move our first galley to the sea square. The barb can't touch him there and he might not venture onto the clams, realizing we'd have several opportunities to attack. I realize of course that this is all up to the RNG but we might be able to scare him off which would seem the happiest solution at this time after having him suicide on our galley.

I have done only a few tests on this but it does seem that the barb attacks us before going for the clams. With a work boat as target, the barb will attack the wb.

Edit: AND every test I've done where he can attack, he does and he won every time, even with a weakened galley.

Does anyone have any thoughts about putting the galley on the sea tile in hopes of scaring him away?

@The Dude - if you make the galley move, do the settler/galley switch, finish the turn and see what he does, you could then post a screenshot and decide what is next. He may just continue east...
 
Ok, so after my slight hissy fit, I manly take the reins again.

Our Barb does something slightly random (thumbnail 1). The neither / and / or option. S'pose he's semi attacking the clams and semi wondering off. But, we can now defend the clams with our one galley (for the duration of the whole of next turn,) by anchoring on the West clam. (I forgot to check; is there a tile where we can block his advance entirely to the clam.) Vicky's wb is follow us nicely as some nice bait. (Will her move, pre-empt the Barbs move, she may move to clam anyhow?)

So I s'pose this opens the question, do we whip our galley in Elba now? With 23 overflow from the galley, we should get our settler one turn after. But the downside is we will slow our second worker down.

I didn't whip the lib in Corsica (but kept the production on lib.) This keeps our options open, we don't need the border pop just yet, with our worker busy with chopping / cottaging, and we get it's apex of coins and hammers for longer. (We will need to whip in four turns when it would grow or if the lib production takes the whip from two pop to one pop (not yet)).

Haven't taken any moves again this turn (BC1500) (except our roving wb, whose explorations are thumbnail 2, (nothing that exciting yet.)) Shall I upload the game to the CivFanatics server if anyone wants a look?

Ed: just had a thought, how about switching to build our second worker in Corsica now, it hasn't got all the juicy food of Elba, but is currently on a high.

Ed Ed: Yes, I'm pedantically beating around the bush again; just play you're bloody turns I hear you cry!!
 

Attachments

  • Random Barb Behaviour0000.JPG
    Random Barb Behaviour0000.JPG
    146.2 KB · Views: 57
  • Exploration thus far0000.JPG
    Exploration thus far0000.JPG
    101.7 KB · Views: 68
^^ Interesting. I would now move our galley to the sea tile as the barb can't take the clams next turn. In one trial, Lizzie moves away and the barb moved to 1 *east of our galley. On the next move, I left the galley on the sea tile and he moved away, east.

On a second trial, I moved our galley to the west clam. He attacked but this time he lost. So I'd suggest moving our galley to the sea tile and see what he does. Switch back to settler for this turn and if he goes for the clam, move to protect the other one, I guess, and switch back to galley for the pop rush.

Any other ideas?
 
^^ Interesting. I would now move our galley to the sea tile as the barb can't take the clams next turn.

Sounds sensible. At this point I guess we hope that the barb Galley just moves away, but if he moves west and south, then we might have a challenge when we try to transport our Settler to the Fish/Rice/Spice location. Therefore I'll put foreward another idea. We could hurry the Galley in Elba this turn. It will cost 2 pop, and TDE can tell us if Elba grows back to size 4 in 1 turn (seems plausible from the screenshot). With the overflow, how many turns to we get the Settler? Anyway, this would give us two Galleys, which would make the protection and transportation safer. I'm not saying I prefer this, but wanted to suggest it.

From the other screenshot I just noticed that Ragnar has built a mine on a plain flatland. Hence it must be Iron there, and he must have IW. Always good news since we are trying to trade for it.

-jj-
 
Ah, I could have sworn I'd seen this some time in the past. Here it is :).

Originally Posted by DanF5771

Barb Galleys use UNITAI_ATTACK_SEA and thus require their own AI function CvUnitAI::AI_barbAttackSeaMove(). Obviously, you won't find any AI_attackCity or AI_targetCity calls in there, as boats are only allowed to attack units outside cities. Also, there aren't any similar NumCities-thresholds implemented here and the AreaAI of their area (= water!) has no effect. So once they are around, they will check their valid options in the following order:
flip a coin (50% chance) and -if lucky- check whether an improvement can be pillaged this turn (AI_pillageRange(iRange=1))
--> they will move onto Fishing Boats in adjacent tiles and pillage them
.
check whether an enemy unit can be attacked on this or on the next turn (AI_anyAttack(iRange=2, iOddsThreshold=25))
--> they will target your Work Boats 4 tiles away; this can be exploited to keep them away from your improvements by some nice disco-fox dancing or to lure them into the fishing grounds of your neighbors
.
check whether an improvement can be pillaged within 4 turns ((AI_pillageRange(iRange=4))
--> they will use their advanced AI radar to spot your improvements 7 tiles away , however, this radar can only detect improvements in the fog, if they exist for more than 20 turns (improved knowledge!, 5 turns for land units and improvements on land); the closest improvement "wins" (max(pillageValue/pathTurns))
.
AI_heal()
.
AI_patrol()
--> move into a random adjacent tile (iValue = 1...10,000); prefer unowned tiles (+20,000) and tiles not adjacent to borders (+10,000); if movement points left, recalculate ALL options (if the patrol-move reveals a "fresh" improvement, that was hidden from the AI radar in the fog before, option 3 will now be enabled and the respective mission (AI_pillageRange(iRange=4)) will be pushed)
 
Once they are around, they will check their valid options in the following order:
flip a coin (50% chance) and -if lucky- check whether an improvement can be pillaged this turn (AI_pillageRange(iRange=1))
--> they will move onto Fishing Boats in adjacent tiles and pillage them
.
check whether an enemy unit can be attacked on this or on the next turn (AI_anyAttack(iRange=2, iOddsThreshold=25))
--> they will target your Work Boats 4 tiles away; this can be exploited to keep them away from your improvements by some nice disco-fox dancing or to lure them into the fishing grounds of your neighbors
.
check whether an improvement can be pillaged within 4 turns ((AI_pillageRange(iRange=4))
--> they will use their advanced AI radar to spot your improvements 7 tiles away , however, this radar can only detect improvements in the fog, if they exist for more than 20 turns (improved knowledge!, 5 turns for land units and improvements on land); the closest improvement "wins" (max(pillageValue/pathTurns))
.
AI_heal()
.
AI_patrol()
--> move into a random adjacent tile (iValue = 1...10,000); prefer unowned tiles (+20,000) and tiles not adjacent to borders (+10,000); if movement points left, recalculate ALL options (if the patrol-move reveals a "fresh" improvement, that was hidden from the AI radar in the fog before, option 3 will now be enabled and the respective mission (AI_pillageRange(iRange=4)) will be pushed)

Yeah, I was thinking about this one, too. As far as I read this, only the first action (pillage this turn) uses a coin flip. In our case the barb Galley cannot pillage this turn (on his turn), hence there won't even be a coin flip and the AI decision mekanism moves on to the next action, which is targeting an enemy unit. There will be 2 units he can target, our Galley and the English Work Boat (which moves before the barb Galley btw, but must still be within 4 tiles). But one question I'm not sure about, is if our Galley is considered a valid target if we stand on the Sea tile? If not, then the barb Galley should hunt after the english work boat, right? If our Galley is still a valid target on the Sea tile, the barb Galley will not be able to attack, but will it then just stand besides us and wait? If so, and if we are certain we understand this, maybe it is better to move our Galley away from our clams, since then the barb Galley will move after either our Galley or the english Work Boat since he cannot pillage on his turn?

Just some random thoughts.

-jj-
 
The attached code explains how the AI chooses to attack a unit. My c++ is a little rusty, but as far as I can tell, it doesn't care whether a unit is within 1 move or 2 moves, just what the best odds combat is. This means that it doesn't matter where we are so long as Vicky's workboat is within 4 tiles (which it will be).

I recognize this is in direct contradiction to Keath's empirical tests (which I trust much more than me reading some code!) But Keath, could you confirm that the Barb galley attacked our galley when both our galley and Vicky's workboat were within 4 tiles of the barb galley? (and our galley wasn't blocking the path to Vicky)

Spoiler :
// Returns true if a mission was pushed...
bool CvUnitAI::AI_anyAttack(int iRange, int iOddsThreshold, int iMinStack, bool bFollow)
{
PROFILE_FUNC();

CvPlot* pLoopPlot;
CvPlot* pBestPlot;
int iSearchRange;
int iPathTurns;
int iValue;
int iBestValue;
int iDX, iDY;

FAssert(canMove());

if (AI_rangeAttack(iRange))
{
return true;
}

if (bFollow)
{
iSearchRange = 1;
}
else
{
iSearchRange = AI_searchRange(iRange);
}

iBestValue = 0;
pBestPlot = NULL;

for (iDX = -(iSearchRange); iDX <= iSearchRange; iDX++)
{
for (iDY = -(iSearchRange); iDY <= iSearchRange; iDY++)
{
pLoopPlot = plotXY(getX_INLINE(), getY_INLINE(), iDX, iDY);

if (pLoopPlot != NULL)
{
if (AI_plotValid(pLoopPlot))
{
if (pLoopPlot->isVisibleEnemyUnit(this) || (pLoopPlot->isCity() && AI_potentialEnemy(pLoopPlot->getTeam())))
{
if (!atPlot(pLoopPlot) && ((bFollow) ? canMoveInto(pLoopPlot, true) : (generatePath(pLoopPlot, 0, true, &iPathTurns) && (iPathTurns <= iRange))))
{
if (pLoopPlot->getNumVisibleEnemyDefenders(this) >= iMinStack)
{
iValue = getGroup()->AI_attackOdds(pLoopPlot, true);

if (iValue >= AI_finalOddsThreshold(pLoopPlot, iOddsThreshold))
{
if (iValue > iBestValue)
{
iBestValue = iValue;
pBestPlot = ((bFollow) ? pLoopPlot : getPathEndTurnPlot());
FAssert(!atPlot(pBestPlot));
}
}
}
}
}
}
}
}
}
 
I recognize this is in direct contradiction to Keath's empirical tests (which I trust much more than me reading some code!) But Keath, could you confirm that the Barb galley attacked our galley when both our galley and Vicky's workboat were within 4 tiles of the barb galley? (and our galley wasn't blocking the path to Vicky)

I'm not sure there is a contradiction, or maybe there is something I don't understand. As far as I understand it, the second option (the AttackAI) will search for any enemy target within 4 tiles, not just Work Boats. (The Work Boat mensioned is just an example of how to manipulate a barb Galley, I think.) So he will find both our Galley and the english Work Boat, and I'm not sure I understand how he then chooses his target. Are you saying that the barb Galley then should choose the Work Boat since its odds are better?
 
I'm not sure there is a contradiction, or maybe there is something I don't understand. As far as I understand it, the second option (the AttackAI) will search for any enemy target within 4 tiles, not just Work Boats. (The Work Boat mensioned is just an example of how to manipulate a barb Galley, I think.) So he will find both our Galley and the english Work Boat, and I'm not sure I understand how he then chooses his target. Are you saying that the barb Galley then should choose the Work Boat since its odds are better?

Yes, this is what I am saying.
 
Yes, this is what I am saying.

After taking a closer look at the code, I come to the same conclusion that the barb Galley *should* target the Work Boat over our Galley, but how to verify this? I've tried to add a barb Galley in one of my test games using the world builder, but the Galley does not show normal behavior. (It just stands still for many turns, i.e. doesn't really search for anything.)
 
Oh, and I have an idea for the discrepancy (i.e. the barb Galley attacking our Galley in Keath's test game.) If the barb Galley is in "follow mode" (i.e. it has chosen a target on a previous turn and entered "follow mode"), then this is a special case that limits the search range (at least according to how I read the code). Hence if Keath had reached his position with the barb Galley already following our Galley, then it might not see the english work boat when it moves away.
 
I just ran some tests with the following results:

A barb galley attacks a coastal galley within 1 turn 100% of the time, even if there is a workboat within 2 turns (but not within 1 turn)

A barb galley is unable to attack a galley in an ocean square.

So, yeah, going to the ocean square sounds like the way to go for next turn.

I'd wait a turn on whipping the galley, so long as we can still 2-pop whip it the turn after, and reevaluate then. Also depends on how long it is prior to the Corsica galley, etc.
 
I just ran some tests with the following results:

A barb galley attacks a coastal galley within 1 turn 100% of the time, even if there is a workboat within 2 turns (but not within 1 turn)

A barb galley is unable to attack a galley in an ocean square.

So, yeah, going to the ocean square sounds like the way to go for next turn.

Actually, this brings up one of my questions. If we place our Galley on the ocean square, will it be ignored by the barb Galley (meaning it will follow the english Work Boat), or will he sit next to us waiting for us to move? Have you confirmed that he will chase the Work Boat?
 
I am on a ferry right now with only my iPhone so no testing for awhile.

We know he will attack us if he can so I'd move to the sea tile and see what he does. But what about whipping the galley? If possible I'd say put another turn on the settler and watch his next move. What do you guys think?
 
We know he will attack us if he can so I'd move to the sea tile and see what he does.

I agree we there is no need to give him the option to attack us. But how about moving *away* (like 1SW+1S)? If we know he will follow (rather than go for the clams), then this might be even better?

But what about whipping the galley? If possible I'd say put another turn on the settler and watch his next move. What do you guys think?

I also think we should wait, at least if we are able to lure him away.
 
If we try to get him to chase, he could still be chasing Vicky's workboat, which will get him within a turn of the clams --> he will then pillage on the turn after. So I think move to sea, pray, and then move on top of clams next turn if he is able to pillage on that turn.
 
If we try to get him to chase, he could still be chasing Vicky's workboat, which will get him within a turn of the clams --> he will then pillage on the turn after. So I think move to sea, pray, and then move on top of clams next turn if he is able to pillage on that turn.

Good point. So I vote for the ocean move too.
 
Kool,

let's see what happens for one turn then if we run away to the Ocean square. We could end up with our Barb on the West clam, especially if Vicky wb goes to East calm. I would agree a roving Barb galley to the South / Southwest, could be even less to our advantage. This Barb behaviour (esp in those test games) seems less than predictable. Actually, I had a game once where the Barb galley completely ignored my fishing boats to chase after some poor AI's wb. All the way around my rather big island, 'til I eventually caught him going around the other way with a trireme. It may be a long while 'til we get MC!

I'll switch Elba back to settler for one turn. What do people think to my idea of producing a worker in Corsica before whipping its Lib, if we end up whipping Elba? We would have got the settler produced in one turn in Elba, after the whip on galley with 23hammers overflow. I'll try and calculate Elba growth after a 2 pop whip.

Originally Posted by dima42 View Post
Once they are around, they will check their valid options in the following order:
flip a coin (50% chance) and -if lucky- check whether an improvement can be pillaged this turn (AI_pillageRange(iRange=1))
--> they will move onto Fishing Boats in adjacent tiles and pillage them

Ed: Let's suppose Vicky's wb goes to the square just above our clam (I would have thought this is most likely.) The Barb then follows. Next turn we will be left with a 50:50 chance of one of our clam being pillaged? i.e. should we just whip the galley in Elba and make a stand. We have a 68% chance of winning, even if we lose, we got our second galley! Actually, if we were to lose the battle, from the Barbs attack 1 North, we will still lose a clam, as he'll have 1 move spare. Hence it would seem an immediate confrontation (ie defend Clam West) is the only way to guarantee saving them. (Unless he amiably wanders off, never to be seen again! Anyone particularly skilled in diplomacy to convince Barb of this :crazyeye: !?)

I'll hold off this turn.
 
Back
Top Bottom