Minimod: Long Sailing Map Script

Zycosi

Chieftain
Joined
Sep 5, 2021
Messages
4
Hi all, big fan of the TAC -> WTP line of mods and just wanted to contribute a small modification to the FaireWeather map script.
The purpose of the change is pretty simple, when playing with the generated maps I found it quite jarring the way the the travel to Europe zone followed the coast so tightly. Regions that should have been farther from Europe didn't feel that way as the travel zone continued across most of the map, and regions that should have been closer, could often feel farther. This effect was particularly noticeable on larger maps.

The solution is pretty simple, I changed the map script so the travel zones would only penetrate 1/8th of the way into the map, rather than 1/3rd of the way in. But, as I'm not sure whether 1/8th is an ideal number I also modified the script such that it's defined by a variable that can easily be modified. self.travelZoneSize.

I find it results in a different kind of gameplay as Europe feels more distant, particularly as you grow your colony deeper into the continent.

If anybody wants to try it out you can drop the script into MODS/WeThePeople/PrivateMaps, and change the file extension from .txt to .py.
 

Attachments

  • Like
Reactions: nci
Why did you hardcode something as a variable into the MapScript code instead of starting a "Custom Game"? :confused:

There is a Player setting in our MapScripts (at least in FaireWeather) for that already.
We can also easily add further selection values in the dropdown you see below.
Spoiler :

civ4screenshot0005-jpg.612397



Still thanks for your efforts, I appreciate people wanting to help. :thumbsup:
But in this case I feel you kind of wasted your time for something that already exists. :dunno:

Edit:
If you guys feel we need to also offer e.g. 12 Plot Distance or 16 Plot Distance as selection values (for "Custom Game") it is easy to do.
(It is a change of a few minutes and does not require to duplicate the file.)
 

Attachments

  • Civ4ScreenShot0005.JPG
    Civ4ScreenShot0005.JPG
    203.6 KB · Views: 271
Last edited:
Hi Ray thanks for the response, the increased plot distance achieves something similar but slightly different in that it applies equally to a coast line half of the way into the map as it does to an island that is sticking out into the Atlantic. I wanted to increase the significance of being closer to Europe to be closer to reality in that aspect, it should be easier to sail from Europe to Newfoundland than to sail to Florida, but increasing the plot distance for all coast lines doesn't achieve that kind of effect.

The bigger issue I have with the fixed plot distance is that in-game, it would take significantly longer to sail from New Brunswick than from Florida as there is land farther west, which prevents the travel zone from spawning, even though they are significantly more eastern.

It is a minor distinction, but there is difference between what I implemented and the fixed plot distance
 
@Zycosi
Could you please post screenshots so I better understand the difference? :thumbsup:
Because if it is a good solution, we could also make it a "Custom Game" UI setting for the Map instead of a hard coded variable in its Python code.

Edit:
Just read your explanation again and I think I understand now. :)
  • Distance from Land logic: X Plots from Land obviously. (On East Coast checking from Left Land border)
  • Your logic: At least X% of mapsize counting from Map Border. (On East Coast checking from Right Map border)

Summary:
I think I got it and it does actually sound interesting as an alternative for "Distance to Land"?
(Because yes, it causes very bad results if an island is in between which then shifts the "Europe Plots" too far away.)

---

Edit 2:
What if we would just tell the "Distance to Land" logic: ignore islands !!!
(And islands themselves just getting a small 2 Plot distance to Europe Plots.)


Wouldn't that cause the best results? :think:
It is actually not even difficult to implement with some DLL "post-processing".

In fact there is a lot of potential to improve the generation of Europe Travel Plots. :thumbsup:

@FlaviusBelisarius
What do you think about that idea?
 
Last edited:
I think these 3 screenshots illustrate the difference, they are all from the same map but as some are more eastern than others then the distance from the coastline to the travel zone varies, in particular in longsailing3 you can see the island has a strategic advantage as it is only one turn away from the travel zone where the mainland could be several turns of sailing.
 

Attachments

  • Longsailing.png
    Longsailing.png
    3.3 MB · Views: 90
  • Longsailing2.png
    Longsailing2.png
    4.8 MB · Views: 96
  • Longsailing3.png
    Longsailing3.png
    4.5 MB · Views: 88
@Zycosi
Since you actually created / modded something of your own, you earned yourself an invitation to our modders chat .:)
If you are interested to discuss technical stuff about modding and share knowledge simply check your private conversations. :thumbsup:
 
@Zycosi
What about implementing a compromise between your logic and "Distance to Land"?
Something that feels a bit more organic and immersive?

What do you think about this here?
(It may not be perfect yet, but it may be a base for discussion.)

What if we would just tell the "Distance to Land" logic: ignore islands !!!
(And islands themselves just getting a small 2 Plot distance to Europe Plots.)

Maybe we - the modders - can come up with a good technical concept together? :)
(Brainstorming something that feels immersive and is also good for gameplay.)
 
@Zycosi
What about implementing a compromise between your logic and "Distance to Land"?
Something that feels a bit more organic and immersive?

What do you think about this here?

That sounds like it would produce a good result too if it can be implemented, the biggest issue really was the "shadow" cast by islands onto the mainland, if they could simply be ignored it would improve things a great deal.

I should also point out that this is not strictly my solution, there was already a limit in the code to restrict travel zones to no more than 1/3rd of the way across the map, I just modified that further.
 
the biggest issue really was the "shadow" cast by islands
I agree, I hate it as well. :thumbsup:

In handmade maps it can easily be corrected and it thus was done in almost all Maps.
I am also sure we can teach the MapScripts - e.g. by calling DLL "post processing" to correct "island shadows" (as you called it).

Let us simply involve the other modders to also think about a good algorithm. :)
Especially @FlaviusBelisarius who is already working on improving the current MapScripts.

I should also point out that this is not strictly my solution, there was already a limit in the code ...
Solutions are not necessarily about code only because a good concept can be worth much. :)
So thanks for giving this impulse to think about it again.
 
Last edited:
Overall, I like the adjusted parameter. The whole high seas zoning as it is now is a compromise between immersion, sea travel interception potential and reasonable travel effort. It sometimes creates quite ridiculous shapes, even "high seas islands"! And by default (low distance parameter), it causes strange side effects such as fast enough ships being practically impossible to intercept.

I am not sure though how to approach the topic if starting from the scratch. That is why I like the simple adjustment done here.
 
That is why I like the simple adjustment done here.
Well ok then, you are currently the "Master of MapMaking", so I think we can leave the decision to you.
It is probably better than what we have right now. :thumbsup:

@FlaviusBelisarius
Could you please merge it then into the your current MapScript work? :)
(If you find a better solution, you are of course free to implement something else if you prefer.)

@Zycosi
Seems as if your change becomes WTP core mod. :goodjob:
 
Well ok then, you are currently the "Master of MapMaking", so I think we can leave the decision to you.
It is probably better than what we have right now. :thumbsup:

@FlaviusBelisarius
Could you please merge it then into the your current MapScript work? :)
(If you find a better solution, you are of course free to implement something else if you prefer.)

@Zycosi
Seems as if your change becomes WTP core mod. :goodjob:
Sure. I can do that. A welcome non-destructive improvement that lets everyone choose what they like.
 
Back
Top Bottom