Large Rivers (trying to make an old dream come true) [IMPLEMENTED]

Do you want Large Rivers in WTP?


  • Total voters
    45
This weekend I will try to take care of the following 3 things:

Movement Rules:
  • Momement Rules for Professions that are always allowed to pass Large Rivers (e.g. Pioneers and Scouts)
  • Implementing full Movement Rules for Land Units (Restricted Version)
  • Rebalancing Movement on Large Rivers
AI Improvements:
  • Teaching AI Pioneers how to build "River Ferries" (@devolution Might need help with this.)
  • Concept to have AI treat "River Ferries" similar to Roads (suggested by @Nightinggale)
  • Checking for futher necessary AI improvements
Colopedia Concept Page "Large Rivers"
  • Summarizing and nicely describing all the stuff that this new feature does

This I still need to clarify:
  • Promotions for Combat and Movement on Large Rivers :think:
 
Last edited:
Movement Rules:
  • Momement Rules for Professions that are always allowed to pass Large Rivers (e.g. Pioneers and Scouts)
  • Implementing full Movement Rules for Land Units (Restricted Version)
  • Rebalancing Movement on Large Rivers

This is fully done now. :)

For XML modders:
(Considering Units / Professions being allowed to cross Large Rivers.)

For Professions is a new XML tag in Profession Infos:
<bCanCrossLargeRivers>

For Units see this here in Unit Infos:
(All Units that have this setting are not allowed to cross Large Rivers without "River Ford" or "Ferry Station" - unless their Profession allows it.)
Code:
            <TerrainImpassables>
                <TerrainImpassable>
                    <TerrainType>TERRAIN_LARGE_RIVERS</TerrainType>
                    <bTerrainImpassable>1</bTerrainImpassable>
                </TerrainImpassable>
            </TerrainImpassables>
 

Attachments

  • Civ4ScreenShot0004.JPG
    Civ4ScreenShot0004.JPG
    180.7 KB · Views: 64
  • Civ4ScreenShot0001.JPG
    Civ4ScreenShot0001.JPG
    144.3 KB · Views: 61
  • Civ4ScreenShot0002.JPG
    Civ4ScreenShot0002.JPG
    145.5 KB · Views: 57
  • Civ4ScreenShot0003.JPG
    Civ4ScreenShot0003.JPG
    145.1 KB · Views: 61
Last edited:
@Nightinggale @devolution

I currently have a small bug which I can not figure out. :wallbash:
(I simply can not find any reason for it in the code.)

Improvement "River Ferry" is supposed to be buildable (by Pioneers on Large Rivers) outside own City Borders as well.
(Even in enemy Territory - e.g. Native Villages)

That is why it has:
<bOutsideBorders>1</bOutsideBorders>

But somehow I can only build it (on Large Rivers) within own City Borders though.
Outside City Borders the Build button of the Pioneer simply disappears ...

I really can not find any explanation, why it works inside City Borders but not outside City Borders. :hmm:
It seems to simply ignores the XML setting but all places I checked for isOutsideBorders() do not explain this behaviour.
 
But somehow I can only build it (on Large Rivers) within own City Borders though.
Outside City Borders the Build button of the Pioneer simply disappears ...
Fixed. You can only change the terrain on plots your team owns. Turns out the raft station unintentionally triggered this restriction because it requires a specific terrain (large river terrain). Now I added that if the build results in an improvement, it will use bOutsideBorders for that improvement.
 
Fixed. You can only change the terrain on plots your team owns. Turns out the raft station unintentionally triggered this restriction because it requires a specific terrain (large river terrain). Now I added that if the build results in an improvement, it will use bOutsideBorders for that improvement.

Aaahhhh ! :cringe:
It was in my old "Terraforming" logic for changing Terrain Types (by Build Actions of Units) ... :dubious:
Spoiler :
Still regret that I added this - because it is hardly used in WTP (basically just "Drying Swamps" to become "Savannah" or for "Reforestation").
Even though it would be an awesome feature for "Path to the Throne" (which I originally created it for and is heavily "Dune inspired") or a real "Dune modmod of WTP" ...

I would never have thought about this, because this new logic for the new Water Improvement did not touch Terrain Types at all.
I had been searching myself to death and could not find any logical explanation.

Thanks a lot for fixing this. :worship:

Just tested your fix. :thumbsup:
Here is the Screenshot to see that is work.

Spoiler :


 

Attachments

  • Civ4ScreenShot0000.JPG
    Civ4ScreenShot0000.JPG
    132 KB · Views: 287
Last edited:
Since I finished the Movement Logic (Restricted Version) I will focus now on AI.

AI Improvements:
  • Teaching AI Pioneers how to build "River Ferries" (@devolution Might need help with this.)
  • Concept to have AI treat "River Ferries" similar to Roads (suggested by @Nightinggale)
  • Checking for futher necessary AI improvements

Actually a lot of AI logic considering Large Rivers (General Movement, Founding Cities, ...) should already work.
But e.g. the "River Ferries" are still not understood by AI. (In terms that it does not understand when it should build them.)

This will probably take a while though because AI logic is usually a bit annoying, at least for me. :badcomp:
(@devolution Do not hit me for saying that. :) )

E.g. the "River Ferries treated as Roads" (concept suggested by @Nightinggale) sounds really interesting,
but I do have no technical concept yet how this could be implemented. :think:
 
Last edited:
We are getting closer and closer to having this finished. :)
Step by step the checklist gets greener.

Spoiler :

In some aspects it will act like a "Water" plot.
  • It is not possible to found a City directly on top of it [DONE]
  • The only Yield you can get of it is "Fish / Food" [DONE]
  • It will only have Bonus Ressources like "Coast" Terrain [DONE]
  • Allowing Coastal Ships to use it (and few other Ships) [DONE]
  • Having normal Rivers flow into it [DONE]
  • Allow Cities built next to it to build "Piers" (but no Upgrades of that, unless they also have Ocean access directly from another Coast Plot) [DONE]
  • Ensuring that "Large Rivers" that do not end in Ocean do not get "Lake Food Bonus" (otherwise op) [DONE]
  • Ensuring that Water Goodies are not spawned on Large Rivers [DONE]
  • ...
But in other aspects it will act like a "Land" plot.
  • Allowing (specific) Land Units to always enter / cross [DONE]
  • Having new Terrain Feature (to allow other Land Units to enter / cross) [DONE]
  • Having new Improvement (to allow other Land Units to enter / cross) [DONE]
  • Allowing Pioneers to build the new Improvement [DONE]
  • Teaching AI Pioneers how to actually build the new Improvement in a purposeful way
  • Having normal Rivers not directly affect it (e.g. no Yield modifiers) [DONE]
  • ...
General aspects:
  • Full AI Check - to ensure there are no problems
  • Basic Setup of Terrain and its ArtDef [DONE]
  • Buttons for Colopedia and World Builder [DONE]
  • Writing Colopedia Concept Page for "Large Rivers" [DONE]
  • Adapting Area Size Computation [DONE]
  • Adapting AI (e.g. Settlement found values) [DONE]
  • Balancing of Movement Speed of Land Units on Large Rivers [DONE]
  • Balancing of Movement Speed of Ships on Large Rivers [DONE]
  • Configuring Combat Balancing and Promotions for Large Rivers
  • Clarifying if Land Combat Units should be allowed to capture e.g. Coastal Ships on Large Rivers [DONE]
  • Forbidding Animals to be spawned there [DONE]
  • Allowing most small Land Animals to enter it (like Crocodiles or Bears) [DONE]
  • Forbidding giant Water Animals to enter it (like Whales) [DONE]
  • Adapting existing Maps
  • Adapting MapScripts to generate Large Rivers
  • ...
 
Last edited:
@Zeta Nexus

The button you created for "River Fords" looks much much better than my button for "Large Rivers". :blush:
Could you change / improve the button of "Large Rivers" to look as good as the one you created for "River Fords" ?

"River Fords" (which is your nice button) is the last one in the last row.
"Large Rivers" (which is my ugly button) it the second last in the last row.

The Atlas is attached, so you do not need to search it.
Thanks in advance. :hug:

@Schmiddie

The 2 of us could have some brainstorming which kind of Promotions we could introduce for this. (We could e.g. use Zoom for this.)
These Promotions will need some buttons as well. And your Promotion buttons have always been awesome. :thumbsup:
 

Attachments

  • Atlas_to_be_Improved.7z
    100.9 KB · Views: 30
Last edited:
@Community:

Would somebody of you be interested to write a text I can use for Colopedia Game Concept Page of "Large Rivers"?
(It can be pure text, I will make the XML entry from it myself. You could simply post the text here in this thread.)

It is simply about some short historical summary of the role and importance of Large Rivers (e.g. Amazonas, Mississippi, Missouri, ...) for the Colonization of the New World.
The text does not need to be endlessly long. A couple of lines (e.g. 3 to 5) of would completely suffice.

It is not intended to describe the feature mechanics. (I will do that myself, once the complete feature is implemented)
As I said, it is about a historical summary intended as brackground for flavour and atmosphere.

Thanks a lot in advance. :hug:
 
Last edited:
I would never have thought about this, because this new logic for the new Water Improvement did not touch Terrain Types at all.
I did not think about that part at all either. I used a debugger to step through the code to find the line where canBuild turned false. Turns out we loop all yields to check for yield production requirements even if there are no yield requirements. In other words I added something to my todo list for optimization. Reviewing "new" code once in a while isn't a bad idea even if we have had the code for ages.
 
@Community:

Would somebody of you be interested to write a text I can use for Colopedia Game Concept Page of "Large Rivers"?
(It can be pure text, I will make the XML entry from it myself. You could simply post the text here in this thread.)

It is simply about some short historical summary of the role and importance of Large Rivers (e.g. Amazonas, Mississippi, Missouri, ...) for the Colonization of the New World.
The text does not need to be endlessly long. A couple of lines (e.g. 3 to 5) of would completely suffice.

It is not intended to describe the feature mechanics. (I will do that myself, once the complete feature is implemented)
As I said, it is about a historical summary intended as brackground for flavour and atmosphere.

Thanks a lot in advance. :hug:

English is not my first language so feel free to optimize/change:

The spread of most civilizations tends to follow the course of large rivers, both because they offer high nutritional yields as well as the easier movement of cargo. As in the old world many existing societies have large centres near large rivers and the new arriving settlers also see the value in settling areas with easy fresh water sources.
A large body of water however has not only advantages, in a time when bridges were mostly only build on highly frequented routes the crossing of a large river was a strenuous and dangerous undertaking. Most large rivers in the new world were crossed at natural sites at which sand banks, shallow water or islets offered assistance, at other places a ferry system was put in place to get people, cargo and livestock to the other side.
 
@Zeta Nexus

The button you created for "River Fords" looks much much better than my button for "Large Rivers". :blush:
Could you change / improve the button of "Large Rivers" to look as good as the one you created for "River Fords" ?
How about this?
upload_2020-10-25_20-2-33.png

It is meant to be broader version of the River button.
But if you want me to use a photo of a real river, than I can do that too.
 

Attachments

  • baseterrain_terrainfeatures_atlas_custom.rar
    180.9 KB · Views: 27
Last edited:
How about this?.
It looks basically almost like my version. :dunno:
So there is no really big gain by exchanging the 2.

But the version you created for "River Fords" looked much much better. :confused:
That is why I had been asking if you could create a button for "Large Rivers" that looks just as good as your button for "River Fords".
 
See, I was hoping you could create another button for "Large Rivers" that would look as great as this one (which I got from you for "River Ford"):

Spoiler :




It is really awesome and 10 times better than anything I could ever have created myself. :worship:
 
Top Bottom