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

[Freeciv-Dev] War/Peace

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: freeciv-dev@xxxxxxxxxxx
Subject: [Freeciv-Dev] War/Peace
From: Arkadiusz Danilecki <szopen@xxxxxxxxxxxxxxxxxxxx>
Date: Tue, 7 Mar 2000 14:29:21 +0100 (MET)

Hi there!
        
        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.

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.*/
        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. */
        char pacifism;
        /* this is additional proposition. it is global attitude for war
in our civilisation. rationale below */

        If you will attack, if you are at peace, client should display
,,are you sure you want break peace'' dialog. Then if you press ,,yes,
wiped them out'' you decision could be overruled by senate. Senate
decision would be based on victim reputation (this could be implemented
that in despotism, monarchy etc reputation had to be below 255, in
republic below 100, in democracy below 50 or similar (so in modpacks you
could set that in monarchy you have senate also who could overrule your
decision), or only for democracy and republic) or, as i would prefer, on
reputation and level of pacifism. Pacifism would reflect that we don;t
want be at war with anybody, even if we hate them; or we are at war with
three civs so although we hate fourth we don;t want be at war with them.

Now explanation for pacifism : 
        Losses of units, cities, hunger during wars could raise level of
pacifism. That would mean that after long, bloody war people in your
country want stop the war, start the demonstration ,,one two three four,
stop this .@#$ war'' ,,make love not war'' etc. This could count only for
democracies and (less) for republic, so if you had democracy, you had to
play fast wars with minimal own losses - sth like desert storm etc. Loss
of some units (stealth bomber eg.) could not raise pacifism level. So in
democracy you would prefer not use land wars with using vast armies. This
would definitely balance game. 

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.
2) new position in diplomat dialog (propose peace or sth similar)
3) changes in ai so it would be possible to be at peace with ai, ai should
also propose peace if it is ,,civilised'' or if opponent is larger.
4) display ,,are you sure break peace'' dialog in
request_move_unit_direction in client/control.c
5) add can_attack to server/unithand.c and adding one ,,if
(can_attack())'' statement to handle_unit_move_request - 
6) what about diplomat actions? i can;t remember how it was in paycivs.
7) In treaties, add ,,propose peace''
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.
9) can't make peace with barbarians, you always at war with them
10) format of savegames will change a little, because we will store
information about peace, pacifism, reputation (player_save in plrhand.c
11) mess with autoattack, goto etc.

What else?

A.D.Danilecki "szopen"

-- 
You can log off, but you can never leave
        ,,CyberJolly dream'' N.Liedtke
--------------------------------------------------





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