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

2007-03-18 Thread (Eddie_Anderson)

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

Per I. Mathisen [EMAIL PROTECTED] wrote:

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

On Mon, 5 Mar 2007, (Eddie_Anderson) wrote:
   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.

I've changed my mind about this one.  Part of the beauty of the
original proposal (IMO) was that it was simple (a one line change in
a ruleset, IIRC).  But I think that I have a better idea now.
Please tell me what you think of it.  Here it is:

Get rid of the per tile penalties for Despotism and Anarchy.

E.g. as it is now, if you put a citizen of a city on a Spice
tile (while your government type is Despotism), then that tile
produces 2 food, 0 shields, and 3 trade (2-0-3).  Yet, under any
other gov't type, that tile would produce 3-0-4.  I propose making
that tile's output 3-0-4 at all times (regardless of your gov't
type).

Here are some of the reasons for eliminating the per tile
penalty:

1) It is a newbie trap.

2) It would remove the need for putting parenthetical values on the
   tile info displays.

3) It would concentrate the waste/corruption penalties in one place
   (the ruleset) which would make it easier to tune those penalties
   in the future.

4) It increases the benefits of choosing good city sites.

If this is implemented, then there are some other things that
may be worth doing too:

1) Restore Whales tiles back to 2-2-3 (Food-Shields-Trade).

   AIUI part of why a Whales tile (at 2-2-3) was disproportionately
   valuable was because most of its production flew under the
   radar of Despotism's per tile penalties.  But with the per tile
   penalties removed, other special tiles would be more competitive
   with the Whales tile's original values.

2) Make Anarchy significantly more wasteful than Despotism.

   Either make Anarchy's waste greater or Despotism's less.  IIRC,
   as it is now, there is little difference between them.  IMO that
   seems counterintuitive.

3) Remove the free food and free shield for city centers.

   This is sort of a newbie trap in reverse.  But it helps some tile
   types and not others - which means that what appears on tile info
   displays is sometimes not true.  FWIW, I implemented this on my
   copy of Freeciv a while ago.  AFAICS there were no ill effects on
   game balance.

What do you think?

-Eddie




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


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

2007-03-18 Thread Randy Kramer

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

On Sunday 18 March 2007 02:02 pm, Peter Schaefer wrote:
 There always will be newbie traps and Im not sure whether it is a good
 idea to remove complexity from the game. After all, you want some
 learning curve.

+1

Randy Kramer



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


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

2007-03-08 Thread (Eddie_Anderson)

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

Per I. Mathisen [EMAIL PROTECTED] wrote:

Good idea.  Many times the designers of European board/card
 games do a good job of creating well balanced games.

Don't forget the Australians! They produce some of the best board games 
there are.

I wasn't aware of that.  But I didn't intend to slight any
particular continent.  :-)  I meant the word European in the sense
that it is (was?) frequently used in rec.games.board.


In a similar vein, I think all possibilities to rush at victory 
conditions should be high risk to opponent's counter-strategies.

However - this depends on other players being able to see what you are 
doing, which is very hard in Freeciv at the moment. There needs to be a 
way to correct that.

As a starting point, how about a scoreboard for each victory
point?  I'm thinking of reports similar to the greatest cities
report, except that they would cover other things.  There could be
a report showing the top 5 contenders for longest road, another
showing the top 5 contenders for largest palace, etc.


 I sympathize with this idea, but I suspect this would be a performance
 killer with the way city production is calculated currently.

I expected that too, but I didn't see much difference.  Granted,
 this was on small maps.  OTOH, my code was pretty crude and it could
 probably be made more efficient by a better programmer than me.

This is made very complicated by the way CM(A) calculates benefits. We 
will need to cache it somehow, or things will get rather ugly. Or things 
will get inaccurate.

IIRC, it turned out to be simpler than I had anticipated.  That's
because it was a one for one replacement of the distance from the
capital.  PF distance was substituted for real map distance.
IIRC, everything else (in the CM(A)) stayed the same.

I would be interested in seeing how you programmed it, though. So please
post a patch, even if it is not pretty ;)

I'm will do that.  I've been working on finding and assembling
the pieces today.

I should warn you that my patches were applied to trunk version
11656.  Further, Benedict Adamson's AI patch (RT#14923?) was applied
to that.  Then my patches were applied on top of that.

That said, I don't remember any overlap between my code and
Adamson's.  But the line number offsets might be substantially
different in some files.

-Eddie



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


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

2007-03-07 Thread (Eddie_Anderson)

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

Per I. Mathisen [EMAIL PROTECTED] wrote:

URL: 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

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

You're welcome.   It seemed like the right time.


 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. 

Good idea.  Many times the designers of European board/card
games do a good job of creating well balanced games.

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):

...

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.

That sounds good.  It offers players the opportunity to earn
points in a variety of ways (so that everybody does not have to
pursue the same strategy in every game).

I assume that that means that the points for longest road,
largest palace, etc. could change hands many times during the course
of a game.  Is that correct?

If so, then a player's Worker/Settler/Engineer might be able to
gain the last needed victory point by completing a road on a tile
that links two existing roads together.  Likewise, a player could
conceivably push himself over the top by rush buying a bigger
palace.  Is that correct?

   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.

Exactly.  The conquer everybody option is still in the rules,
but this gives the AI some more practical, short term goals to
pursue instead.


   d) Eliminate unlimited movement on railroads.

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

   I agree; it's not critical.

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

Not at all.

I figured that it was the difference between choosing from among
~30 potential destination tiles and choosing from among 100, 150, or
more (for each unit that is on a long railroad).  Then multiply that
by the number of turns and by the number of units that enter (or
remain on) that railroad during those turns.

   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-buildings is the only 
thing that separates them from luxury production. (Well, that, and more 
esoterically, at what step in 

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

2007-03-07 Thread Per I. Mathisen

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

On Wed, 7 Mar 2007, (Eddie_Anderson) wrote:
 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.

Good idea.  Many times the designers of European board/card
 games do a good job of creating well balanced games.

Don't forget the Australians! They produce some of the best board games 
there are.

 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.

That sounds good.  It offers players the opportunity to earn
 points in a variety of ways (so that everybody does not have to
 pursue the same strategy in every game).

I assume that that means that the points for longest road,
 largest palace, etc. could change hands many times during the course
 of a game.  Is that correct?

Of course, that is the point.

If so, then a player's Worker/Settler/Engineer might be able to
 gain the last needed victory point by completing a road on a tile
 that links two existing roads together.  Likewise, a player could
 conceivably push himself over the top by rush buying a bigger
 palace.  Is that correct?

Yes. This is a viable strategy in Settlers, but a high risk one, since it 
is easy for another player to sabotage it so effectively that you will not 
(perhaps ever) be able to complete the action. For example, if you build 
two road pieces that you intend to put together to produce the longest 
road, another player can block it by putting his own road or soldier in 
the middle. Or you could save up lots of resources, but if someone rolls 
the robber, you might lose most of them.

In a similar vein, I think all possibilities to rush at victory 
conditions should be high risk to opponent's counter-strategies.

However - this depends on other players being able to see what you are 
doing, which is very hard in Freeciv at the moment. There needs to be a 
way to correct that.

 I sympathize with this idea, but I suspect this would be a performance
 killer with the way city production is calculated currently.

I expected that too, but I didn't see much difference.  Granted,
 this was on small maps.  OTOH, my code was pretty crude and it could
 probably be made more efficient by a better programmer than me.

This is made very complicated by the way CM(A) calculates benefits. We 
will need to cache it somehow, or things will get rather ugly. Or things 
will get inaccurate.

I would be interested in seeing how you programmed it, though. So please 
post a patch, even if it is not pretty ;)

   - Per



___
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 Peter Schaefer

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

On 3/5/07, (Eddie_Anderson) [EMAIL PROTECTED] wrote:

 URL: 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 cities get a permanent
   benefit, etc.) should be scrapped, IMO.

IMHO, 

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

2007-03-06 Thread Per I. Mathisen

URL: 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-buildings is the only 
thing 

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

2007-03-06 Thread (Eddie_Anderson)

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

Peter Schaefer [EMAIL PROTECTED] wrote:

URL: 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 penalties.

   I've experimented with this and it works.  The code