Complete.Org: Mailing Lists: Archives: freeciv: September 2003:
[Freeciv] Re: default production
Home

[Freeciv] Re: default production

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: rms@xxxxxxx
Cc: "Per I. Mathisen" <per@xxxxxxxxxxx>, freeciv@xxxxxxxxxxx
Subject: [Freeciv] Re: default production
From: Ross Wetmore <rwetmore@xxxxxxxxxxxx>
Date: Tue, 09 Sep 2003 23:09:15 -0400

For my first few cities, I almost always build a defensive unit, then a
settler. Which defensive unit depends on the production available for the
first three workers. The goal is to build the settler on the turn the city
hits 20 food as a size two city (later 30 as a size three city, etc). This
maximizes production during the slow growth period when the settler eats
city food and either has not planted itself, or irrigated its food cost.
Cities with high food and low production *may* skip the defensive unit if
one is not needed, or can be created elsewhere. These cities are usually
turned into baby factories - steady settler production with improvements
most often being bought as needed, rather than built.

The first defensive unit explores as much as it can in the local area, and
in particular snaps up huts. When I have 2 or 3 cities, the weakest defender
(or a hut unit - hut units replace the need to build defensive units unless
they are "freebies") will usually be sent further afield. The assumption
is that at least one of the early cities is positionally protected enough
to be reachable in time from existing units, or one generated by a change
in production under an emergency.

After about 3 cities, it is usually more advantageous to send existing units
along with the settler and build replacement units where most suitable. At
this point, I often have a mix of defensive and attack units with at least
one more unit in total than cities, so no city needs to be left completely
undefended for more than a turn or so as units are shifted to cover. By this
point most cities need at least one unit to hold down peasant revolts as well.

Once I have my barracks city, it builds all units except in emergencies. It
is selected for the highest production, and typically grows at only 1 food
or stagnates at higher sizes until I am ready for the republic style vertical
growth spurt, i.e. growth and settler production are of tertiary import, with
improvements being built when units are not needed. There is usually about
one barracks city for every 3-4 cities, more in a state of heavy warfare
since the one turn unit repair can be critical in defensive tactics.

There are a number of fairly easy to code rules in the above. But note, this
is a "republic" strategy where the goal is vertical development at its most
rapid pace. It aims for a fairly compact/defensible civ of about 5-6 cities
at size 3 or so about the time it can enter the republic growth spurt. Major
expansion/conquest occurs after this stage with the core cities supplying all
units and most of the improvements (through purchase). City production/use is
highly optimized to the terrain, and balance is achieved at the civ vs city
level. The strategy also evolves with several stages in which some rules may
change. Some of these aspects are probably beyond the current coding level.
But growth at this point blows away any other strategy - the key is usually
just to get here before a neighbouring Attila overruns your defence.

Cheers,
RossW
=====

Richard Stallman wrote:
>     Before I get contact with any other civilization, I usually always build
>     settlers first, and the first combat unit is an annoyance, but once I
>     border a hostile civ, building a defensive unit is first on the list of
>     priorities.
> 
> Except early in the game, I usually send a defensive unit (built in a
> city with a barracks) along with the settlers.  It is safer, and seems
> more efficient, so that the new city can use its limited production to
> start building the improvements it needs to have.  Is that not the
> best strategy?



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