Summary: RFC: Player meta knowledge
Submitted by: sveinung
Submitted on: Fri 06 Sep 2013 04:54:17 PM GMT
Priority: 5 - Normal
Status: Need Info
Assigned to: sveinung
Discussion Lock: Any
The client isn't omniscient. If it was a modified or alternative client could
cheat (by accident or intentionally). When a client evaluates a rule it has to
use the incomplete information it has. Some of that information is always
accurate. Some of it is uncertain but based on reality. Some of it is made up
since the real information simply isn't there. It doesn't always know what is
what. That should change.
This is a huge task. Many different kinds of knowledge are used by the client.
Situations can change the status of one kind of knowledge. Many parts of the
client use knowledge. Those should be reviewed. This has to be done in smaller
I suggest starting by adding a function that tell how certain the result of a
requirement vector on a collection of entities is when seen from the point of
view of pow_player. It has the effect an embassy has on pow_player's knowledge
of tech (flag) requirements hard coded. Perhaps the unseen/fogged/seen tile
should be hard coded as well. When this is done a solution to bug #21105 can
When that is done I suggest moving the meta knowledge to a data file. A data
file don't have to be recompiled. It is easier for non programmers to
contribute to. It will let programs that don't use Freeciv common, like
clients that aren't written in C, use the data. If server side it will also
let a fixed server give an old client improved meta knowledge.
After that more meta knowledge should be added. I'll update my Freeciv
recorder to work with current trunk so its record viewer can be used to spot
what information is sent to the client. Meta knowledge (fixes) should be
requested in the help wanted forum (and reviewed quickly).
In the long run other users of knowledge in the clients should be reviewed in
case problems similar to bug #21105 have appeared. Part of that will come for
free as a side effect of my work on action enablers.
Reply to this item at:
Message sent via/by Gna!
Freeciv-dev mailing list