[Freeciv-Dev] Re: Diplomacy
[Top] [All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
Per Inge Mathisen wrote:
The freeciv diplomacy model is an unreliable hack.
Problem #1: The diplomacy dialog is a pop-up. This is bad in itself, as
pop-ups hide the information beneath and steal attention. In Freeciv
multiplayer, anything that covers the mapview means lower reaction-time
when the enemy is attacking. The enemy can use this, opening a diplomacy
popup on the enemy when he is attacking, to gain an upper hand. The reason
this is not a big problem today is that the popup itself is very small can
easily be moved aside and dealt with when appropriate. Remove the
assumption that the diplomacy dialog is a small, moveable window, and this
becomes a huge problem. Say we, like, IIRC, all the other civ-games, want
to have a fullscreen diplomacy screen in gui-fs...
Alternating unit movement may be the answer.
A full-screen diplomacy dialog or any form of popup is fine, but doesn't
work in real-time.
Problem #2: We cannot assume that the player who receives a request over
the diplomacy dialog has time to answer in the same turn. Timeout could
kick in or the player has already pressed 'turn end' and is just waiting
for other players to do the same. This means the opposite end can execute
two full turns before we get a reply.
So we add default cases for such a situation.
Example: If the AI wants to object to a player moving his forces into the
AI's borders, it can only declare war in the third turn - which probably
renders the idea of objecting in the first place pretty moot. If it was a
sneak attack, the other player got two full turns to move his forces into
position.
So change the rules to allow declaring war in the 2nd turn. It is,
after all, the invader's fault that they're in your territory.
Problem #3: Any diplomatic offer and acceptance has to take into account
that the player can change things after we have made the offer or our
acceptance (in the same turn or later turns).
This is unavoidable in real-time.
There's a reason real-time games have simpler diplomacy models. But
freeciv is fundamentally not a real-time game.
Problem #4: We have take into account that our AI messages (those *King
Knut(AI)* Blah blah blah), are simply not read because they are drowned in
server spam. So we have to repeat them a few times before we can take
action. This is annoying to the player if he did read it, annoying if he
never does, and a fine opportunity to play the AI for a fool since it has
to wait so long. Not to mention that it is a pain to write the ugly AI
code to do it.
If the player doesn't read them they get what's coming to them. However
some messages should be advanced into full-blown events that the player
can respond to (and can send in return).
jason
|
|