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.
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 4:14 pm

kukumarro wrote:
Sat Jun 24, 2017 3:51 pm
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.
I would not have expected that. I assumed that it would be easier to do calculations on such things if you looked at regular-shaped tiles.
kukumarro wrote:
Sat Jun 24, 2017 3:51 pm
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.
You would need to do that at a minimum. However, it leaves you with tiles that are neither have a regular shape, nor a constant area. You can fix one of those, and that leaves you with only having to correct for the other. Either also scale the height of the tile with cos(lat) to make regular shape and correct angles, or scaling the height with 1/cos(lat) to make sure the area of all tiles is the same. You probably know more about this than I do, so please enlighten me.
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 5:10 pm

David Buunk wrote:
Sat Jun 24, 2017 4:14 pm
I would not have expected that. I assumed that it would be easier to do calculations on such things if you looked at regular-shaped tiles.
Global climate models do calculate all those things on a tile level (wind and ocean currents are calculated with wave functions and then translated to a discrete space). But this is not an actual climate simulator, what we can do is to pseudo-simulate climate to obtain patterns that make sense. And given the time scale of the game, it would not make sense to simulate "weather" (like the hourly temperature and humidity they had in hoi3) but weather averaged over time which is "climate". So rather than tile-scaled calculations it is much better to define climatic areas/regions/superregions in world creation and imprint an internal variability both in space (height) and time (seasons and non-periodical phenomena). Local/global climate change can also be implemented to affect these climatic zones in a coherent way.
David Buunk wrote:
Sat Jun 24, 2017 4:14 pm
You would need to do that at a minimum. However, it leaves you with tiles that are neither have a regular shape, nor a constant area. You can fix one of those, and that leaves you with only having to correct for the other. Either also scale the height of the tile with cos(lat) to make regular shape and correct angles, or scaling the height with 1/cos(lat) to make sure the area of all tiles is the same. You probably know more about this than I do, so please enlighten me.
Of course, the method implies tile deformation and area loss in order to keep a constant number of tiles in each latitude parallel. The problem we face here is the same historical problem of Earth's maps: representing a 3D surface in 2D. I am afraid there is no perfect solution, you always have to sacrifice something to keep something else. If you played Civ5 or Civ6 (which have hexagonal grids) you'll see the price of keeping the tile's size constant is that the circunference of the Earth is constant with latitude, meaning Earth is a cilinder xD.

In climate models, they just don't see a problem to have tile's area reduced in latitude, you can keep everything consistent. In the game, it could have aestetic consequences in the sense that you will have a latitude-dependent size modifier for everything related to tiles. Want to chop a forest? the cost is 64.27% the base (equator) price because the tile is at 50ºN. I mean, it is not the end of the world, but obviously we have to take a decision on what do we sacrifice here to the map God.

PD: the problem dissapears automatically if the world is actually a plane, a cilinder, or any surface with zero Gauss' curvature. This is a phantasy world, isn't it?

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 5:33 pm

kukumarro wrote:
Sat Jun 24, 2017 5:10 pm
Global climate models do calculate all those things on a tile level (wind and ocean currents are calculated with wave functions and then translated to a discrete space).
Eventually we will want this to have a real climate simulation. Eventually.
Image
kukumarro wrote:
Sat Jun 24, 2017 5:10 pm
I am afraid there is no perfect solution, you always have to sacrifice something to keep something else.
That is very true, but it would be a good idea to have a discussion about what to sacrifice.
kukumarro wrote:
Sat Jun 24, 2017 5:10 pm
In the game, it could have aestetic consequences in the sense that you will have a latitude-dependent size modifier for everything related to tiles. Want to chop a forest? the cost is 64.27% the base (equator) price because the tile is at 50ºN. I mean, it is not the end of the world, but obviously we have to take a decision on what do we sacrifice here to the map God.
Since most such things will be done per TileGroup (or province, whatever you want to call it), that will just mean that TileGroups will be larger, on average, at higher latitudes. But within the variety of TileGroup sizes, the player will hardly notice.
kukumarro wrote:
Sat Jun 24, 2017 5:10 pm
the problem dissapears automatically if the world is actually a plane, a cilinder, or any surface with zero Gauss' curvature. This is a phantasy world, isn't it?
Well, yes, it is fantasy, but we want a check-box to switch of fantasy as well, so in that case we'd like it accurate, I guess.
Programming SotE.

Inhumanity
Posts: 5
Joined: Thu Jun 22, 2017 5:04 pm

Re: Provinces: Layer on Layer action!

Post by Inhumanity » Sat Jun 24, 2017 5:40 pm

What about this? no problem with poles?
Image

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 5:59 pm

Inhumanity wrote:
Sat Jun 24, 2017 5:40 pm
What about this? no problem with poles?
A fullerene-like structure like that does not consists of only hexagons, it needs pentagons here and there. You can see them in the picture.

Which does not necessarily imply that it can't be done...
David Buunk wrote:
Sat Jun 24, 2017 5:33 pm
That is very true, but it would be a good idea to have a discussion about what to sacrifice.
I completely agree.

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

Re: Provinces: Layer on Layer action!

Post by Demiansky » Sat Jun 24, 2017 6:25 pm

Unfortunately, I think trying to faithfully represent a true globe or anything resembling it is definitely beaver with top hat at this point in game development. We already have the immense complexity of the systems slated to deal with, and going through the trouble of having a true globe for a world doesn't add much for the complexity of dealing with it (especially when you consider that we are, afterall, noob game developers). My impression is that once we become more experienced and have working prototypes, we're going to be sacking a lot of our old work because OMG-HOW-COULD-WE-HAVE-BEEN-SO-STUPID-TO-DO-IT-THAT-WAY?? At that point, we can revisit the concept of a proper globe.

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 7:40 pm

Demiansky wrote:
Sat Jun 24, 2017 6:25 pm
Unfortunately, I think trying to faithfully represent a true globe or anything resembling it is definitely beaver with top hat at this point in game development. We already have the immense complexity of the systems slated to deal with, and going through the trouble of having a true globe for a world doesn't add much for the complexity of dealing with it (especially when you consider that we are, afterall, noob game developers). My impression is that once we become more experienced and have working prototypes, we're going to be sacking a lot of our old work because OMG-HOW-COULD-WE-HAVE-BEEN-SO-STUPID-TO-DO-IT-THAT-WAY?? At that point, we can revisit the concept of a proper globe.
Cylinder world it is then

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

Re: Provinces: Layer on Layer action!

Post by Demiansky » Sun Jun 25, 2017 1:09 am

Lol, yeah, sorry. Gotta get some of the basics down first.

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 » Sun Jun 25, 2017 4:23 am

kukumarro wrote:
Sat Jun 24, 2017 3:04 pm
Those tile models you have there are very cool, please share them!
i just googled hexagonal map :lol:
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
if we are truly making a detailed climate system, lets just make it even more realistic by leting the climate dictate the soil type.

on this case, it should start as basic [''mountain'' ''hills'' ''plains''] tiles. Then depending on:
-height(permanent)
and
-climate(temperature, humidity, relative humidity, wich all can variate depending on the wind currents, as in RL this can create deserts, rainforest, arid places, cold places)

and so, the first 3 basic tiles may evolve into jungle, savana, deserts, marsh, hill forest, steppes, etc.


i dont know if it would be the best choice for a game in wich terrain will constantly change due to lifeform's intervention, since in a small world the consequenses might be huge.

so you could just tone it down, and start with [''plain'' ''forest'' desert'' ''hills'' ''mountains'']
so the biome wont drastically change, no matter what happens.

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

Re: Provinces: Layer on Layer action!

Post by kukumarro » Sun Jun 25, 2017 1:42 pm

soy de river beaver wrote:
Sun Jun 25, 2017 4:23 am
if we are truly making a detailed climate system, lets just make it even more realistic by leting the climate dictate the soil type.
If by "soil type" we are talking of the clay-sand-silt composition used to clasify soil nowadays, that is not very dependent on climate. The carbon density of the soils is, but over long periods of time. Anyway, soil type is much less important for any ecosystem than temperature and moisture, so I suggest we forget about the soil type for now.
soy de river beaver wrote:
Sun Jun 25, 2017 4:23 am
i dont know if it would be the best choice for a game in wich terrain will constantly change due to lifeform's intervention, since in a small world the consequenses might be huge.
I would separate two variables we are mixing here. First the rugosity (whether a terrain is hilly, mountainous or plain) which has more to do with tectonics than climate (main dependency of climate being fluvial/glacial erosion to form valleys, which we can treat like a correction on the rugosity determined by tectonics). Second the ecosystem (desert, tundra, forest, jungle, etc), determined by climate and altitude.

As Demian has been repeting in all categories, we should start with something simple enough and steadily increase its complexity. So I would start by determining world shape (oceans, continents and stuff) with tectonics and climate with a simple model both in world creation, keeping them fixed for the game. We will have time to implement climate change after that.

Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest