@snipperrabbit!!: Thanks.
"pathfinding method": I will work on a pathfinding algorithm later (I first need the tile neighbourhood graph). There will be no need for any approximation then, because I will already work tile-based, i.e. with discrete distances.
"construction time": Since I work with The MathWorks MATLAB, which has an interpreted programming language, loops and such are relatively slow to execute; you cannot compare this with natively compiling languages like C++. I guess the complexity will be O(n^2), if you also create the neighbourhood graph (which is needed by the game engine for path finding and the like.) However, it is importeant to note that you will
not need to do this construction everytime you start a new game!:
Simply save the tile net for player-selectable map sizes (small to huge), including the tile neighbourhood graph. Then the engine would just have to load the proper map from a file, which
can be done in a fraction of a second. This loaded base map will then be populated by the terrain first and the units second...
@Semmel:
"distance algorithm was more general": At the moment there is no distance(tile1,tile2) algorithm, yet. The tile placement formula is a global ansatz (the positions of all tiles are determined the same way everywhere on the sphere, without any need to know their neighbours by some kind of indexing). So, actually, the generality of this ansatz prevents me to give tile-individual statements at this time. (And the distance from one tile to another is such an individal info.) The pseudo coloring of the above plots also does not need any neighbourhood info: it just uses the tileTheta-coordinates from the 2D coordinate system, which I discussed earlier in this thread. More on tile distance this next week.
local conditions on tile shape: I agree with all three conditions (area, angle, local difference). All can be measured and maybe one could
implement an iterative postprocessing of the vertex positions, which tries to minimize: a) tile area deviation from 4pi*R/#tiles, b) angle deviation from 2pi/3 and c) the difference of area and angles between neighbours. This will, of course, increase the computational costs for the map construction considerably, but since we save the final result and then just load it as soon as a player starts a game, it would be worth a try.
"So please, dont do anything that is not in your own interest.": Thanks for the remainder.
@Semmel, snipperrabbit!!: Its agreed then: Do not give up symmetry to force tiles in z-perpendicular parallel rings any more.
@BlkBird:
"use the ertices of a triangle-based mesh": Your idea is the
dual of the pentagon solution: Look at this image (it shows a triangle-meshed sphere):
As you can see, not all triangle vertices have six neighbours, some only have five. To make it symmetric, you would have to use the triangles themselves as tiles. Actually, I thought about this for myself a few month ago, but I came to the conclusion that it would not be very Civ-friendly to only have three neighbouring tiles everywhere (from a unit/strategic perspective).
About the k>=2 problem for tiles near the poles: I disagree that these tiles are "non-settleable". First of all, the percentage of fewer tiles even within the three-radius is rather small. You could compare it with a city with some mountains in its radius. Also, if you want to make it perfecty fair again, simply use this percentage as a correction factor:
Say a city somewhere only has e.g. x percent of tiles in its radius it would usually have, then simply apply a city-global bonus factor of 1/x to all tile income (production, commerce, food). This should solve the problem completely from a gameplay perspective!