Post by mtadd on Mar 30, 2012 18:07:43 GMT -5
g1628, I'm currently limiting terrain generation to plains+coastlines, and then placing forests and basic mountains. All other terrains are now being generated by using the addfancyterrain map command. The map editor manual said to only use addfancyterrain on maps with only plains, forests, and mountains... so I hadn't considered any adding any other terrains until I could come up with a programmatic replacement to addfancyterrain.
However, after your suggestions, I played around with the map editor by creating a world, then removing all fancy terrain, creating some bigger bays and placing coastal villages with combinations of ferries and islands connecting them. Then, save map, append "addfancyterrain", and starting a game with the map. It seems that addfancyterrain will still populate plains, forests, and mountains with other terrain types, as well as respect my non-basic terrains as well.
So, the short of it is I can start incorporating some new terrains while still using addfancyterrain. Yay! Now on to your suggestions.
Regarding ferries and islands. I thought these were just some flavor one could add to the map, and not actually navigable terrain. I'll try adding these as land bridges as you describe (along with switches for tweaking probabilities).
I've already got an algorithm to make sure all land is contiguous. I can use the same to guarantee all sea is as well so as to remove internal oceans. I'll add a switch to control this.
I like the impassable mountain terrain, but stopped using it when I started using addfancyterrain. Now I believe I can safely put it back in. My plan is to start using impassable mountains when the square is a mountain, and completely surrounded by mountains, and see what sorts of maps that generates.
For using 99 (and 35), I've already got switches for these items as per a previous thread of yours:
--random-prob=PROB Probability of placing random tile on land. (5)
--random-radius=INT
Radius from center of map to seed random tiles. (50)
--rare-prob=PROB Probability of placing random rare tile on land. (1)
--rare-radius=INT Radius from center of map to seed random rare tiles.
(20)
Note that all these switches are on mapgen.py. The default values of these will be used by trials.py for now.
However, after your suggestions, I played around with the map editor by creating a world, then removing all fancy terrain, creating some bigger bays and placing coastal villages with combinations of ferries and islands connecting them. Then, save map, append "addfancyterrain", and starting a game with the map. It seems that addfancyterrain will still populate plains, forests, and mountains with other terrain types, as well as respect my non-basic terrains as well.
So, the short of it is I can start incorporating some new terrains while still using addfancyterrain. Yay! Now on to your suggestions.
Regarding ferries and islands. I thought these were just some flavor one could add to the map, and not actually navigable terrain. I'll try adding these as land bridges as you describe (along with switches for tweaking probabilities).
I've already got an algorithm to make sure all land is contiguous. I can use the same to guarantee all sea is as well so as to remove internal oceans. I'll add a switch to control this.
I like the impassable mountain terrain, but stopped using it when I started using addfancyterrain. Now I believe I can safely put it back in. My plan is to start using impassable mountains when the square is a mountain, and completely surrounded by mountains, and see what sorts of maps that generates.
For using 99 (and 35), I've already got switches for these items as per a previous thread of yours:
--random-prob=PROB Probability of placing random tile on land. (5)
--random-radius=INT
Radius from center of map to seed random tiles. (50)
--rare-prob=PROB Probability of placing random rare tile on land. (1)
--rare-radius=INT Radius from center of map to seed random rare tiles.
(20)
Note that all these switches are on mapgen.py. The default values of these will be used by trials.py for now.