Provinces: Layer on Layer action!

For discussion on the most 'core' concepts and ideas for the first version of the SOTE project. This is for absolutely necessary mechanics and ideas that form the backbone of the game.
ZachPruckowski
Posts: 1
Joined: Thu Jun 22, 2017 4:48 pm

Provinces: Layer on Layer action!

Post by ZachPruckowski » Thu Jun 22, 2017 9:53 pm

One of the things that's come up in Discord was how to handle provinces and movement. Here are some general take-aways from those discussions:
  • We want to have a hex or square grid where each individual hex or square is as small as possible in the context of the engine - a few KM or so.
  • On top of this grid is layered various "provinces" made up on individual hexes/squares on which the various ecological/political/whatever algorithms act - a forest might be composed of a dozen little hexes.
  • There'll be mix-and-match so, for instance, a size-6 lake could be one province on the ecological layer but also split on the political layer.
  • There are potentially inter-relationships between grid size, tick length, and military movement speed.

Jonnicon
Posts: 4
Joined: Thu Jun 22, 2017 8:31 pm

Re: Provinces: Layer on Layer action!

Post by Jonnicon » Fri Jun 23, 2017 1:07 am

How about expanding on this concept of a hexagon province system with creating entire regions and areas.

Region- Consists of 5000+ hexagons that can have a regional capital like meoui and taxes 2.0. The entire region will be build up with smaller areas within it to represent production of food and raw minerals that will be sent to the regional capital and minor cities. The food will represent how much urban population can be supported. The raw minerals will determine what manufacture goods a city can specialize in.

Regional Ruler - These entire regions can have a appointed governor or duke depending on the government of the nation. The ruler can have random traits that effect the welfare of the region. For example, if the ruler is corrupt he will over tax the people, which can lead to a minor rebellion. The appointed ruler can enact regional policies effecting the well being of the locals. For instance, the ruler passes a policy increasing the percentage of crops taken from the peasants.

Areas - Consist of 500 to 1000 hexagons will be the foundation of regions. These areas can specialize in producing goods such as raw minerals and food. The areas can have counts who must raise a levy when called to arms. The area ruler will have random traits. In addition, we can create a system where if an area that produces food is raided by orcs. The food that is destroyed can lead to starvation in regional or minor cities. Every area can consist of a minor city that produces a lesser good. These minor cities will compete with each other to be the regional capital city.

Area Ruler - Similar concept of a regional ruler but with the rank of a count. The lesser ruler will have random traits that will effect the welfare of the area. For example, a coward trait can lead the ruler to staying in his castle instead of defending his peasants from a orc raid.

Provinces - can be within an area.

Below is an image of brainstorming of what a province can be with index:

Villages - 0 to 500 urban. Purple

Towns - 500 to 1000 urban. Orange

Minor cities - 1000+ urban. Each Dark Grey is 1000 urban population.

Small Estate - 0 to 1000 rural peasants.

Farm estates - 1000 rural peasants max. Yellow

Roads - Light Grey

Forest - Dark Green

Plains - Light green

Blue - River

Light blue- Bridge over river

Dark Brown - Mountain

Light brown - hill
Attachments
Untitled.png
Untitled.png (36.42 KiB) Viewed 3274 times

User avatar
CowboyDeng
Posts: 15
Joined: Fri Jun 23, 2017 4:22 am

Re: Provinces: Layer on Layer action!

Post by CowboyDeng » Fri Jun 23, 2017 5:38 am

So this is my assumption about how this would work, I imagine that both systems above-mentioned systems can be used but for different 'layers' or 'map modes' or whatever else. I would say that the geographical information, that if fairly static, can be the underlying 'ground-work' from which the player can build the areas, provinces,etc. This system of dividing land into sections with capitals and cities is not natural after all, it therefore seems logical to me that it should be a part of a geopolitical system where the player stake their claims and control to the geographical tiles of forest, river, coastline etc. I am unconvinced of whether these areas should be strictly hexagonal, after all if I were a settler in a valley, I would position my main cities and infrastructure immediately around the river, not in a hexagonal pattern that would lead me out into the scary hills or forests. Perhaps instead the provinces/areas, instead of being hard coded, can be created by the player in an administrative manner; so that nations could develop naturally, around the natural goods they require to prosper, rather than simply blobbing in every direction, accidentally laying claim to worthless deserts or untraversable peaks and mountains.

Demiansky
Posts: 50
Joined: Thu Jun 22, 2017 4:03 pm

Re: Provinces: Layer on Layer action!

Post by Demiansky » Fri Jun 23, 2017 11:59 am

Okay, so there's a lot of interesting stuff going on here. Zach's OP characterization is accurate. We will have overlapping layered "provinces" for a wide range of different things: ecological provinces, geopolitical provinces, trade provinces. It'll be somewhat similar to the system that Paradox has with trade nodes, regions, super regions, etc. The difference is that ours will be dynamic. The general idea is that we'll be able to store the larger bulk of data in these "larger" game objects so that we aren't running calcs on the 150,000 or so smaller tiles in game.

As for Jonnicon's input, I think you are on the right track with your geopolitical subdivisions. I'd like to see a system by which you have geopolitical "chunks." So a big city which reaches out with its influence to dominate a specific area--- the bigger the city, the further the influence. However, if your people settle an area that is further away from the reach of the geopolitical influence of the city, then it becomes its own geopolitical "chunk." The implications here is that it could grow larger (or even surpass its mother city ala Carthage) and plausibly achieve its independence defacto in times of turbulence or it could break off in an independence war. In most cases though, it'll probably just end up being a unit of your country. When there is a call to arms, all eligible and willing soldiers go to the metropole of their own respective "chunk." I think these geopolitical chunks are especially important because we need to formalize decay mechanics to be just as strong as growth mechanics, rather than shove them in ad hoc the way that a lot of Paradox games have handled it.

As for Cowboydeng's remarks, I think what you say is true to some effect, but its also true that for less mature societies who have not bumped up against the carrying capacity of the land at a given tech level, settlers have often gone roaming off to new land irrespective of what national borders might look like in some map in the king's palace. I think what should happen is that in a mature system--- as cities grow--- these geopolitical borders tend to come into long term equilibrium, with geographic barriers acting as a serious "drag" on expansion of those geopolitical borders. In an open plain that is rapidly brought under cultivation, a metropole's influence might spread outward rather quickly. If it suddenly runs into a dense forest, however, it will get stuck. Remember, the idea is that a metropole's "influence" range will depend on the power of the metropole, but will also require people to be actively settling the land beyond its prior borders. If you are humans trying to settle dense forest or mountains, that influence is going to grind to a halt.

However, there could still be plenty of cases where two countries share a border on some plain, with one country's influence oozing onto the people of the other country (this is how border wars get started, right?)

User avatar
soy de river beaver
Posts: 21
Joined: Fri Jun 23, 2017 9:49 pm
Location: Argentina

Re: Provinces: Layer on Layer action!

Post by soy de river beaver » Fri Jun 23, 2017 11:14 pm

Roads - Light Grey
i dont think roads should be a full tile, they should either be visible with some button or some economic/administrative mapmode.

i am not sure about having ''counts, regional rulers and area rulers'', i dont know if it really adds anything, its not like this is ck2, you do not represent a character, this characters will not fight over anything nor have ambitions, maybe if it were just a governor and a count instead of 3 layers of characters it might be better.
i mean, its possible to try do something interesting out of this, but it might go into a whole diferent direction, maybe too much effort even.

what jonnicon said about food depending in areas is perfect. this means you could shape, divide and merge diferent areas to guarante a more efficient food suply and/or rescourse gathering. either by production or by state maintanance cost, since having your whole food production come from the other side of your nation isn't the cheapest and most effective way of doing it, as neither is having your metal ores go too far to be melted and then again too far to be manufactured in your workshops (this could from a penalty to a synergy bonus even).

I think a mix of (maybe less or more): population, tech, traits, maybe traditions, will give influence to your country/area/territory. wich will determine how much can your civilization manage, reaching tiles such as mountains and forest is harder, so those should be worth more influence points than grasslands and marsh.
now, the use of this points will be in most cases SEMI-AUTOMATIC, the city will automaticaly look for what it needs or what you tell it to. if you dont, the city will automaticaly look for what it needs (more metal and wood for workshops, more grassland to farm or coast to fish), if it doesn't need anything it will just try to expand using the same amount of influence on each frontier. why the same amount of POINTS? because then it would ed up something like this:

red: expansion after some time
orange: expansion after even more time
Image
now, i am aware this is not exactly correct, i didnt give them a cost nor i did the math, but this is kind of the idea, it will make geographical barries shape the countries at big scale, but i think there will need to be many level of mountains that cost more than normal (higher ones) and the cost of expanding into rivers should be higher each tile (for example first water tile costs 1, the second one 2, the third one 4, the forth one 8) in order to do reallistic ones.

also, there should be a limit to pop by tile dictated by architectonical tech or something like that, and maybe people over the limit, people with less money or/and people with jobs to far away can group together and form villages around the city or near the richest lands. just like in RL

Demiansky
Posts: 50
Joined: Thu Jun 22, 2017 4:03 pm

Re: Provinces: Layer on Layer action!

Post by Demiansky » Sat Jun 24, 2017 12:14 pm

Soy, in regard to the whole count/duke thing to some extent, but one important thing I do want to preserve is the "geopolitical units" that are within other geopolitical units. So for instance, if a Kingdom of Empire cannot maintain enough internal control, we need that ready made system for nations to Balkanize and fall to pieces and also merely to have appropriate rebels to break away. Having these nice, neat little geopolitical units would help with this considerably and also add a system by which it is easier for the player to govern their society. These geopolitical units could also act as geopolitical units that you must serve or please. If you pile on "bureaucratic effort" into your capital but NOT in that part of your country over yonder beyond the hills, they might gradually grow angered by the fact that you are taxing them but not building all of the nice canals and roads and public works that you are building in the capital.

There are a lot of possibilities here.

As far as moving food, iron, etc, we can bootstrap this into our planned trade system. The overall global value of internal domestic trade is technically just as valuable as foreign trade, it just happens to be that foreign trade often tends to be more profitable for the "middle man" who facilitates it. Otherwise, the principles are the same. Every geopolitical unit can have a supply and demand of various goods which can be satisfied by either domestic or foreign sources. Food, of course, can be one of the main ones. In order to keep trade fluid, you need to make sure you facilitate it. Roads, bridges, ports, and "safety" all facilitate trade. So if you have your capital in a verdant valley with tons of food, keeping your smelting industry robust and humming along involves keeping that long winding road into the mountains safe (and also making sure you don't lose control of the iron mines up in the mountains either).

Demiansky
Posts: 50
Joined: Thu Jun 22, 2017 4:03 pm

Re: Provinces: Layer on Layer action!

Post by Demiansky » Sat Jun 24, 2017 12:22 pm

As far as the tile map and city influence is concerned, I think this is a good rough concept. I'd like "city influence" as a geopolitical unit to avoid a simplistic Civ style (I'm generating this culture thing indefinitely and I'm blobbing bigger and bigger!) I'd like city influence to be a composite of the weight of its population, the weight of its industry, etc. and require some measure of "people on the ground" who are living on the frontiers of the city's influence. So for instance, spreading through the mountains would be difficult because settling in the mountains is difficult, and can't sustain many people. Building things like roads could expand a city's influence and be a corridor for people to settle along the way, thus expanding influence as well. The idea, theoretically, is that a massive metropole could have colossal influence and even potentially swallow up smaller cities.

And yes, there will be a limit to pop, but we've already started detailing some of how that works in a different thread. Expanding one's ability to live in a tile is a fairly sophisticated issue and it takes a long time to grow out any given tile's potential (when agricultural technology and such is added in, it becomes a game long affair).

Edit: Also, where did you get those little tile models?

User avatar
kukumarro
Posts: 17
Joined: Fri Jun 23, 2017 8:06 pm
Location: Montreal

Re: Provinces: Layer on Layer action!

Post by kukumarro » Sat Jun 24, 2017 3:04 pm

Those tile models you have there are very cool, please share them!

Now, an important question would be the scale. The number of tiles needed to cover an area will be inversely proportional to the square of a tile's longitude. Even if most calculations would not run at the tle level, there is always needed a compromise between detail and performance, so I was wondering what numbers we would be talking about.

For a rough preliminary calculation, let me consider a planet the size of the Earth. With a radius of 6053 km, it has an equatorial perimeter of 40000 km. If we use hexagons with a radious of 1km, we need 23094 hexagons side-to-side to cover the equator. This number of hexagons covers the 360º of longitude, so to cover the 180º of latitude we need 11547 hexagons. Multiply both, and we need 266 millions of hexagons. If instead of r=1km hexagons we use r=10km hexagons, this number would be 2.6 millions.

Consider the memory used to save a world with these numbers of tiles. Using only 1 byte to save the info of one tile (if it is mountain, pasture, woods, etc), the memory used for this would be 266Mb for the 1km radious. This sounds reasonable to me. Using a 500m radious, which is a 1km diameter (nice number), the memory would be 1Gb (nice number too).

I also have a suggestion: in order to make 3D spheric planets with 2D hexagons, we should make the longitudinal extension of the hexagons depend on the latitude with a function cos(lat). This is the approach used by scientific global climatic models. This would still provoke an anomaly in the poles, but there are ways to work around that like covering them with ice caps.

User avatar
David Buunk
Posts: 78
Joined: Thu Jun 22, 2017 4:46 pm
Location: Netherlands

Re: Provinces: Layer on Layer action!

Post by David Buunk » Sat Jun 24, 2017 3:27 pm

Tiles would need way more than a single byte to store. You're going to need something like:
[*] Height
[*] Ruggedness
[*] Wind speed
[*] Wind direction
[*] Water speed
[*] Water direction
[*] Temperature
[*] Soil type
[*] Biomass
[*] Percentage managed

Assuming we store some of these as bytes and some a short int, we have about 16 bytes/Tile. So we're going to need larger tiles.
I also have a suggestion: in order to make 3D spheric planets with 2D hexagons, we should make the longitudinal extension of the hexagons depend on the latitude with a function cos(lat). This is the approach used by scientific global climatic models. This would still provoke an anomaly in the poles, but there are ways to work around that like covering them with ice caps.
Care to elaborate on that? Do you scale the angle with cos(lat), or the surface distance?
Programming SotE.

User avatar
kukumarro
Posts: 17
Joined: Fri Jun 23, 2017 8:06 pm
Location: Montreal

Re: Provinces: Layer on Layer action!

Post by kukumarro » Sat Jun 24, 2017 3:51 pm

David Buunk wrote:
Sat Jun 24, 2017 3:27 pm
Tiles would need way more than a single byte to store. You're going to need something like:
[*] Height
[*] Ruggedness
[*] Wind speed
[*] Wind direction
[*] Water speed
[*] Water direction
[*] Temperature
[*] Soil type
[*] Biomass
[*] Percentage managed

Assuming we store some of these as bytes and some a short int, we have about 16 bytes/Tile. So we're going to need larger tiles.
Of course, it depends on how much information a single tile has to provide. I agree on most you said except climatic variables. For water, it will make more sense to define those variable for a multi-tile entity called "river" or if talking of oceans, it will be much easier to define on a regional level. Temperature and wind would also be more appropiate to define in a climatic zone rather than tile level. Height is appropiate in tile level and can be used to calculate a more specific tile temperature by modifying the climatic zone temperature as a function of height, if necessary.

Also, 1km tiles is an extremely detailed resolution. I think we can manage with 5 or 10 km tiles just fine.
David Buunk wrote:
Sat Jun 24, 2017 3:27 pm
Care to elaborate on that? Do you scale the angle with cos(lat), or the surface distance?
Surface distance, but only in the longitudinal (east-west) direction. It is easier to see with square tiles, but is the same principle with hexagons.
Take a look at the image.
gcm_grid_graphic.jpg
gcm_grid_graphic.jpg (127.55 KiB) Viewed 3150 times

Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest