Complete.Org: Mailing Lists: Archives: freeciv-dev: December 2001:
[Freeciv-Dev] Re: he server appears to have gotten into an infinite loop
Home

[Freeciv-Dev] Re: he server appears to have gotten into an infinite loop

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: <freeciv-dev@xxxxxxxxxxx>
Subject: [Freeciv-Dev] Re: he server appears to have gotten into an infinite loop in the allocation of starting positions (PR#1135)
From: Karen Yeats <kayeats@xxxxxxxxxxxx>
Date: Thu, 13 Dec 2001 17:12:04 -0500 (EST)
Reply-to: <kayeats@xxxxxxxxxxxxxxxxxxxxxxxxx>

I don't really see why it should check if the poles are actually connected
as if they aren't then the polar land will be so bad that the starting
position allocation won't put starting positions there (and in the very
odd case that this was not true and the land there was in fact on par with
the other continents then you would want to be able to start there.)

Do you find connecting the poles make that error more likely or was this
just a fluke?  I get that error sometimes either way and hadn't noticed it
being any worse with connected poles.  I get it particularly when I set
the land to be bad (lots of mountains and swamps for example) or have very
little land.  I like to play on bad land so this happens to me a lot.
Really I think that the starting position allocation algorithm is too
weak, but its a bit of a mess so I haven't done anything about it (yet?).

On Thu, 13 Dec 2001 sigra@xxxxxxx wrote:

> I just tried the new feature with unseparated poles. I got this:
>
> 0: The server appears to have gotten into an infinite loop in the allocation
> of starting positions, and will abort.
> Please report this bug at http://www.freeciv.org/
> Avbruten (SIGABRT)
>
> Could it be that it tries to put a player on a pole continent that is not
> connected to more land?
>
> Here is the part of the patch I guess is wrong:
>
> -  /* don't want them starting on the poles: */
> -  if (map_get_continent(x, y)<=2 && map.generator != 0)
> +  /* don't want them starting on the poles unless the poles are
> +     connected to more land: */
> +  if (map_get_continent(x, y)<=2 && map.generator != 0 && map.poles)
>      return 1;
>
> Does this code check that the pole IS actually connected to more land? It
> seems like it just checks if the pole COULD be connected to more land
> according to the map.poles rule.
>

 ________________________

 It is generally held that the teaching of virtue demands the inculcation
 of falsehood.

        Bertrand Russell, On Education

 ________________________




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