[Freeciv-Dev] New alliances (PR#8394)
[Top] [All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: |
undisclosed-recipients: ; |
Subject: |
[Freeciv-Dev] New alliances (PR#8394) |
From: |
"Per I. Mathisen" <per@xxxxxxxxxxx> |
Date: |
Tue, 13 Apr 2004 13:02:29 -0700 |
Reply-to: |
rt@xxxxxxxxxxx |
<URL: http://rt.freeciv.org/Ticket/Display.html?id=8394 >
IN SHORT:
Now alliances are relationships between two players. With this patch,
alliances become named organizations with leaders and rules of engagement.
WHY:
- it is better and much more fun
- generalizes the 'alliance leader' concept in the AI diplomacy
code and makes it available for human players
- solves all the nightmarish problems with fragmented alliances
and war without the horrible cascading war declaration kludge
RULES CHANGES:
- no longer lose embassies on a player split (read: civil war)
- you lose 50% reputation on breaking a ceasefire, 33% when breaking
a peace treaty and 20% when leaving an alliance
- an alliance is no longer a relation between two players, but an
organization with independent existence
- each alliance has a leader; only the leader can declare war,
accept ceasefire or recruit new members to the alliance
- to join an alliance, you must diplodlg someone who is in an alliance
while not being in one yourself
- you may at any time leave an alliance by creating a new alliance
- if you are the alliance leader, you can remove anyone, including yourself,
from the alliance; if the alliance leader leaves the alliance for any
reason, new leader is whoever with higher score
- you can make any other member of the alliance the leader instead
if you choose
- making contact with one member of an alliance gives you contact with
all members of the team (for easy contact with alliance leader)
- when you make teams in pregame, you go into "team mode" (game.team_mode),
and you can use the team research feature; this feature is otherwise
not available (as before)
- 'set diplomacy' server option now limits diplomacy betweeen teams;
by default it allows full diplomacy (I am unsure of the wisdom of this
as opposed to checking game.team_mode and just banning cross-team
diplomacy when in "team mode")
TECHNICAL NOTES:
- alliances are stored in the team code, it was just perfect for this use
- two new menu options in gtk2 client: new alliance, remove player from
alliance
- two new packets: add and remove player from team
- mandatory capability (no way around it)
- simplified a lot of AI diplomacy code (no longer need to kludge in
the alliance leader concept in AI code, since we now have it in the
main code)
- savegame compatibility: all alliances and teams in older savegames
are turned into peace treaties; basically no way to properly
reconstruct old style alliances into new ones
- the patch contains some rather convoluted and complicated game
logic, so I need someone to review it
- contains the draw patch posted earlier
TODO (later patches)
- optional server option that you cannot join an alliance once it
represents more than N% of the game's total score
- AI should consider the love/hate and war desire of its team members
when declaring war and peace (ie consult its allies on matters of
war and peace)
- the pacts in diplodlg should be grayed out when not usable
(not really related to this patch but really ought to be done)
- more AI awareness of alliances in general
- find bugs, quash bugs; remove some debug code
You need to run ./generate_packets to use this patch.
Comments and playtesting _most_ welcome.
- Per
alliances1d.diff.gz
Description: application/gunzip
- [Freeciv-Dev] New alliances (PR#8394),
Per I. Mathisen <=
- [Freeciv-Dev] Re: New alliances (PR#8394), Per I. Mathisen, 2004/04/13
- [Freeciv-Dev] Re: New alliances (PR#8394), Jason Short, 2004/04/13
- [Freeciv-Dev] Re: New alliances (PR#8394), andrearo@xxxxxxxxxxxx, 2004/04/13
- [Freeciv-Dev] Re: New alliances (PR#8394), Per I. Mathisen, 2004/04/13
- [Freeciv-Dev] Re: New alliances (PR#8394), Per I. Mathisen, 2004/04/13
- [Freeciv-Dev] Re: New alliances (PR#8394), LoboGris, 2004/04/13
- [Freeciv-Dev] Re: New alliances (PR#8394), Per I. Mathisen, 2004/04/14
- [Freeciv-Dev] Re: New alliances (PR#8394), LoboGris, 2004/04/14
- [Freeciv-Dev] Re: New alliances (PR#8394), rwetmore@xxxxxxxxxxxx, 2004/04/14
- [Freeciv-Dev] Re: New alliances (PR#8394), Per I. Mathisen, 2004/04/14
|
|