[Freeciv-Dev] autosetlers (PR#378)
[Top] [All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
Full_Name: Goswin Brederlow
Version: cvs-23.05
Distribution: Built from source
Client: Gtk+
OS: Debian Linux-Alpha
Submission from: (NULL) (134.2.226.143)
When one builds a new city, many/all autosetler will go off on a wilde
chase for those valuable new squares to build road and irrigation,
resulting in far to many settlers in one place and settlers running long
distances.
First it would be nice (as an option) to tell an autosetler to build a
road/railroad, whenever its on a tile without one. If one autosetler
crosses a tile, another will probably follow, so a road would be a good
thing there.
Second I would like each tile to know whether, which and when an
autosetler is goind to improve it. A simple map with 1-4 unit pointer/tile
should be fine. When an autosetler seeks a tile to improve, he should then
never go to a tile that will be improved already at the time its there.
So for each tile it looks up the units already assigned to it (just looking
in the map) and compares how long they take with how long it takes.
If the improvement it wants to build will allready be done by the time
it would reache the tile, it should ignore that tile, otherwise it enters
itself into the map.
The number of unitpointer per tile should be at least 2 and doesn't need
to be more than 4 I think. 2 because you can build a road and irrigate
at the same time, or two units can build a mine together and such.
4 because 2 units for mineing a mountain and 2 for the railroad should be
more than enough attention for one tile. One could make it a runtime option
per player, so that one could see the difference effects it has on the
quality of the ai.
The Memory used would be
width * height * max_num_pointer = 320000 Kb for 200x100 Map with 4 pointer
so that wouldn't hurd to much.
May the Source be with you.
Goswin
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Freeciv-Dev] autosetlers (PR#378),
goswin . brederlow <=
|
|