Re: [Freeciv-Dev] (PR#37592) Project directions

2007-03-06 Thread Peter Schaefer

http://bugs.freeciv.org/Ticket/Display.html?id=37592 >

On 3/5/07, (Eddie_Anderson) <[EMAIL PROTECTED]> wrote:
>
> http://bugs.freeciv.org/Ticket/Display.html?id=37592 >
>
> Since this discussion last summer, I've been thinking some more
> about what Freeciv could be.  I've reached a few tentative
> conclusions.  Some of the changes are simple; some are far-reaching.
>
> I've already done some work (on my own copy of Freeciv) to
> implement some of these ideas, but it has been several months since
> I last worked on it.  So I figured that I would publish these ideas
> to see if anyone else was interested in them.
>
...
> Here are the ideas:
>
> 1) Add a new victory condition to Freeciv that is based on points.
>
...
>I propose that a fourth victory condition be added to Freeciv:
>
>  d) The first player to X points wins.
>
>
>One of the biggest advantages of this is that it makes
 >Freeciv games scalable.  E.g. if you want a short game, play to
>500 points; if you want a longer game, play 2000 points; etc.

It is an interesting idea, but using a lower number would make
many games end before any contact is made, so the point limit
would have to be around the equivalent of two islands with
fully built up cities plus 80 technologies.

>Another potential advantage is that the AI can be programmed
>to focus on accumulating points rather than trying to engineer
>a conquest.  Presumably the AI can be programmed to compare
>numbers more effectively than it can be programmed to build and
>move units.

This won't help. AI is not that simple.

> 2) Award points for things besides WoWs and techs.
>
..
>  a) Award points for firsts like "50 points for the first player
> to get two size 3 cities".
>
> There could be multiple tiers.  (E.g. size 3 cites, size 5
> cities, size 8 cities, etc.)   There could also be multiple
> bonuses at each tier.  E.g. There could be two bonuses for
> size 3:
>   .a bonus for the first civ with *one* size 3 city and
>   .a separate bonus for the first civ with two size 3 cities
>- and the civ that wins one bonus on that tier is
>ineligible to win the other.

This sounds like rules for a boardgame, not a computer game. You
 already receive points for your population. Players already hate
 the discrete advantages gained by players who complete wonders,
 they would surely hate this too.

>  b) Award 1 point on every turn for each surplus happy citizen
>  c) Award points on every turn to the player who has the largest
> city in the game.
>  d) others


>a) Reduce the government corruption penalty for Despotism and
>   Anarchy to 10%.
>
>   Both Despotism and Anarchy impose penalties at the tile level.
>   For tiles like fish, that represents a 33% penalty of its food
>   production.  I don't understand why there is an additional 37%
>   penalty (plus a distance penalty) on top of that.

Despotism is not meant to be a preferred government, just
research the Republic. Despotism reduces upkeep for units, so it also
offers an advantage over the republic in exchange.

>b) Revise the terrain improvement costs.
>
...
>c) Eliminate Rapture growth
>
..
 You can use the server settings "rapturedelay" to change that.

>   This has been discussed before.  Rapture Growth makes
>   Granaries and Pyramids almost useless.  Plus, (I assume that)
>   teaching the AI to do Rapture Growth efficiently (with many
>   cities) is difficult.
>
>d) Eliminate unlimited movement on railroads.
>
...
>e) Normalize the effect of most happiness buildings and effects
>   (all except martial law?).
...
This takes the edge off the Hanging Gardens and makes that
wonder even less usefull in comparision.

>f) For each civ, only its top 3 cities count.
...
This would make it useless for the player to conquer opponents.
Players already prefer sitting on cozy islands on their own,
this rule would make it worse.

>g) Use PF distances for calculating the distance-based corruption
>   and waste penalties.
>
>   I've experimented with this and it works.  The code was copied
>   from Per's "Wonder City" code and I don't understand all of
>   it.  But when you build roads, it *does* reduce the losses due
>   to distance from the capital.

Very interesting idea, but how does it affect server load if
you have 20+ cities on one continent or 100+ cities in the game?

>h) Eliminate ZOC effects caused by units with 0 offense (e.g.
>   Explorers, Diplomats, Caravans).
...
I fully agree to this.

>i) Eliminate trade routes established by caravan.
>
>   Caravans will still be used for building WoWs.  But the entire
>   trade route system (3 routes per city, caravan has to find a
>   path to the target city, then both citi

Re: [Freeciv-Dev] (PR#37634) [Patch] Fixes to non-air units with fuel

2007-03-06 Thread Marko Lindqvist

http://bugs.freeciv.org/Ticket/Display.html?id=37634 >

On 3/6/07, Marko Lindqvist <[EMAIL PROTECTED]> wrote:
>
>  This fixes some problems with air units *without* fuel and non-air
> units *with* fuel.

 - One more case found and fixed: danger in pathfinding


 - ML

diff -Nurd -X.diff_ignore freeciv/common/aicore/pf_tools.c freeciv/common/aicore/pf_tools.c
--- freeciv/common/aicore/pf_tools.c	2007-03-06 03:34:32.0 +0200
+++ freeciv/common/aicore/pf_tools.c	2007-03-06 16:13:02.0 +0200
@@ -542,9 +542,9 @@
 /
   Position-dangerous callback for air units.
 /
-static bool air_is_pos_dangerous(const struct tile *ptile,
- enum known_type known,
- struct pf_parameter *param)
+static bool is_pos_dangerous_fuel(const struct tile *ptile,
+  enum known_type known,
+  struct pf_parameter *param)
 {
   struct base_type *pbase;
 
@@ -612,12 +612,6 @@
 break;
   case AIR_MOVING:
 parameter->get_MC = single_airmove;
-if (unit_type(punit)->fuel > 0) {
-  parameter->is_pos_dangerous = air_is_pos_dangerous;
-} else {
-  parameter->is_pos_dangerous = NULL;
-}
-parameter->turn_mode = TM_WORST_TIME;
 break;
   case HELI_MOVING:
 /* Helicoptors are treated similarly to airplanes. */
@@ -629,9 +623,10 @@
   }
 
   if (!parameter->is_pos_dangerous
-  && is_losing_hp(punit)) {
-/* Unit loses hitpoints each turn when not in city/safe base/carrier */
-parameter->is_pos_dangerous = air_is_pos_dangerous;
+  && (unit_type(punit)->fuel > 0 || is_losing_hp(punit))) {
+/* Unit loses hitpoints each turn when not in city/safe base/carrier
+ * or needs fuel */
+parameter->is_pos_dangerous = is_pos_dangerous_fuel;
 parameter->turn_mode = TM_WORST_TIME;
   }
 
diff -Nurd -X.diff_ignore freeciv/common/unit.c freeciv/common/unit.c
--- freeciv/common/unit.c	2007-03-06 03:34:32.0 +0200
+++ freeciv/common/unit.c	2007-03-06 16:09:20.0 +0200
@@ -992,7 +992,7 @@
   switch(punit->activity) {
case ACTIVITY_IDLE:
  moves_str = _("Moves");
- if (is_air_unit(punit) && unit_type(punit)->fuel > 0) {
+ if (unit_type(punit)->fuel) {
int rate,f;
rate=unit_type(punit)->move_rate/SINGLE_MOVE;
f=((punit->fuel)-1);
diff -Nurd -X.diff_ignore freeciv/server/unittools.c freeciv/server/unittools.c
--- freeciv/server/unittools.c	2007-03-06 03:34:32.0 +0200
+++ freeciv/server/unittools.c	2007-03-06 16:09:20.0 +0200
@@ -348,7 +348,7 @@
 }
 
 /* 4) Rescue planes if needed */
-if (is_air_unit(punit)) {
+if (unit_type(punit)->fuel) {
   /* Shall we emergency return home on the last vapors? */
 
   /* I think this is strongly against the spirit of client goto.
@@ -441,8 +441,7 @@
 
   /* 7) Check if there are air units without fuel */
   unit_list_iterate_safe(pplayer->units, punit) {
-if (is_air_unit(punit) && punit->fuel <= 0
-&& unit_type(punit)->fuel > 0) {
+if (punit->fuel <= 0 && unit_type(punit)->fuel) {
   notify_player(pplayer, punit->tile, E_UNIT_LOST, 
 		   _("Your %s has run out of fuel."),
 		   unit_name(punit->type));
___
Freeciv-dev mailing list
Freeciv-dev@gna.org
https://mail.gna.org/listinfo/freeciv-dev


Re: [Freeciv-Dev] (PR#37592) Project directions

2007-03-06 Thread Per I. Mathisen

http://bugs.freeciv.org/Ticket/Display.html?id=37592 >

On Mon, 5 Mar 2007, (Eddie_Anderson) wrote:
>Since this discussion last summer, I've been thinking some more
> about what Freeciv could be.  I've reached a few tentative
> conclusions.  Some of the changes are simple; some are far-reaching.

Thanks for opening up this topic again. I will soon have more time to look 
at such ideas.

> 1) Add a new victory condition to Freeciv that is based on points.
...
>   I propose that a fourth victory condition be added to Freeciv:
>
> d) The first player to X points wins.
...
>   One of the biggest advantages of this is that it makes
>   Freeciv games scalable.  E.g. if you want a short game, play to
>   500 points; if you want a longer game, play 2000 points; etc.

I have been thinking along these lines myself, inspired a great deal by 
the way the board game Settlers of Catan manages the victory condition. 
However, I think the number of points should be very low, preferably 10 by 
default, to make the number seem more meaningful and close, and it should 
in most cases be possible to steal points from opponents to create 
counter-strategies (just like in Settlers of Catan).

To quote from a design document I never made public (some parts may not 
apply):

"When you start the game, the world of mankind is in its infancy. We have 
already spread across the whole planet, but only beginning to reap the 
benefits of true civilization. The first cities take form, and with the 
crowding of people, ideas about how we should live take on a new urgency. 
Can your chosen ideas for the best way of life stand the test of time? The 
winner of the game is the civilization whose ideas have become 
irresistible through the overwhelming success of the civilization that 
espouses them, be it through peaceful or military means.

The game offers to end when one player has a given number of victory 
points, agreed in advance. The potentially victorious player can choose to 
end the game at this point, or at any other point that he/she/it still 
satisfies this condition, or until all other players are vanquished.

The following may give victory points (and other effects) in default 
ruleset:

 * Largest space station, 1 point.
 * Longest continuous road, 1 point.
 * Longest continuous wall, 1 point. Only need to pay half as much to
   barbarians to appease them.
 * Each defeated enemy civilization, 1 point.
 * Defeated barbarians, 1 point each time.
 * Largest palace, 1 point. There are several versions of the Palace
   building, in different sizes, just like Settlers of Catan.

 * First circumnavigation, 1 point.
 * First to philosophy, 1 point.
 * First to cure for cancer, 1 point.
 * Possession of Eiffel Tower, 1 point.
 * Greatest Expedition, 1 point. Magellan's < Darwin's < Apollo
   Project.

An early victory with five victory points is possible by getting for 
example longest road, defeating one civilization, getting first to 
philosophy, producing Magellan's and building the largest palace."

This gives a natural way of doing shorter games, without having an 
entirely artificial end year and the artificial and very hard to sabotage 
game scores as a way of appointing a winner.

>   Another potential advantage is that the AI can be programmed
>   to focus on accumulating points rather than trying to engineer
>   a conquest.

It would certainly give the AI a shorter future horizon to focus on, which 
could be a good thing, and war in the game would become more a means to 
various ends (primarily to sabotage victory points) rather than all-out 
conquest, although the latter would still be possible.

>   a) Reduce the government corruption penalty for Despotism and
>  Anarchy to 10%.
>
>  Both Despotism and Anarchy impose penalties at the tile level.
>  For tiles like fish, that represents a 33% penalty of its food
>  production.  I don't understand why there is an additional 37%
>  penalty (plus a distance penalty) on top of that.

I agree that the recent corruption changes may have penalized the early 
governments a little bit too much.

>   c) Eliminate Rapture growth

I agree completely.

>   d) Eliminate unlimited movement on railroads.

I would be in favour, but it is not something I would consider important.

> Plus, (I assume that) teaching the AI to use unlimited movement wisely 
> is difficult.

Not at all.

>   e) Normalize the effect of most happiness buildings and effects
>  (all except martial law?).
>
>  E.g. If a temple can turn an unhappy citizen into a content
>  one, then maybe that temple should also be able to turn a
>  content citizen into a happy one.  The way it works now is
>  somewhat counter-intuitive.

If you did that, you could just as well remove all the unhappy/happy 
effects, and replace them with buildings that produced luxuries. The 
non-transitiveness (if I can call it that) of happy-

Re: [Freeciv-Dev] (PR#37592) Project directions

2007-03-06 Thread (Eddie_Anderson)

http://bugs.freeciv.org/Ticket/Display.html?id=37592 >

"Peter Schaefer" <[EMAIL PROTECTED]> wrote:
>
>http://bugs.freeciv.org/Ticket/Display.html?id=37592 >
>
>On 3/5/07, (Eddie_Anderson) <[EMAIL PROTECTED]> wrote:
> >Freeciv games scalable.  E.g. if you want a short game, play to
>>500 points; if you want a longer game, play 2000 points; etc.
>
>It is an interesting idea, but using a lower number would make
>many games end before any contact is made,

If that is a problem for players, then they could choose a
larger total.  The implementation could be similar to "endyear" -
the players specify whatever value that they want at the beginning
of the game.

Personally, I think a no contact game might be interesting.  It
would be purely a race to see who could build enough WoWs, etc. to
reach the target total.

>so the point limit
>would have to be around the equivalent of two islands with
>fully built up cities plus 80 technologies.

I don't remember the current point values for techs (5?) and
WoWs (20?) so I can't comment on your calculation.  As I said
elsewhere, the point values for things (as well as the victory
threshhold) can easily be tweaked to balance the game to one's
taste.

   That said, I think that the per turn points awards will add up
quickly enough so that reaching the lower threshholds won't be a
problem.  Consider this:  With an average of only two happy citizens
you would accumulate 200 points by 1AD.  Add some techs, a WoW,
and maybe a few tier bonuses, and getting to 500 points won't take
much longer.

>> 2) Award points for things besides WoWs and techs.

>This sounds like rules for a boardgame, not a computer game. You
> already receive points for your population. Players already hate
> the discrete advantages gained by players who complete wonders,
> they would surely hate this too.

The purpose is to provide alternative paths to a goal.  Going
for "per turn" points (happy citizens, largest city) is the "slow
and steady" approach.  Buildings WoWs or going for tier bonuses is
the "big score" approach.

The player can choose whichever approach suits him/her.  But if
the game is balanced right, then the characteristics of your cities
will determine which approach is the best fit for a given game.

>>a) Reduce the government corruption penalty for Despotism and
>>   Anarchy to 10%.
>>
>>   Both Despotism and Anarchy impose penalties at the tile level.
>>   For tiles like fish, that represents a 33% penalty of its food
>>   production.  I don't understand why there is an additional 37%
>>   penalty (plus a distance penalty) on top of that.

>Despotism is not meant to be a preferred government, just

Agreed.  And there are severe penalties ( > 50% for shields
and trade in many cases) for operating under it.

>research the Republic. Despotism reduces upkeep for units, so it also
>offers an advantage over the republic in exchange.

IME Despotism's advantages are preferable to Republic's
advantages only in a very limited set of circumstances.

Are you saying that changing one's type of government should be
the *only* way to escape the penalties of Despotism?  If so, then
we'll have to disagree.

My problem with relying on the "changing government type" path
is that it depends exclusively on research.  Consequently, in the
early stages of the game, everyone is doing the same thing
(maximizing science output) to get to the same goal (Republic).

Why not just start the game with everyone having Republic as
their government type?  Do you see what I mean?

>>c) Eliminate Rapture growth
> You can use the server settings "rapturedelay" to change that.

Indeed.  I already do.  But I've noticed that the AI civs seem
to spend a lot on luxuries.  So I wonder if the AI is still trying
to induce rapture growth despite the rapturedelay being set to 99.


>>e) Normalize the effect of most happiness buildings and effects
>>   (all except martial law?).
>...
>This takes the edge off the Hanging Gardens and makes that
>wonder even less usefull in comparision.

OK.  How about if we adjust their build costs to make their
costs more consistently proportional to their benefits?

>>f) For each civ, only its top 3 cities count.
>...
>This would make it useless for the player to conquer opponents.

Do you mean conquering cities or entire civs?  I can see how
conquering an opponent's smaller cities would be pointless.  But
taking a city away from another civ that was a big points earner for
him could help your cause a lot.

>Players already prefer sitting on cozy islands on their own,
>this rule would make it worse.

Isn't this a starting position/mapgen problem?  (i.e. some
players get an island to themselves while others have to share/fight
over one.)  Or do you mean something else?

>>g) Use PF distances for calculating the distance-based corruption
>>   and waste pena

Re: [Freeciv-Dev] (PR#37592) Project directions

2007-03-06 Thread Daniel Markstedt

http://bugs.freeciv.org/Ticket/Display.html?id=37592 >

On 3/7/07, Per I. Mathisen <[EMAIL PROTECTED]> wrote:
>
> http://bugs.freeciv.org/Ticket/Display.html?id=37592 >
>
> On Mon, 5 Mar 2007, (Eddie_Anderson) wrote:
> >Since this discussion last summer, I've been thinking some more
> > about what Freeciv could be.  I've reached a few tentative
> > conclusions.  Some of the changes are simple; some are far-reaching.
>
> Thanks for opening up this topic again. I will soon have more time to look
> at such ideas.
>
> > 1) Add a new victory condition to Freeciv that is based on points.
> ...
> >   I propose that a fourth victory condition be added to Freeciv:
> >
> > d) The first player to X points wins.
> ...
> >   One of the biggest advantages of this is that it makes
> >   Freeciv games scalable.  E.g. if you want a short game, play to
> >   500 points; if you want a longer game, play 2000 points; etc.
>
> I have been thinking along these lines myself, inspired a great deal by
> the way the board game Settlers of Catan manages the victory condition.
> However, I think the number of points should be very low, preferably 10 by
> default, to make the number seem more meaningful and close, and it should
> in most cases be possible to steal points from opponents to create
> counter-strategies (just like in Settlers of Catan).
>

I'm for 'Settlers' style victory points, as I remember loving the
VP-snatching dynamic of that game. Even when a game seemed settled, a
skilled player could always come out of the blue with a deviously
devised master plan and grab the victory. This is a dynamic that is
sorely missing from Freeciv, making most games overly predictable.

Another game I think has a good victory conditions system is Steve
Jackson Games' card game Illuminati: Before the game starts, each
player is assigned an individual victory condition that is kept secret
from the other players. In this game, a successful tactic involves
discreetly striving for your victory condition not to give away what
it is to your fellow players. Just like in Settlers, it is very
possible to effectively counter a player's moves, which gives an
unusual tension to a game of Illuminati.

To translate this into Freeciv gameplay, you select a secret 'trait'
for yourself during pregame that modify how VPs are accumulated; e.g.:

  * Expansionist: x2 VP from having the largest territory/most cities
  * Builder: x2 VP from owning key WoWs/longest continuous road
  * Scientific: x2 VP from reaching key techs first
  * Conqueror: x2 VP from vanquishing other civs/barbs

A trait will be automatically selected for AIs. An important part of
the game would be to figure out your opponents' traits, while not
exposing your own. I would be a game of deception, where you can give
the impression of working hard to grab one key VP to fool you
opponents into spending resources to counter that, while your true
goal is something else.

> (...)
>
> The following may give victory points (and other effects) in default
> ruleset:
>
>  * Largest space station, 1 point.
>  * Longest continuous road, 1 point.
>  * Longest continuous wall, 1 point. Only need to pay half as much to
>barbarians to appease them.
>  * Each defeated enemy civilization, 1 point.
>  * Defeated barbarians, 1 point each time.
>  * Largest palace, 1 point. There are several versions of the Palace
>building, in different sizes, just like Settlers of Catan.
>
>  * First circumnavigation, 1 point.
>  * First to philosophy, 1 point.
>  * First to cure for cancer, 1 point.
>  * Possession of Eiffel Tower, 1 point.
>  * Greatest Expedition, 1 point. Magellan's < Darwin's < Apollo
>Project.
>

I like this 'Greatest X' concept; it should be expanded on:

  * Greatest Construction: Colossus < Pyramids < Eiffel Tower
  * Greatest Scientific Achievement: Great Library < Leonardo's
Workshop < Cure For Cancer
  * Greatest Leisure: Hanging Gardens < JS Bach's Cathedral <
Shakespeare's Theatre
  * etc.

Maybe all WoWs could be sorted into these kind of 'categories' based
on their theme and/or effect and have their graphics color-coded or
something like that.

 ~Daniel



___
Freeciv-dev mailing list
Freeciv-dev@gna.org
https://mail.gna.org/listinfo/freeciv-dev


[Freeciv-Dev] (PR#37692) Fedora+ggz

2007-03-06 Thread Daniil Ivanov

http://bugs.freeciv.org/Ticket/Display.html?id=37692 >

Hi,

 It's happened so that I'm pitiful Fedora Core user. There is no support
 for GGZ under Fedore and unlikely will be. Just because.
 I managed to produce ggz packages, but...
 Do you know an actual reason, why ggz.m4 searches for everything
 in /usr/local ? Is it my fault or GGZ supposed to be in /usr/local ?

Thanks, Daniil.



___
Freeciv-dev mailing list
Freeciv-dev@gna.org
https://mail.gna.org/listinfo/freeciv-dev


[Freeciv-Dev] Re: (PR#37692) AutoReply: Fedora+ggz

2007-03-06 Thread Daniil Ivanov

http://bugs.freeciv.org/Ticket/Display.html?id=37692 >

Nasty thing that it tries to modify /etc/ggz.modules during build
/usr/bin/ggz-config -D --install --modfile=civclient.dsc --force
() Unable to read or write file /etc/ggz.modules: Permission denied
Insufficient permission to install modules

Thanks, Daniil.



___
Freeciv-dev mailing list
Freeciv-dev@gna.org
https://mail.gna.org/listinfo/freeciv-dev