We are still in heavy development phase for PoP4.0 (currently at early alpha stage)
One of the things i did lately, was to develop some concepts i have for several years now and finally wanted to see them alive in a mod:
The basic idea is to be able to track more in detail where exactly a given party is on the map.
The base is the point/triangle-collision detection. I choosed this over rectangles (which are defintly easier to compute, cause it enables me to layout a better fitting mask. Also i didnt used circles (which would be really easy to setup a algorithm cause i could use the already existing code for checking the distance to a party) cause they either would overlap or have spaces between them and as far as i know extracting a root is really expensive in terms of computation.
Instead i used the following grid setup:
Now that i am able to track a given region the player is into, its possible to make a lot of real interesting stuff with that.
The easiest things was to inform the player about the region he enters when he travels the map. On the first time he entered he is also given indepth information and lore about the region (in a pop-up) – this is mostly to help people to visualize/understand the world they are exploring better.
The next thing was to tie this information to movement speed modificators.
For example in more hilly regions the player will travel slower, while (on the same terrain) in another region he is faster.
As far as i am aware this is also the first time that using roads in m&b will have any effect beside just beeing a visual gimmick.
This can get as complex as one wants it to be. For example a faction living in a hilly area dont get movement speed penality (simulating they know their homeland terrain).
Another great deal was to improve the weather simulation in M&B.
Weather in M&B currently uses 2 variables: cloud-amount and haze-amount
The first controls rain in battle-maps, the second the fog.
Now the idea was to make a region dependend simulation on base of this.
I used Arrays to store information about the weather for each region
To simulate the weather i used the following concepts:
– Randomize the weather in all regions by a certain amount
This will add some noise to the weather and make sure no region have exactly the same settings than another.
– Averaging / Smoothing surrounding regions weather settings (too avoid too hard jumps from one region to another)
– Using “Seed” regions outside the grid to control the weather.
The seeds themselves dont get randomized or smoothed
How can we design now the climate/weather of Amala (this is the name of the land PoP4.0 will be playing in)?
Using the Seeds we define a base weather for the border regions.
Something like sunny,and some clouds at Pendor Landing
Cloudy, foggy at ashenborn
no fog, but lots of snow at santara … stuff like that
Then we can define for each region how much randomization they will have
(see this like: lots of randomization = rough weather changes, not so much randomization its more smooth)
So we can say for example: Ashenborn will have rough weather, heavy changes
while Nohseru is more a smooth region, weather changes are more subtle there
Last but no least, and now it gets kinda complex:
We can define a weather cycle for each region. With that i mean that we say for each month the general base weather, and this will cycle every year. This makes it possible to do stuff like:
More rain in the spring, less rain and fog in summer etc…
A final note:
This is a highly dynamic system. Lots of randomization, but also strict rules…
What you recognize ingame tough is at first sight very subtle… but keep in mind that linking such systems creates a truly dynamic, living and breathing game-environment.