"Natural" Cultural Boundary Growth

Paeanblack

Prince
Joined
Dec 4, 2001
Messages
518
The predictable ring growth of cultural boundaries has bothered me from the first game. I've always thought that terrain should have a much stronger effect on the boundaries, to the point where the boundaries wrap to the terrain.

Here's my idea:

When a city is founded, it spreads culture to the 8 adjacent squares, like how things currently work. Each turn after that, the city sends out a "culture walker" that randomly travels through as many squares as the city has culture-per-turn. This walker isn't a real unit; it's just a concept used in the game engine. You don't actually see the walker.

Here's how it works:
A city producing, say, 14 culture per turn, will send out a walker each turn that randomly walks through 14 squares, adding a culture point in each square he enters. If the walker enters the same square several times, that square gets multiple points; this will happen frequently for squares near the city.

The catch is that the chance that the walker will enter a particular adjacent square is modified from the default by the type of terrain in that square. Rough draft follows:

Hills: -25%
Forests: -25%
Tundra: -25%
Jungle: -50%
Ice: -50%
Along coastline: +25%
Along rivers: +25%
Crossing rivers: -50% (-25% with bridges)
Mountains: -75% chance
Road connection: +25%
Railroad: +50%
Foreign terrain w/ no agreement: -25%
Enemy terrain: -50%
Foreign w/ Open Borders: +0%
Foreign w/ Pact/Alliance: +25%

I'm aiming for three main side effects here:

1) Culture spreads more naturally...faster down roads and along rivers and coasts, but slower through harsh terrain.

2) The player doesn't know exactly when a particular resource will be under their control, but can narrow it down to within a few turns of high likelyhood.

3) The player can steer the expansion of his territory with road construction and diplomacy.


What do y'all think?
 
I like the concept of expanding in an unpredictable fashion. I also agree that the predictable spread is pretty silly. Problem is that I am not sure how that walker thing will work. So every time the "walker" hits one of your plots then it gets +1 but how many +1's does it take to make the border spread? Does the "walker" stay in the boundries or walk in any land? So what if the square next to your city has +198 What does that do for you?
 
Sounds like the sort of thing that would really speed up loading times, having to work that out for every city on the map each turn... many producing several hundred culture points each turn.

But the principle of having it spread more naturally and unpredictably is a good one. Perhaps a simpler method would be...
-Cities produce culture like normal, after reaching certain thresholds they expand.
-Each threshold they reach adds a certain number of squares (it could be the same as the current system - first just the 8 around your city, then the 12 outside of that and so on).
-Instead of merely being added in a ring around the current radius, as happens at the moment, they are randomly allocated to squares adjacent to current ones based on whether they have roads etc, more or less as you detail above.

Of course, there would always be the chance that a city would expand all its culture in a straight line around the world, but the chances of that happening are basically none.
 
A very interesting idea! Certainly the goal is noble, and I think the framework you propose could have good results. A couple of issues with the specifics however:

1. Some cities get to the point where they produce hundreds of culture points per turn ... that's a long walk! Especially if random, it'll end up all over the continent. Two ideas: Maybe have the walker go by sqrt() of culture per turn. Or, walker goes 2*culture level (not rate) per turn steps, plus you get more walkers at higher levels/rates.

2. Culture rate can be changed rapidly turn to turn with specialists. The walker adding points to the squares does act as an integrator, but you could still get some strange effects when there's no cultural competition ... ie turn on specialist for one turn in a fairly new city and all of a sudden you have a random cultural border.

It's hard to know how it would play out with trying it though ... Good luck, I look forward to the results!
 
I'm not sure how the culture expansion currently works, but I do know each tiles ends up with cultural markings (excuse the dog analogy) that accumulate over times, so this seems consistent with that concept.

I love the idea of "natural" boundaries; in real life you have lots of rivers marking boundaries, for good reason. The main issue is that Civ provides "culture" as an explanation for how nations maintain boundaries, which is a little ridiculous.

Anyway, a great concept -- hope you have the opportunity to try it and share the results! :)
 
But the principle of having it spread more naturally and unpredictably is a good one. Perhaps a simpler method would be...
-Cities produce culture like normal, after reaching certain thresholds they expand.
-Each threshold they reach adds a certain number of squares (it could be the same as the current system - first just the 8 around your city, then the 12 outside of that and so on).
-Instead of merely being added in a ring around the current radius, as happens at the moment, they are randomly allocated to squares adjacent to current ones based on whether they have roads etc, more or less as you detail above.

This sounds like it would work :) Chance for culture to cross river has to be very small :) And of course the fat cross would have to work as normal :)
 
There's an interesting model of city size/influence in _City & Country in the Ancient World_ (Rich & Hadrill).

They model city importance purely with distance and ease of trade. And get pretty good matches for Classical Greece. Highly recommended reading.
 
jdog5000 said:
A very interesting idea! Certainly the goal is noble, and I think the framework you propose could have good results. A couple of issues with the specifics however:

1. Some cities get to the point where they produce hundreds of culture points per turn ... that's a long walk! Especially if random, it'll end up all over the continent. Two ideas: Maybe have the walker go by sqrt() of culture per turn. Or, walker goes 2*culture level (not rate) per turn steps, plus you get more walkers at higher levels/rates.

2. Culture rate can be changed rapidly turn to turn with specialists. The walker adding points to the squares does act as an integrator, but you could still get some strange effects when there's no cultural competition ... ie turn on specialist for one turn in a fairly new city and all of a sudden you have a random cultural border.

It's hard to know how it would play out with trying it though ... Good luck, I look forward to the results!

My initial thought was that a particular square would need multiple culture droppings (from any culture) to be controlled by the majority presence. The necessary number would need to be balanced with game speed so the total area controlled grows roughly at the same pace as the vanilla game. You are probably right...the range is excessive for a single-shot. Having sqrt(cpt) walkers each with sqrt(cpt) range would probably produce a much smoother boundary and cut down on some freaky results.

BFD8656 said:
I like the concept of expanding in an unpredictable fashion. I also agree that the predictable spread is pretty silly. Problem is that I am not sure how that walker thing will work. So every time the "walker" hits one of your plots then it gets +1 but how many +1's does it take to make the border spread? Does the "walker" stay in the boundries or walk in any land? So what if the square next to your city has +198 What does that do for you?

I think the dog-droppings concept (hey, it's a good analogy for explanation) somewhat exists in the vanilla game. A square next to your city with +198 droppings means you will control that square until an opponent drops 199 droppings there.
 
I like the concept, as to the formula used, I would suggest this:

culture level 'walkers' per turn i.e. if a city is culture level 1 it sends out 1 'walker', once its level 2 it sends out 2 walkers, up to legendary with five, or however high it is. This would make culture level still something worthwhile.

Each 'walker' 'walks' over a distance of (square root(culture point) + population points/2) tiles. Thus even once your super megacity is bringing in 200 culture per turn and is size 31 that city is 'walking' over around 30-40 tiles per walker per turn. That's nothing to shake a stick at, but its low enough it could probably be implemented without a noticeable performance hit. It also makes sure population centers don't expand too much faster than everything else, although it does give them a noticeable advantage.

What this implies. Cultural assimilation will be harder, because level 1 cities, even when they don't produce any culture whatsoever will still have a walker going out every single turn to one of the tiles in the 8 square initial radius reinforcing their culture there. That means it will be harder to take an enemy's city through culture an you will need vastly superior culture to do it, but you already really do, so that's not a big change in my book. Also, by adding the population level to the distance walked it will simulate cities naturally expanding simply due to size alone, and will ensure that no matter how hard you try a city won't stay only in its little '8 square zone of comfort', and will also ensure that super massive mega cities won't starve because their city radius is too small for any of the citizens to work. Granted by the time they reach that size though you should have access to the artist specialist, that's besides the point.

I'm not sure if anyone mentioned or suggested this though, but I feel that tiles currently being 'worked' by the city or nation should have a bonus popularity in the eyes of the walker. Perhaps a plus 40%? It should be rather significant as it would be a way of controlling where you expanded to. I know in the medieval ages lords sent their people to little villages deep in the woods to clear them and extend their influence near them, this would allow that and let players still 'reach out to' a resource.
 
This is interesting. I dont know if it can be added with python (which most people seems to prefere), but with the SDK it can't be so hard, although I wan't checked into the cultural things yet. I might add it, could someone make some test/analyze? I mean mathmatical, to see which of the above equetion would be the most 'natural'. I mean if I spend 20 hours implenting this, and it turns out to be *bip*, then I going to be very sad :(

But nice idea again.
 
I know that the "walker" is a software concept and not a real thing; however, in some ways I feel it properly reflects how boundaries work in RL, which is, at least until recent times, through military might. I almost imagine the walker acting like a mafia enforcer, banging on peasants' doors and forcing them to swear allegiance, and the poor villages stuck between two powers would constantly have to switch allegiances back and forth whenever the walker comes banging.

Anyway, that is to say that, while not the purpose of this mod, I could see a reworking of boundaries that at least partially rests on military force stationed in a particular city, such that you could, ahem, "peacefully" push your boundaries out by stacking 20 knights in the city.

I guess I am curious where, in RL, "culture" has ever caused the boundary of a nation to shift. (Technically, Civ models civs, not nations, but it blurs the two). I wonder if loyalty to your ethnicity/culture could have some other effect on the game that may or may not have to do with boundaries, but perhaps works like religion...? In Civ3 there used to be unhappiness generated in cities when you were at war with a civ that was of the same culture.

I think the original purpose of "culture" being added in Civ3 was primarily a balancing tool to give peaceful civs a needed leg-up. I'm not sure if it was set at the right level of abstraction or not to be "accurate" to what we perceive in real life.
 
Padweman just reminded me of something I had originally wanted to implement. Essentially I wanted a unit action available that would ‘extend’ the borders of a nation by plopping maybe 5 culture down on a tile. This would only be available around the colonial era however, and I originally intended it to be used by Colonial powers to ‘claim’ land. After all, Napoleon owned the Midwest of the United States, but he never built any cities there.

Perhaps it could be a special action, possibly a promotion along the lines of Kael’s summoning and spells from FfH, that a special unit, or possibly the explorer, could get access to which would allow them to do this.

This originally stemmed from the idea of a military campaign occupying land. Essentially I wanted to be able to send a team of swordsmen or whatever into the very edge of my enemy’s land and set them to an ‘occupy’ action which slowly removes the current owner’s culture and supplants it with that of the one doing the occupying. I feel this would be a way to allow one to claim land without necessarily taking the city that oversees it, as I feel that is more historically correct. However it would of course be only a temporary way of gaining land, as the city overseeing it (the one belonging to the opposing civ) would continue to pump out culture to retake these lands, making the only way to permanently take a plot to either take the city or continue redeclaring war over and over again, or to extend your culture peacefully.

Claiming someone else’s land in a war should also harm relations with them, perhaps a “You occupy OUR Land!” thing that gives -1 relation per 2 tiles occupied or something like that, so if you occupy an entire empire, don’t expect them to like you anytime soon.
 
Vishaing said:
This originally stemmed from the idea of a military campaign occupying land. Essentially I wanted to be able to send a team of swordsmen or whatever into the very edge of my enemy’s land and set them to an ‘occupy’ action which slowly removes the current owner’s culture and supplants it with that of the one doing the occupying. I feel this would be a way to allow one to claim land without necessarily taking the city that oversees it, as I feel that is more historically correct. However it would of course be only a temporary way of gaining land, as the city overseeing it (the one belonging to the opposing civ) would continue to pump out culture to retake these lands, making the only way to permanently take a plot to either take the city or continue redeclaring war over and over again, or to extend your culture peacefully.

This effect could also be used with the "culture walker" idea with the following addition:

+100% chance of walker entering a square containing a military unit.

This means you can slow down a neighbor encroaching on your territory by planting "border guards" along important boundaries/chokepoints. You still can't be too far behind in raw culture production to keep your land, but you can try to focus where that culture goes. I'd love to see the real-life tension along the Amur River/Sino-Russian border to be displayed in the game. I'd definitely love to tone down the SoD warfare aspect of the game and find a use for idle military units in peacetime.

Unrelated idea: it would also be cool if town growth was capped by culture levels. The square not only needs to be worked for X many turns, but also needs a minimum number of culture points to hit the next level. This would make "urban sprawl" look a little more realistic...growing in rings around the city.
 
Padmewan said:
I know that the "walker" is a software concept and not a real thing; however, in some ways I feel it properly reflects how boundaries work in RL, which is, at least until recent times, through military might.

The goal was to find a relatively simple software idea that directly models how cultures really did expand. If a civ is founded between two major rivers, its influence will spread in an eliptical shape, expanding much faster up and down the rivers than into the hinterland across the rivers. If a civ is founded on the coast, it will spread in a mushroom-cap shape, growing much faster along the coast than over land.

Padmewan said:
I guess I am curious where, in RL, "culture" has ever caused the boundary of a nation to shift.

At the risk of complicating the game, some form of "fuzzy-borders" in the era before nationhood and mapmaking would be a better model. I have no idea how this would actually work.
 
Making walkers always travel with military units would give them too much power in my mind and might get the walker 'stuck' between two, three, or more units, which are generally stationed over resources. I would give it a +60% chance to travel with military units, just a little bit over the + for a worked tile.

However this reminded me of a unit action I wanted to make called 'Patrol' that worked essentially like the Explore function, except the unit would NEVER leave the cultural borders of the civ that owned it. Right now you can get sort of a jury rigged set up going but only if your civ is A) on an Island (I always do this as England or Japan on a World Map) B) surrounded by mountains on all sides or C) have no open borders agreements with any of you neighbors. Being able to just tell a unit to patrol your borders would be extremely useful, although it would eat up system resources immensely once you have railroads.
 
I would love to see the game incorporate uncertain/fuzzy boarders, disputed territory, etc. Maybe if the level of influence two civs have on a plot is within a certain margin of each other (ie neither has a solid majority, say at least 65%), then that tile somehow belongs to both of them. Stationing a unit on disputed territory makes it effectively yours as long as you occupy it; otherwise, resources can't be gathered and food/production yeilds are reduced.

Using units to claim territory by force is generally a much-needed improvement. Units could simply have an "occupy" function that adds culture to the plots in question, as someone said above. Even have it work on uninhabited lands, so that 'laying claim' to an area with your military actually means something. I think 'cleansing' an area of foreign culture is decidedly un-PC and should be packaged as such if it's included at all.

I have absolutely no idea how to make more definable national boarders for later time periods, but I'd love to see someone try.
 
Vishaing said:
Making walkers always travel with military units would give them too much power in my mind and might get the walker 'stuck' between two, three, or more units, which are generally stationed over resources. I would give it a +60% chance to travel with military units, just a little bit over the + for a worked tile.

+100% chance doesn't mean "always"...it just doubles the base chance relative to all the other adjacent squares. Assuming no diagonal travel, and featureless, unimproved flatland, the walker has a 1/4 chance of going in each of the four cardinal directions. Place a military unit to the north, and that chance becomes 2/5, with a 1/5 chance of going in the other directions.

In the long run, it roughly doubles the culture production on squares with units, at the expense of culture production in other squares.
 
Back
Top Bottom