Complete.Org: Mailing Lists: Archives: freeciv-dev: March 2000:
[Freeciv-Dev] Re: War/Peace
Home

[Freeciv-Dev] Re: War/Peace

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: Arkadiusz Danilecki <szopen@xxxxxxxxxxxxxxxxxxxx>, freeciv-dev@xxxxxxxxxxx
Subject: [Freeciv-Dev] Re: War/Peace
From: Jeff Mallatt <jjm@xxxxxxxxxxxx>
Date: Tue, 07 Mar 2000 11:27:34 -0500

At 2000/03/07 08:29 , Arkadiusz Danilecki wrote:
>       I want to hear your opinion about few things before i will start
>to change code. At the end of this letter there is alos a list of things
>which will need to be changed if we introduce war/peace concept.

There is a very complete description of the Civ2 Diplomacy model in the
Civ2 manual.

>in struct player i would add following fields (names does not matter now)
>
>       int war_peace;
>       /* (the same way as embassy - 0 at n position means war
>          with n, 1 means peace) */
>       char *state; 
>       /* i am not sure about this; idea is it will be game.nplayers size
>array with enum from set ALLY, NON_AGGRESIVE_PACT, FRIEND, NEUTRAL,
>ENEMY or similar. it is somewhat redundant with other fields; it's future
>use is for advanced diplomacy between players - like alliance, formal
>non-aggresive parts, etc.*/

These two seem somewhat redundant.  And, war_peace is not expressive
enough.  In Civ2 there are five diplomatic states: Alliance, Peace,
Neutrality, Cease Fire, War.  These seem like a reasonable set to implement.

Putting these states in each player allows for, e.g., player A to view
player B as Neutral, while player B views player A as War.  This is
perfectly okay (in fact, I believe Civ2 worked this way), but needs to be
considered during coding.

>       char *reputation;
>       /* it reflect our attitude to other civilisations. 0 means we hate
>them and want them all die. 255 means we love them want to be in eternal
>friendship. */

Reputation is how *other* civilizations view *you*.  It probably should be
a single value that factors into other civ's actions towards you (like in
Civ2).

If you want to add something that represents how you view other players,
maybe call it "attitude" -- just like in your comment.

>       char pacifism;
>       /* this is additional proposition. it is global attitude for war
>in our civilisation. rationale below */

So, in game terms, this would affect what your Senate does, right?  Higher
pacifism would lead to more Senate intervention.

>Changes needed for first glance:
>
>1) score. Additional pts for peace periods? Sometimes we forgot that in
>civ should be three ways of winning: wipe all civilisations, reach alpha
>centauri, _or_ having bigger score at the end of game.

Civ2 included the number of turns of "world peace" in your score, but
"world peace" was not well defined (at least, I never figured it out).

Freeciv is a little different.  Maybe "peace" should mean that you are at
peace with all other civs, whether or not they are at peace with you
(otherwise, the civ with the best military just declares war on everyone,
and then nobody else could get the peace bonus).

>6) what about diplomat actions? i can;t remember how it was in paycivs.

Some diplomat actions were like attacks, in that you couldn't do them in
certain diplomatic states.  Also, some diplomat actions affected your
reputation.

Again, this is all well described in the Civ2 manual.

>8) when someone propose you peace, and you don;t agree, you can be
>overruled by senate too. i have no idea how to do it with using treaty
>dialog.

I'm not sure what you meant here, but all things like Senate intervention
should be decided by the server.

>9) can't make peace with barbarians, you always at war with them

Basically, yes.  But, maybe it's really a special case.  For example, being
at war with barbarians may not affect your "peace with everybody" bonus.

jjm




[Prev in Thread] Current Thread [Next in Thread]