jeheydorn / nortantis

Nortantis is a fantasy map generator. It uses a simple tectonic plate simulation to create islands and continents with trees, rivers, and mountains. The result has the appearance of an old-fashioned hand-drawn map.
GNU Affero General Public License v3.0
70 stars 19 forks source link

New Map but Keep Existing Theme #15

Closed Larathiel closed 5 months ago

Larathiel commented 6 months ago

The new interface is a big improvement over the old one, I particularly like being able to Randomize Land without having to click back and forth between New Seed & Preview.

Issue: However, with this new interface, there no longer seems to be a way to have the New Random Map interface keep the style settings we've already configured in the main interface. Instead, whenever we click on New Random World, it automatically performs Randomize Theme as well.

Solution: If the New Random Map dialog could simply inherit the existing theme from the main interface (or a save file), that would be great. After all, the Randomize Theme button is still there if we want it, but there's no good option for those who have their style down pat short of copying down settings in a notepad and manually reapplying them afterwards.

Also: Could we please get a Dimensions setting for Equirectangular? (i.e. width = 2x height) This would be helpful when wanting to map the output onto a globe.

jeheydorn commented 6 months ago

I thought about adding something like that when I created the new UI, but didn’t at that time because I wasn’t sure anyone would want it. Since you do, I’m fine adding it. But I do have one question: If you have a map that uses region colors, and you use this new feature to create a new map from the current map’s theme, would you expect the region colors in the new map to:

1) Be newly generated colors based on the Base color, Hugh range, saturation range, and brightness range in the Color Generator Settings in the Land Water tool of the original map?

Or

2) Use the same region colors as the current map?

Option 1 has the downside that if you colored your map by choosing each color by hand rather than using the Generate Color button, and so you didn’t use the Color Generator Settings, then the region colors in the new map may not be at all similar to the colors in your old map, which maybe defeats the purpose of this option or might surprise people or make them think this is option doesn’t work.

Option 2 has the disadvantage that if the new map has more regions than the old one, it’s not clear what color those should be. Maybe the generator should reuse colors in that case, but that could be confusing, especially if two regions of the sink color next to each other. Or it could use the Color Generator Settings of the original map to create more colors in this case, but that could mean that the regions with new, generated colors have very different colors from the regions with the original colors. Option 2 is also slightly more complicated to implement since I would need to pass the current region colors to the new map, which means a new, temporary property in MapSettings. It also has the disadvantage that if you were using the Color Generator Settings to create your region color is, your new map doesn’t use new random region colors of the same theme. But if that’s what you really want, you can always generate new colors and use the Fill region color option to quickly update your regions.

If we go with option 1 and someone uses it on a map with region colors, I could add a popup when you use this feature to warn that the new map will use the Color Generator Settings rather than the existing region colors. I would add a checkbox to the popup to make it not show again, if checked.

jeheydorn commented 6 months ago

I thought of another problem with option 2 - If you use the new "New Map Was Same Theme" option multiple times without reopening your original map, you would end up losing the original colors whenever the next random world doesn't have enough regions to store all of the original colors. You could, of course, work around this by reopening your original map each time you create a new map with that theme, or by using the Randomize Land button instead of re-running New Map Was Same Theme, but it's still odd behavior that someone could hit.

Larathiel commented 6 months ago

Thanks for the prompt response!

My expectation (as a user) would be for Option 1: that the general color scheme of the land/regions, and water to be perceptually similar to the current map's Single Color land and water colors, and that any region colors would be newly derived from the Single Color land color sample.

While we're on the subject of Regions, an option to rerandomize the regions (while keeping the existing landforms), along with sliders on how far to subdivide, max/min size, etc. could all be useful brainstorming tools down-the-road.

jeheydorn commented 6 months ago

Hmm. The "Land color" from the Background tab start out as the same color as the Base color from the Land Water Tool, used for region color generating. So what you're asking for is similar to option 1. I think I'll keep it as the Base color for now, and add the popup, unless I get a better idea, since the Land color won't be visible in the UI for a map that uses region colors.

I appreciate the feedback regarding your other suggestion about randomizing regions, but that would be a bigger change, since currently randomly generated regions are based on tectonic plates. For now, you can update regions by hand without changing the land shape by checking the "Only update existing land" checkbox in the Land Water Tool. That option is only visible when region colors are drawn.

jeheydorn commented 5 months ago

I update the beta version at https://jandjheydorn.com/nortantis with this change.

Larathiel commented 5 months ago

Thanks for this, File Menu > New Map with Same Theme works great! ^_^

image