Complete.Org: Mailing Lists: Archives: freeciv-dev: May 2002:
[Freeciv-Dev] Re: patch for NEWS
Home

[Freeciv-Dev] Re: patch for NEWS

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: freeciv-dev@xxxxxxxxxxx
Subject: [Freeciv-Dev] Re: patch for NEWS
From: Davide Pagnin <nightmare@xxxxxxxxxx>
Date: Thu, 23 May 2002 00:36:37 +0200

        Hi All!
I've read the changes.txt file and spotted many relevant changes, that
may deserve to be in the NEWS file.
I've subdivided them into:
- Changes to rulesets
- Server variables
- Game concepts
- Game play
- Gui features
- Miscellaneous
Obviously, many of them are already present in Per's NEWS patch, but
I hope this contribute is useful.

        Ciao, Davide

        
CHANGES TO RULESETS:

Fundamentalism enabled in the civ2 ruleset.

Completely seperate F_CITIES and F_SETTLER units.

Separation of F_ADD_TO_CITY from F_CITIES.

A unit can cost a varying amount of citizens in addition to normal
shields. (popcost)

separate the F_CARAVAN flag into two separate flags:
F_HELP_WONDER and F_TRADE_ROUTE

Allow more than one bonus tech. A bonus tech like "Philosophy" is a
tech which gives another tech as an immediate advance when researched.

Changed building.ruleset so that proper city wall can be built 
even by the player who have an active "Great Wall" wonder.

Setting Communism food cost to 1 in default ruleset (was 2).
Setting Communism food cost to 2 in civ2 ruleset (was 1).

SERVER VARIABLES:

Introduces angry citizen. Introduces a new server parameter that is
set to 0 by default so that old games and players that aren't
interested can ignore completely the new parameter.
Add logic to use the amount of angry citizen. 
Add logic to enable AI the plan with the angry citizen. 
Add display to various clients.
Remember that to see effect of angryness of citizen, it is needed that
parameter of empire_size_inc in government ruleset are set different
of zero.

Reduce trade for small cities. This reduction should help against
smallpox. The behavior is controlled by the server variables
"notradesize" and "fulltradesize".

Introduce new server variable citymindist which will overwrite the
ruleset variable min_dist_bw_cities if set to non-zero. This allows
non-smallpox games without modifying the ruleset.

Added watchtower: a fortress will (virtual) became a watchtower if the
player knowns a technology with the watchtower flag. Such a watchtower
will give units which are on the same tile and belong to this player
an extended vision. The watchtower is currently controlled by two
server variables. These will give a vision of 2 in the default
setting.

Add a new server variable "savepalace" which will rebuild a new palace
for free (like the palace in the initial capital) in a randomly
chosen city if the player lost his capital.

Add the option "tinyisles" to leave tiny (1x1) islands on the map. Add
the option "separatepoles" to allow poles which are connected with a
continent.

GAME CONCEPTS:

Add Fundamentalism form of government. This includes the
implementation of various government flags (G_FANATIC_TROOPS,
G_NO_UNHAPPY_CITIZENS, G_CONVERT_TITHES_TO_MONEY and
G_REDUCED_RESEARCH) and the new unit type flag
F_FANATIC.

New Implementation of trade routes:
- Value of trade route should be double the base amount if the two
cities are on different continents, NOT half the base amount if they
are on the same continent as the original code states.
- The one time gold/science bonus is NOT affected by whether the
cities belong to the same player or whether they are on the same
continent.
- A fudge factor of 3 is applied to the one time bonus to approximate
Civ2 behaviour, although exact emulation is not possible without the
supply and demand system.

Make the way in which the costs for techs are determined more
flexible. From game.ruleset:
*Method of calculating technology costs
   0 - Civ (I|II) style. Every new tech add researchcost to cost of next
tech.
   1 - Cost of technology is (1+num_parents)*researchcost, where
       num_parents == number of requirement for tech, counted
recursively.
   2 - Cost are read from tech.ruleset. Missing costs are generated by
       style 1.
*Technology leak from other civilizations
   0 - No leak
   1 - Tech costs are multiplied by
(num_players-civs_with_tech)/num_players
   2 - Same as 1, but civs_with_tech is only counted from players you
have
       embassy with

Split tech leakage style 1 into two (include/exclude
barbarians). Reorder the leakage styles from the least reduction to
the most reduction. Remove bogus assert in set_invention.

Make the usage of generated bulbs more fair. Bulbs which are leftover
are now added to the next tech and will not be discarded. So the
distribtion of the bulbs doesn't matter anymore.

GAME PLAY:

Add global and nation specific initial techs. Such techs are given to
the players before the game start. The amount is limited to
MAX_NUM_TECH_LIST (currently 10).
Global initial techs are useful for creating scenarios (e.g., modern
warfare) and for testing. Nation-specific initial techs, combined with
a multiply rooted tech tree, can be used to create special
capabilities for specific nations.

Allow more flexible timeouts. This feature is controlled with the
server command "timeoutincrease". See update_timeout() for the
technical details and an explanation of the formula.

Add the ability to structure the city names of the nations based on
the (surrounding) terrain. For this city_name_suggestion now take the
position of the city.
Natural city names code rewritten. Old natural city names ruleset
data backed out, as the new natural city names code links cities
to terrain in a very different way.

Change the way allocation nations are transmitted. Instead of two
32bit ints (allowing 64 nations) the server transmittes now a list of
all yet allocated nations. Nations in this list are identified by a
16bit wide number allowing 2^16 = 65536 nations. 
If a players choice was accepted previously the server sent a packet
where the second integer had the value 0xffff. The server now sends an
empty PACKET_SELECT_NATION_OK packet.

GUI FEATURES:

Added isotrident tileset

Implemented finally the fogging in the iso draw mode

Implement oil mines in isometric mode.

Add support for the back of a fortress. This allows it to draw a full
4 corner fortress.

Change drawing order for isometric view to make specials
visible.

New version of the city dialog for the GTK client. This new version
uses a different layout and also includes a display for the various
happiness stages of the citizen. The worklist dialog was also
completely overhauled. Add a new entry in the help system for the
worklist editor.

Added the happiness dialog to gui-win32

Show the progress of settler activity. This patch implements this for
the GTK client only. An example of the information is "Activity:
Road(1)/Irrigation(4)". Following activities are shown: Pollution,
Road, Mine, Irrigation, Fortress, Railroad, Transform, Airbase,
Fallout.

MISCELLANEOUS:

freeciv/data/scenario iberian-peninsula-136x100-v1.0.sav

Add sound support. See doc/README.sound for the details.

Adds attributes. Attributes are arbitrary data blocks which were saved
in a savegame at the server side and are intended to be used by client
code to save state. The internal structure of an attribute is unknown
to the server, client and the attribute handling code. For more
details see README.attributes and client/attribute.h.

Add the agents infrastructure. From the readme:

  An agent is a piece of code which is responsible for a certain
  area. An agent will be given a specification by the user of the
  agent and a set of objects which the agent can controll (the
  production queue of a city, a city, a unit, a set of units or the
  whole empire). The user can be a human player or another part of the
  code including another agent. There is no extra interaction between
  the user and the agent needed after the agent got its task
  description.

Add the citizen management agent (CMA). From the docu:

  The purpose of this agent is to manage the citizens of a city. The
  caller has to provide a goal which determines in which way the
  citizens are allocated and placed. The agent will also avoid
  disorder. The plan defines a minimal surplus. The agent will try to
  get the required surplus. If there are citizens free after
  allocation of the minimal surplus these citizens will get arranged
  to maximize the sum over base*factor. The base depends upon the
  factor_target.

Add support for extended plural forms. Some languages have more plural
forms than English (which only has two forms: singular and plural). To
allow a translator to translate for example "3 units" correctly the
PL_ macro is introduced. Usage:
 PL_(singular as a string, plural as a string, number of objects as int)
Example:
 PL_("%d unit", "%d units", units)

Change the gettext detection and requirements: libc or libintl have to
provide a working ngettext (GNU gettext 0.10.38 or better for
example). Also required for a version which doesn't include the *.gmo
files is the xgettext program (version 0.10.38 or better) from the GNU
gettext package and the msgfmt program.


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