This is the mail archive of the xconq7@sources.redhat.com mailing list for the Xconq project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Recent Xconq improvements


I have checked in several important improvements to Xconq during the last
few weeks. Most of them are under the hood and affect how the ai (mplayer)
works:

1. The repair and resupply code has been overhauled and partly rewritten.
Most of the bugs that have plagued it over the years are hopefully gone.
The new code is also more efficient. It uses the landsea_regions area
layer, which is precomputed at the start of the game, to figure out if a
particular repair or resupply point is connected by non-hostile terrain to
the unit in need. Operating ranges and several other parameters are now
also calculated more accurately.

What this all means is that a number of problems that we all are familiar
with are gone. No more units running out of fuel and crashing. No more
units stuck in reserve mode trying to repair or resupply in the field even
though they cannot. No more ships trying forever to reach an inland city
for resupply or repair.

I have also made several doctrine changes that improve ai performance.
Units will now use up all their ammo before going back for more.
Furthermore, when they go back to rearm, resupply or repair, they will do
this to 100%.

Units that have ammo or fuel are now also more generous in sharing it
around. They will now give away up to 50% of their supply to a unit in
need. This has a big impact on how carriers work in the standard game.
Previously, planes would get stuck forever on carriers since the latter
would hold on to fuel and ammo instead of sharing it. Now they really work
as mobile airfields.

2. The other major improvement is an overhaul of the ai construction code.
In particular, I have added code that uses the landsea_regions layer to
figure out if it is meaningful to build naval units in a city. Naval units
being built in inland cities, or cities on small lakes, was a big problem
in many games. The new code checks if a city has water access and how big
the body of water is. If it is too small, no naval units are built.

The cutoff value for minimal sea size can be adjusted on a unit type basis.
Here is how it works:

(add city minimal-sea-for-docks 50)
(add town minimal-sea-for-docks 10)

The city will now build naval units if it borders on a sea or lake of at
least 50 cells. The town will build naval units in smaller lakes, of 10 or
more cells. The default value for all units is 30 cells.

3. There have also been a number of interface improvements. The scorekeeper
output now makes more sense. For alliances, the reported score is followed
by the side's own score in parenthesis. Several scorekeepers can now also
be shown in the tcltk interface (this was previously possible only in the
Mac interface). Several bugs in the weather dispaly code have also been
fixed in both interfaces. For more details on these and other changes, see
the ChangeLog.

Hans



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]