[Freeciv-Dev] [bug #17970] queued attack executes before next player's turn begins
Follow-up Comment #8, bug #17970 (project freeciv): I now have beta4 on Windows. I have seen an AI Worker run away before I could launch a queued attack. ___ Reply to this item at: http://gna.org/bugs/?17970 ___ Message sent via/by Gna! http://gna.org/ ___ Freeciv-dev mailing list Freeciv-dev@gna.org https://mail.gna.org/listinfo/freeciv-dev
[Freeciv-Dev] [bug #17970] queued attack executes before next player's turn begins
Follow-up Comment #6, bug #17970 (project freeciv): This bug is a duplicate of http://gna.org/bugs/?16387. That bug was not fixed because the developers failed to see either the problem or the solution. The simplest solution should be that there be two rounds of player activity at turn change. The first round should execute all code that is meant to happen at the end of turn. Examples:- buying a unit in a city, making a road or base, fortifying a unit ... The second round should execute all code that is meant to happen at the start of turn. Examples:- Auto-explore, goto, patrol, queued attack ... This bug has nothing whatsoever to do with 'unitwaittime'. ___ Reply to this item at: http://gna.org/bugs/?17970 ___ Message sent via/by Gna! http://gna.org/ ___ Freeciv-dev mailing list Freeciv-dev@gna.org https://mail.gna.org/listinfo/freeciv-dev
[Freeciv-Dev] [bug #17970] queued attack executes before next player's turn begins
Follow-up Comment #7, bug #17970 (project freeciv): Having an end turn phase and a begin turn phase makes sense to me, but the shuffling bug still needs to be addressed. The comments regarding http://gna.org/bugs/?16387 claim that player order is shuffled. On my Windows Vista system, with only myself and 4 AI players, using the default phasemode=ALL, almost all between turn actions are not shuffled and I get to make my move first. The only exception seems to be if the AI buys a unit to garrison an empty city. When I land next to an empty city and set my goto to take it next turn, sometimes a unit will appear and prevent the walk-in. Maybe I'll kill the unit by attacking it, maybe I'll die against a city wall. I am speculating that this is because the AI bought the unit, as I haven't actually traced the code to know for sure. However it seems consistent with my tactic of running the AIs out of gold so that they can't instantly buy garrison units. When I attack an empty city, AI units next to the empty city *never* move back into the city before I've attacked. Possibly the AI is completely stupid and just doesn't realize it can make that move. On the other hand, *I* pull that trick all the time. I can stand just outside my own empty city, with an enemy AI unit threatening it, set the goto, and move back in before the AI gets to attack. This proves to me that I always move first in this situation, that it is never shuffled. ___ Reply to this item at: http://gna.org/bugs/?17970 ___ Message sent via/by Gna! http://gna.org/ ___ Freeciv-dev mailing list Freeciv-dev@gna.org https://mail.gna.org/listinfo/freeciv-dev
[Freeciv-Dev] [bug #17970] queued attack executes before next player's turn begins
Follow-up Comment #5, bug #17970 (project freeciv): [timeaddenemymove and unitwaittime] Those settings don't help a single player game at all. True (but see below). /set phasemode PLAYER I thought this too. Playing against the AI is effectively turn-based anyway, so one might as well make it actually turn-based. I _think_ this does make a difference. It's a bit difficult to make a convincing before-and-after demo, as changing the 'phasemode' setting mid-game confuses things a bit. See the attached (2.3) savegame (I'm using S2_3 r19581). In all cases we're interested in the human-controlled Curonian Riflemen near the undefended Mughal (AI) city of Agra (which has many Mughal Riflemen nearby). * By default, it has phasemode=PLAYER. ** The AI doesn't seem to move to defend the city (or at all) for the first turn regardless of threats (I'm guessing this is some transient effect because I changed from phasemode=ALL to phasemode=PLAYER just before saving), so hit Turn Done once to clear that out. ** Then move the Riflemen one step toward Agra, and set a Go order into Agra. Hit Turn Done. Observe that the AI moves into Agra before we get a chance. (If we don't attack, the AI moves into Agra to defend it.) * Take the same game and /set phasemode ALL in the pregame. ** Then do just the second step above. We get there first (although the AI kicks us out pretty soon afterward). (If we don't attack, again, the AI moves into Agra to defend it.) Not entirely scientific, but I think I'm convinced. Next time I start a game against AI I'll try running in this mode. However, the human player *always* moves before the AI with a queued attack. That's not current _[correct?]_; that's a bug. See above for a counterexample. I did also test 'unitwaittime' with a single-player game, and with a sufficiently small gap between my move and 'Turn Done', that let the AI get in first (because the Go order is completely lost if it conflicts with 'unitwaittime'). --kinetic (gna won't let me log in) There was a password reset http://gna.org/forum/forum.php?forum_id=2247 in December; perhaps that's why? (file #12782) ___ Additional Item Attachment: File name: doublemove2.sav.bz2Size:49 KB ___ Reply to this item at: http://gna.org/bugs/?17970 ___ Message sent via/by Gna! http://gna.org/ ___ Freeciv-dev mailing list Freeciv-dev@gna.org https://mail.gna.org/listinfo/freeciv-dev
[Freeciv-Dev] [bug #17970] queued attack executes before next player's turn begins
Follow-up Comment #3, bug #17970 (project freeciv): You can change the order in which players make their movements in 2.3.0-beta3 Try using /set phasemode PLAYER it is also under the 'Internal' tab of the server settings dialog and named 'control of simultaneous player/team phases' which would make each player move one after another, rather than simultaneously. This /may/ be a workaround for single player games. It would depend on if you move before AI, or if the AI moves before you. --kinetic (gna won't let me log in) ___ Reply to this item at: http://gna.org/bugs/?17970 ___ Message sent via/by Gna! http://gna.org/ ___ Freeciv-dev mailing list Freeciv-dev@gna.org https://mail.gna.org/listinfo/freeciv-dev
[Freeciv-Dev] [bug #17970] queued attack executes before next player's turn begins
Follow-up Comment #4, bug #17970 (project freeciv): I will try PLAYER for single player, but I have my doubts that it'll have any effect. The default is ALL - all players move concurrently. However, the human player *always* moves before the AI with a queued attack. That's not current; that's a bug. ___ Reply to this item at: http://gna.org/bugs/?17970 ___ Message sent via/by Gna! http://gna.org/ ___ Freeciv-dev mailing list Freeciv-dev@gna.org https://mail.gna.org/listinfo/freeciv-dev
[Freeciv-Dev] [bug #17970] queued attack executes before next player's turn begins
Follow-up Comment #1, bug #17970 (project freeciv): The double-move problem is well-known. Server options have been added to mitigate it, notably 'timeaddenemymove' and more recently 'unitwaittime' (patch #1500), but these aren't enabled by default. ___ Reply to this item at: http://gna.org/bugs/?17970 ___ Message sent via/by Gna! http://gna.org/ ___ Freeciv-dev mailing list Freeciv-dev@gna.org https://mail.gna.org/listinfo/freeciv-dev
[Freeciv-Dev] [bug #17970] queued attack executes before next player's turn begins
Follow-up Comment #2, bug #17970 (project freeciv): Those settings don't help a single player game at all. Very easy to trounce the AI when this exploit is known. ___ Reply to this item at: http://gna.org/bugs/?17970 ___ Message sent via/by Gna! http://gna.org/ ___ Freeciv-dev mailing list Freeciv-dev@gna.org https://mail.gna.org/listinfo/freeciv-dev
[Freeciv-Dev] [bug #17970] queued attack executes before next player's turn begins
URL: http://gna.org/bugs/?17970 Summary: queued attack executes before next player's turn begins Project: Freeciv Submitted by: bvanevery Submitted on: Wed 30 Mar 2011 08:56:20 PM GMT Category: general Severity: 3 - Normal Priority: 5 - Normal Status: None Assigned to: None Originator Email: Open/Closed: Open Release: 2.3.0-beta3 Discussion Lock: Any Operating System: Microsoft Windows Planned Release: ___ Details: If the moves for my unit are exhausted, but I select goto to attack another enemy unit or city, my attack will execute before the enemy unit has a chance to move out of the way, attack, or buy a unit to garrison the city. Thus I can land a legion or a catapult next to a city, set it to goto the city, and get a free attack with major offensive advantages. It's like having a poor man's marines. Also in skirmishes in open country, with a unit having only 1 move, I effectively attack 2 tiles away. On my turn I move the 1 tile necessary to close the gap and select goto the enemy's location. Then my attack executes before the enemy unit can move. Every legion is effectively a knight. The same technique can be used to keep Explorers out of harm's way. If I pop a hut containing barbarians, or unwittingly end my turn next to a hostile unit, I can select goto a safe location, such as an unthreatened tile or an offshore trireme. The Explorer will race to safety before anything can attack it. ___ Reply to this item at: http://gna.org/bugs/?17970 ___ Message sent via/by Gna! http://gna.org/ ___ Freeciv-dev mailing list Freeciv-dev@gna.org https://mail.gna.org/listinfo/freeciv-dev