We'll introduce the redesigned nature system in this devlog.
To make the nature simulation more realistic, we designed algorithms based on real science to simulate the movements of celestial bodies. Then we can have precise (relevantly) day/night cycle, sun altitude angle, moon phases and seasons according to players’ latitude and longitude.
For now there are 365 days a year in Survisland, one leap year for every four years, and an ingame day is 1 hour in real life. So it is very challenging to survive in this game for a year. We will consider to drop the numbers of days in every year or each season, and players will be allowed to choose which season they like to start the game, as the environment and difficulty will be different accordingly. We recommend to start in Spring.
Sun rises above horizon exactly at 6 am on Spring Equinox, Location: Mangrove Island
With an accurate Calendar, we can get the sun altitude angle in realtime and use it to calculate the sunlight intensity.
The difference of body temperature between outside and inside of shadows
Sunlight intensity plays an important role in other systems, for example, your body temperature rise when exposing to the sun directly, and stand in shade will keep you cool. Another factor that can affect the sunlight intensity is the Cloud Intensity. But we'll talk about that later in the Temperature System.
Then it comes the most important factor of nature system: Temperature
We currently are not setting the average temperature according to the latitude of player for all the islands are set in tropical zones. But we will add more varieties in the future.
The temperature simulation is based on average air temperature according to current date in a year. (using the calendar system mentioned before) Then let it rise or drop according to the sun angle at the time. This system can better simulate heat transfers from the sun. With the calculated basic temperature value, we can then let the cloud intensity, player altitude and other factors to affect the realtime air temperature.
Air Temperature is one of the major factors that can affect player’s Body Temperature, it is important to adjust your clothing accordingly.
Besides the air temperature, we also calculate the sea water temperature separately. Player can experience the difference when swimming or standing in the water.
Wind is another important factor in nature system. For the changes of wind is more unpredictable than temperature. We use normal distribution to pick a wind speed base value for each day from a set of wind speed data, which is referred to real wind speed data collected on sub-tropical islands. We will add more wind speed data in future, to increase the diversity between different areas.
At the end, it's the most important system: Weather system. It includes cloud changing, rains, wind speed affections and more. We'll update this mechanics in the next devlog.
Now we are debugging all these complex systems, and hope can build a steady version in this week, new demo videos are coming soon, keep yourself updated!