Follow-up Comment #6, bug #16387 (project freeciv):
It doesn't seem like a bug to me.
With Freeciv in its default "concurrent" phasemode, you can't rely on a
particular order of things happening on the next turn, as any player can
notionally do anything at any time. However, as I understand it, some
activities are done in a single thread on the server, on behalf of the player
(such as goto); but as alluded to, at the start of a turn, players are
shuffled (shuffle_players()) so that the ordering of these activities between
players nominally can't be predicted, presumably to give some semblance of
fairness. (But if you do get to go first, you get to do *all* your
server-side activities first.)
The randomness of shuffle_players() is controlled by the random seed, which
is recorded in the savegame; thus consistently getting the same result every
time from this savegame.
I've attached a derived example where I've add a unit of P's units which has
movement points and a choice of S's units to attack (unrelated to the
goto/pillage units), to introduce variation into the randomness. I find that
whether or not S's units succeed in pillaging next turn depends on which unit
I attack this turn (but they will then either all succeed in pillaging or all
Arguably this could be improved upon, but I think it's working as designed
and doesn't constitute an exploit.
I don't think this is the same as bug #14473, which I think is about the
ordering and dependencies between the server-side per-turn activities of a
single player and definitely could use a rework.
Additional Item Attachment:
File name: x-pillage-test-random.sav.bz2 Size:10 KB
Reply to this item at:
Message sent via/by Gna!
Freeciv-dev mailing list