[Freeciv-Dev] (PR#4387) Suggestion for deterministic moves
[Top] [All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
I would like to draw the Design Boarders' attention to the issue of random
moves.
Below I
1. Give an overview of the current mode.
2. Give overview of the proposals.
3. Give some arguments for the change and discuss some of the arguments
against it.
/*************** Current mode (unittools.c/try_move_unit) **********/
We have 3 numbers: full move points (F) of a unit, current (C) move points
of the unit and the required (R) move points for the move being tried.
The move will succeed with probability 100% if
either
F == C
or
C >= R
Otherwise, it will succeed with probability C / R.
/************************* Proposal ******************************/
The proposal is to implement a system where no probability is needed.
There are three possible flavours:
1. Strict -- only moves with 100% probability will succeed.
2. Fast -- as long as C > 0, the move will succeed.
3. Mixed -- move will suceed if probability > threshold value.
Civ3 has chosen flavour 2.
It is possible to make the threshold value a user defined option. It will
still be an improvement over the current situation for PF and PF-related
AI and GUI stuff. Not burning the unit's MPs in an insuccessfull move is
also possible.
However, retaining the current system as an option is out of question.
This will only lead to complications in already cluttered code.
/********************* Arguments *************************************/
PRO:
1. Reduction in the complexity of the current code -> less bugs and
crashes.
2. Non-ambiguous definition of the shortest route.
3. Ability to display correct #turns a path will take.
4. Working "dangerous routes" for triremes.
5. Better AI:
* If AI moves a "stack" of units, say a charge and a bodyguard, it won't
end up with one of them being allowed to move while the other won't, thus
splitting the "stack".
* It becomes quite hard for an AI to plan coordinated attacks when the
ETA of units is not known. A human player can easily improvise, an AI
player cannot. For example, if the offensive units get there faster than
the defensive units, you have a problem. This can happen with all of
best-case, average-case and worst-case pf methods.
AGAINST:
1. Not civ2 compatible <- this smells of fundamentalist and anyway civ3
have ditched the random moves.
2. Upsets game balance <- not by much, especially if we use mixed model
with threshold 1/2. And there are other way to restore game balance.
- [Freeciv-Dev] (PR#4387) Suggestion for deterministic moves,
Gregory Berkolaiko <=
|
|