Remaking the map generator

Can you help improve your favourite game? Hardcore C mages, talented artists, and players with any level of experience are welcome!
Post Reply
ahfretheim
Posts: 49
Joined: Sat Apr 05, 2014 9:29 pm

Remaking the map generator

Post by ahfretheim »

Hey there,

One annoying thing when starting games on Freeciv is that it demands that you have way too much space between your civilizations to generate starting positions. I was thinking of going in to the source code to fix that issue and allow me to build the massive, 40 player maps that I enjoy and were SOMETIMES possible in 2.3 (though it sometimes crashed) but I have yet to get to work in 2.5. While I'm working on that, I was thinking of adding a few additional aspects to the starting position selector that I think would greatly improve gameplay:

1 - Starting position based upon Nation. We talk sometimes about giving some nations (or nation groups) special bonuses or effects that give them an advantage in the game, but it seems to me that there are really too many nations to make that meaningful at the individual nation level. What might be MORE distinctive (and perhaps more true to what made the nation what it is) is using nation starting position flags to find a terrain most like where the actual nation on this Earth is located, so for instance a large island for England, Britain, Ireland, the Gaels, or the Nuu-Ul-Chatha (Vancouver Island Indian), a small island for the Hawaiians, the Fijians and the Solomon Islanders (maybe a third tiny island category to avoid one tile start-games), and a large inland lake for the Khwarezm or the Metis. Tags could include features like "tropical", "mountainous", "swampy", "desert", or "river", and would be selected in priority from first to last. This might be disabled when team placement is enabled.

2 - More detailed oceanography for undersea tunnels and cities, when technology reaches that level.

3 - A "Space Map" for orbital space colonies and maybe satelites when technology reaches that level. It would be about as monotonous as one would expect space to be, basically just another level of data with some effect on vision. This would probably be the hardest of the three changes to implement.

Speaking of the first recommended change, has anyone else had trouble getting the server to load after they modified the nation set? I was thinking about working on that, but it seems from some of what I've seen on this forum that no one else has this problem.
User avatar
GriffonSpade
Elite
Posts: 578
Joined: Mon Apr 29, 2013 4:41 pm

Re: Remaking the map generator

Post by GriffonSpade »

I wish you the best of luck in editing the map generator. To my dismay, it's extremely ad hoc and tuned to the existing tileset rather than systematic.
3 - if you need artwork to start from and use hex, ampliohexbigGT has a lot of space stuff (Though at large scale). It's missing a number of things where my inspiration dried up, but it includes a simple unit set (in 6 directions for the space ones. If you wish you use them for 8 directions, simply turn the verticle ones 90 degrees.), planets, and stars. As an expansion of ampliohexbig, it requires that to run and includes all the basic terrain, and ampliohexbigXU has some extra terrains and units, including some 'space island' type tiles. While not built together by default, XU and GT should have no overlapping references. (Meaning it would only need a tilespec to utilize both together)
ahfretheim
Posts: 49
Joined: Sat Apr 05, 2014 9:29 pm

Re: Remaking the map generator

Post by ahfretheim »

GriffonSpade wrote:3 - if you need artwork to start from and use hex, ampliohexbigGT has a lot of space stuff (Though at large scale). It's missing a number of things where my inspiration dried up, but it includes a simple unit set (in 6 directions for the space ones. If you wish you use them for 8 directions, simply turn the verticle ones 90 degrees.), planets, and stars. As an expansion of ampliohexbig, it requires that to run and includes all the basic terrain, and ampliohexbigXU has some extra terrains and units, including some 'space island' type tiles. While not built together by default, XU and GT should have no overlapping references. (Meaning it would only need a tilespec to utilize both together)
Thank you! I'll keep that in mind! Graphics help of any kind is greatly appreciated. It is possible (though I'm not giving any guarantees) that because I lost my weekend night shift at a warehouse due to pneumonia, I might be able to get around to this on Saturday.
I wish you the best of luck in editing the map generator. To my dismay, it's extremely ad hoc and tuned to the existing tileset rather than systematic.
I might have a partial solution for that. What if I created a rand_container object that would be selected by the generator from the terrain file just like any tile but be given PROBABILITIES of selecting different tile types as described in terrain.ruleset? Then you could replace, oh lets say, [terrain_swamp] with a [rand_container_swampy_tile] entry and have swamp, bog, mire, mangrove and slough as different possibilities for selection.
User avatar
GriffonSpade
Elite
Posts: 578
Joined: Mon Apr 29, 2013 4:41 pm

Re: Remaking the map generator

Post by GriffonSpade »

ahfretheim wrote:
GriffonSpade wrote:3 - if you need artwork to start from and use hex, ampliohexbigGT has a lot of space stuff (Though at large scale). It's missing a number of things where my inspiration dried up, but it includes a simple unit set (in 6 directions for the space ones. If you wish you use them for 8 directions, simply turn the verticle ones 90 degrees.), planets, and stars. As an expansion of ampliohexbig, it requires that to run and includes all the basic terrain, and ampliohexbigXU has some extra terrains and units, including some 'space island' type tiles. While not built together by default, XU and GT should have no overlapping references. (Meaning it would only need a tilespec to utilize both together)
Thank you! I'll keep that in mind! Graphics help of any kind is greatly appreciated. It is possible (though I'm not giving any guarantees) that because I lost my weekend night shift at a warehouse due to pneumonia, I might be able to get around to this on Saturday.
I wish you the best of luck in editing the map generator. To my dismay, it's extremely ad hoc and tuned to the existing tileset rather than systematic.
I might have a partial solution for that. What if I created a rand_container object that would be selected by the generator from the terrain file just like any tile but be given PROBABILITIES of selecting different tile types as described in terrain.ruleset? Then you could replace, oh lets say, [terrain_swamp] with a [rand_container_swampy_tile] entry and have swamp, bog, mire, mangrove and slough as different possibilities for selection.
Ironically, that's kinda the problem. It likes to pick a particular trait, and then often just randomly picks one of them. So for example, if you have hills for each temperature zone, you'll wind up with random temperature hills all over the place. Likewise, if you have a borean forests and regular forests both with foliage property, it will ignore the 'cold' or 'temperate' property if it wants foliage property, and randomly use either, rather than using the more appropriate cold weather or temperate weather forest.

I think not filtering based on the temperature first before it picks is probably the worst problem. Anything with contraindicated temperature properties, and also not the indicated temperature property (Swamp has all 3) should not even be considered. [So anything without ANY temperature property OR anything WITH the specified temperature property could be considered]
Post Reply