Not sure if anyone posted this in the bug list, but the game will
crash if the cultural influence of the city ever extends past the
north pole (and probably the south pole also).
This can occur hours into gameplay, and seeming for no reason
when at the end of a turn the game will crash. Reloading, from
an earlier save game won't work and neither will restarting.
Somewhere down the line, the crash can occur.
This is because a city may be okay when it is newly built, but as
its culture grows, so does it radius of cultural influence, until
*crash*.
This can occur on random maps where sometimes land
placement extends closer to the poles, and the computer will
happily build cities where there is viable land.
This has occured to other people as well and as a note to map
makers, don't place land too close to the poles:
The crash can be avoided in game by razing any offending city
that is too close to a pole. It is necessary to use the scenario
editor to check that no land is too close to the poles.
Fortunately, the random world generator rarely puts land to close
to the poles. It is obvious foresight by the programmers and it is
generally a good workaround.
Hopefully, though, the civ3 developers do fix this in a patch
because not allowing land to be a screen away from the poles is
not a feature when you can't turn it off. It signifies a rushed
development schedule.
If it is a speed concern, will adding this limiter check for every city
really slow down the code that much?
Program method 1 (fastest):
Predetermined mask/map used to check if resources are in range.
This mask is the shape of the cultural influence.
Adding a limiter would mean not checking the complete mask.
This messier to program around. The key is to arrange the
mask into a list with rows of coordinate data. The mask
is limited by only searching the rows that are in a valid range.
Program method 2 (medium):
If one were to use a formula to determine if a square were in
range of a city, i.e. pseudocode:
if( square(x-Cx)+square(y-Cy) lessthan square(Cinfluence) )
why not also:
&& (y>=0) && (y lessthan MAPSIZEY)
and even:
&& (x>=0) && (x lessthan MAPSIZEX)
I realize it is a little more complicated than this for cities on the
edge of the map.
In fact, this problem is probably the same reason that the
unscrollable world that everyone wanted was not implemented.
That is why we can't have a map of Europe and not walk
from Spain to Austria. Because the land can't extend to the
closing edge of a map without crashing the program when a
city is built too close to the edge.
BTW, a torus or toroidal shaped world would be nice to add in a
patch also. This is where the top and bottom edges of the map
are also connected. (but not necessary)
Civ3 works well on my computer:
Intel P3 866EB; 512MB RAM; 80GB ATA/100; 5x DVD
ATI AIW Radeon 32MB; Win 98SE; DirectX 8.0a; etc.
crash if the cultural influence of the city ever extends past the
north pole (and probably the south pole also).
This can occur hours into gameplay, and seeming for no reason
when at the end of a turn the game will crash. Reloading, from
an earlier save game won't work and neither will restarting.
Somewhere down the line, the crash can occur.
This is because a city may be okay when it is newly built, but as
its culture grows, so does it radius of cultural influence, until
*crash*.
This can occur on random maps where sometimes land
placement extends closer to the poles, and the computer will
happily build cities where there is viable land.
This has occured to other people as well and as a note to map
makers, don't place land too close to the poles:
The crash can be avoided in game by razing any offending city
that is too close to a pole. It is necessary to use the scenario
editor to check that no land is too close to the poles.
Fortunately, the random world generator rarely puts land to close
to the poles. It is obvious foresight by the programmers and it is
generally a good workaround.
Hopefully, though, the civ3 developers do fix this in a patch
because not allowing land to be a screen away from the poles is
not a feature when you can't turn it off. It signifies a rushed
development schedule.
If it is a speed concern, will adding this limiter check for every city
really slow down the code that much?
Program method 1 (fastest):
Predetermined mask/map used to check if resources are in range.
This mask is the shape of the cultural influence.
Adding a limiter would mean not checking the complete mask.
This messier to program around. The key is to arrange the
mask into a list with rows of coordinate data. The mask
is limited by only searching the rows that are in a valid range.
Program method 2 (medium):
If one were to use a formula to determine if a square were in
range of a city, i.e. pseudocode:
if( square(x-Cx)+square(y-Cy) lessthan square(Cinfluence) )
why not also:
&& (y>=0) && (y lessthan MAPSIZEY)
and even:
&& (x>=0) && (x lessthan MAPSIZEX)
I realize it is a little more complicated than this for cities on the
edge of the map.
In fact, this problem is probably the same reason that the
unscrollable world that everyone wanted was not implemented.
That is why we can't have a map of Europe and not walk
from Spain to Austria. Because the land can't extend to the
closing edge of a map without crashing the program when a
city is built too close to the edge.
BTW, a torus or toroidal shaped world would be nice to add in a
patch also. This is where the top and bottom edges of the map
are also connected. (but not necessary)
Civ3 works well on my computer:
Intel P3 866EB; 512MB RAM; 80GB ATA/100; 5x DVD
ATI AIW Radeon 32MB; Win 98SE; DirectX 8.0a; etc.