I have decided to post my own take on the idea. It is a detailed suggestion, including a fair bit of mathematics.
Basic Principles
Seasons should be optional per world.
Old worlds should play the same as they have always played.
Season effects should be controllable by game rules.
Players should be able to choose what season effects they want when creating the world and then lock them thereafter unless cheats are enabled.
Seasons should not have adverse effects on the player.
Seasons should modify the game world primarily for atmosphere.
General Notes
Seasons have no direct effect on the player. Seasons are intended to be primarily for flavour.
Seasons will have an effect on the world and some effect on gameplay. For example, growing crops is slower in winter and undead mobs burn more quickly in sunlight in the summer.
Most seasonal effects are controlled with game rules.
Axial tilt is 22.5 degrees. This is close to the real world value of 23.5 degrees. It is set to this value because 22.5 degrees is 90 degrees divided by four.
Sunrise and sunset times and the height of the sun in the sky depend on latitude and the time of the year.
Seasons begin and end at the days that are midway between the equinoxes and solstices. The equinoxes and solstices occur in the middle of each season.
World Creation
Seasons are optional when creating a new world. Default is no seasons. Old worlds will have no seasons.
When creating a new world, if seasons are chosen, the player has the option to choose the Latitude. Latitude determines the direction the sun moves across the sky. Latitude can vary from 75 degrees North to 75 degrees South in steps of 1 degree and is chosen using a slider. Players can select whether seasons on the new world have an effect on animals, plants, hostile mobs and climate. These are enabled by default.
The game commences at the start of Spring. The player can also choose to commence the game at the start of autumn for a more challenging game. With an Autumn start, the player would only have 51 Minecraft days (17 hours of gameplay) before winter begins.
Year and Seasons
Seasons
The seasons are:
0 = Spring
1 = Summer
2 = Autumn
3 = Winter
These season numbers are intended to be used with commands to set the season.
Year
A lot of previous discussion on seasons has included debate on the length of the year. The main consideration for my choice is that all the months and seasons should be the same length to keep the calendar simple to understand. I have chosen a year length of 204 days. This length of a Minecraft year is intended to be fairly long, but not too long.
The 204 days in the Minecraft year is made up of 12 months each with 17 days. The reason for the 17-day month will be explained in the next section.
A Minecraft year takes 68 hours of gameplay to complete a cycle. The year is 4,896,000 ticks long (20 × 60 × 20 × 204 = 4,896,000). The year starts in Spring unless an Autumn start was chosen. The calendar reflects the current season; if the seasons are changed by changing the latitude (this is only possible if cheats are enabled) the calendar will show this change.
Months
The months are:
0 = EarlySpring
1 = MidSpring
2 = LateSpring
3 = EarlySummer
4 = MidSummer
5 = LateSummer
6 = EarlyAutumn (EarlyFall is a synonym)
7 = MidAutumn (MidFall is a synonym)
8 = LateAutumn (LateFall is a synonym)
9 = EarlyWinter
10 = MidWinter
11 = LateWinter
The months in the middle of the seasons often have the greatest seasonal effects. Some seasonal effects are tied to specific months such as leaves falling in autumn and desert storms bringing rain in midsummer.
The game starts in the Early Spring month or the Early Autumn month. If the game is started in Early Spring, the SpringSouth flag will be 0 for Northern starts and 1 for Southern starts. A game started in Early Autumn will have opposite values for the SpringSouth flag. A game started on the Equator has the SpringSouth flag chosen randomly and has very limited seasons.
Each month is 17 Minecraft days long. The length of a lunar month is increased from eight phases in eight days to 16 phases in 17 days. The motion of the moon is altered so the moon is placed correctly in the sky in relation to the sun at all times. The moon moves backward in the sky at a rate of 1½ Minecraft hours per day. This causes the moon to lose one day per month, so an extra day is added to the month to account for this.
Technical Discussion
I have concealed some technical descriptions here to avoid scaring the mathophobes.
Current Day in Year
The current day in the year ranges from 0 to 203.
The current day in the Minecraft year:
Day = Daynumber mod 204
or Day = floor(Ticks ÷ 24000) mod 204
where Ticks = age of the world in Ticks 204 = 17 (days in month) × 12 (months in year)
Longitude of the Sun
The longitude of the sun is the current position of the sun in its orbit. It increases by 360 degrees in one Minecraft year. It is used to calculate the position of the Sun in the sky.
The longitude of the sun in degrees: SolarLongitude = ((Ticks + (SpringSouth × TicksPerYear ÷ 2) + Offset) mod TicksPerYear) ÷ 13,600
where Ticks = age of the world in Ticks TicksPerYear = 4,896,000 (the number of ticks in a Minecraft year) SpringSouth is the gamerule with that name with values 0 or 1 Offset = 4,290,000 = 7/8 × TicksPerYear + 6000 13,600 = TicksPerYear ÷ 360
The Offset is carefully chosen so that the SolarLongitude reaches zero at 12:00 (midday) on the ninth day (the middle day) of the MidSpring month (day 25 when counting from zero) assuming the world starts in Spring. At this time the Sun is precisely at the Equinox.
The Longitude of the Sun increases by 1/13,600 degrees per tick, or approximately 0.265 seconds of arc per tick.
Declination of the Sun
The declination of the Sun is the position of the sun north or south of the celestial equator.
The Declination of the Sun in degrees: SolarDeclination = arcsin(sin(AxialTilt) × sin(SolarLongitude))
where AxialTilt = 22.5 degrees (note: sin(AxialTilt) is a constant) arcsin is the inverse sine function.
The declination of the sun ranges from +22.5 degrees to -22.5 degrees (the value of AxialTilt).
Solar zenith angle
The Solar zenith angle is the angle between the zenith and the centre of the sun.
Solar zenith angle = arccos(sin(Latitude) × sin(SolarDeclination) + cos(Latitude) × cos(SolarDeclination) × cos(HourAngle))
where arccos is the inverse cosine function. HourAngle is the current time as an angle, with noon = 0.
Solar azimuth angle
The Solar azimuth angle is the angle between north and the centre of the sun.
Solar azimuth angle = arcsin(-sin(HourAngle) × cos(SolarDeclination) ÷ sin(SolarZenithAngle))
where arcsin is the inverse sine function. HourAngle is the current time as an angle, with noon = 0.
Angle is measured clockwise from north. The solar azimuth angle is undefined when the sun is at the zenith or nadir; that is, when sin(SolarZenithAngle) = 0.
Game Rules
Seasonal effects can be controlled with game rules.
The four main game rules are:
gamerule SeasonalAnimals (A) – controls seasonal effects of passive mobs.
gamerule SeasonalClimate (C) – whether the climate changes with the seasons.
gamerule SeasonalHostiles (H) – controls seasonal effects on hostile mobs.
gamerule SeasonalPlants (P) – affects all seasonal plant growth except appearance of leaves.
These control the behaviour of mobs, plants and the climate in response to the seasons. All of them can be enabled or disabled if desired. They can be chosen when the world is created or can be changed if cheats are enabled. If all are disabled, the only effect of seasons are:
The day length changes throughout the year with a higher or lower sun according to the fixed axial tilt and user-chosen latitude.
Changing colours of leaves in autumn (except if the Latitude is zero).
These gamerules control additional settings.
gamerule Seasons – A global flag that determines whether Seasons are enabled for the world. Old worlds will have this flag disabled by default. If seasons are disabled, it overrides other settings as follows:
The gamerules SeasonalAnimals, SeasonalClimate, SeasonalHostiles and SeasonalPlants have no effect.
Latitude is treated as if it is zero.
Axial tilt is treated as if it is zero.
Leaves on deciduous trees do not change with the seasons. Leaves retain permanent summer texture and colours.
Using the Seasons parameter with the time command has no effect and raises an error.
Latitude – the current latitude, an integer from -75 to +75 inclusive. Positive is north. Note: changing the latitude from a north to south latitude or vice versa will swap the seasons. For example, if the latitude is a northern latitude and it is Spring, changing to a southern latitude will also change the season to Autumn. Changing the latitude can only be done if cheats are enabled.
SpringSouth – a technical flag that determines whether the sun moves towards the North or South in Spring. This is set automatically when the world is created. If the player chooses to start the game in Spring, it is set to 0 for North latitudes and 1 for South latitudes. If the player chooses to start the game in Autumn, the flag will have the opposite settings to a Spring start. This flag is set randomly when the player chooses a Latitude of zero (the Equator). The flag is needed so that the Day Number can start at zero for all worlds and changing the latitude works as expected. The game handles this flag automatically on world creation, but it is possible for world ops to override it.
Time – extend this command to set the season. The time of year is calculated from the current Day Number, so no separate command is needed. Setting the season does not work if the Seasons gamerule is disabled.
time set season Spring – advances the time to the first day of the Spring season.
time set season 0 – advances the time to the first day of the Spring season.
time set month EarlySpring – advances the time to the first day of the next EarlySpring month (month number 0).
time set month 0 – advances the time to the first day of the next EarlySpring month (month number 0).
Effect of Latitude
The seasons affect the position of the sun in the sky. In summer, the sun is higher in the sky. In winter, the sun is lower in the sky. If the latitude is a northern latitude, the sun will move across the south during the day and vice versa.
Equatorial seasons are the least extreme and polar seasons the most extreme. Equatorial seasons only affect the position of the sun in the sky and have no other effects. Polar seasons are the most variable.
Seasons have day lengths that vary according to the current time of the year and the latitude. The days at the equator are the same length throughout the year, although the sun does move seasonally in the sky. At low latitudes, the day length won't vary much over the course of a year. The higher the latitude, the more extreme the variation. The variation in the day length at high latitudes are so extreme that the player will even experience the midnight sun for a few days in summer and no sun at all for a few days in winter (although there will be twilight for several hours either side of noon).
Although the latitude of 75 degrees has no full daylight during the winter months, there are about 12 hours of twilight at midwinter that is bright enough to prevent hostile mobs from spawning. For about half the year at a latitude of 75 degrees, it never gets dark enough at night for hostile mobs to spawn.
The Minecraft sun is approximately 7.5 degrees wide, or 15 times the angular size of the real sun. This needs to be taken into account when calculating the length of daylight. A nominal 12 hours of daylight per day at the equinox increases to about 12½ hours per day due to the width of the sun. This means the nights on average are shorter than the day.
It should no longer be necessary to accelerate the night so it is shorter than the day; these new mechanics should do so naturally. Day and night length should therefore be adjusted so that the day and nights are not skewed towards the day but are more even in length.
Seasonal Variation
Technical discussion - a qualitative summary: the higher the latitude, the greater the seasonal effects.
The amount of variation depends on the latitude. The variation amount is a number between 0 and 1. It is derived as follows:
Variation = abs(latitude) ÷ 90
The seasons also can have their own effect depending on the current month. The middle month in the season has the effect increased by 50%. This is the month factor.
Many effects can be enabled or disabled with game rules. If the effect is disabled, the game rule is 0; if the effect is enabled the game rule is 1.
The seasonal effect cannot produce a negative effect.
For example, in Spring, bone meal on grass produces flowers at up to 5 times the normal amount of flowers. The Multiplier is therefore 4. If it is Mid Spring (month factor = 1.5) and the latitude is 54 degrees, the amount of flowers that would be grown is:
Effect = Max(0, 1 + 1 × 4 × (54 ÷ 90) × 1.5)
= 4.6
Season Effects
Gamerules:
A = SeasonalAnimals
C = SeasonalClimate
H = SeasonalHostiles
P = SeasonalPlants
E = Effect can occur when the latitude is zero (the Equator).
V = Effect takes into account the Seasonal Variation variable.
Spring
The days and nights in Spring are roughly equal. The amount of daylight per day increases as the season progresses.
E The Sun crosses the "equator" on the Equinox day.
Leaves on deciduous trees (oak, dark oak, birch) regrow as green shoots (spring leaves). The colour of the new leaves is a richer green. The progression is as follows:
Early Spring: Spring leaf texture is used with bright green colours.
Mid Spring: Summer leaf texture is used. The colour of the leaves changes gradually from bright green spring colour to normal
summer colour.
Late Spring: Leaves are normal Summer colour and texture.
CE Wet season in jungles. Rain in jungles occurs more frequently than other biomes.
PV Bone meal on grass produces abundant flowers (up to 5 x normal) in all biomes except savannahs, mesas and deserts.
PV Crops grow up to 100% faster with and without bone meal.
AV Cooldown for breeding cows, pigs and horses is reduced by up to two-thirds.
A Sheep bred in the Early Spring month produce single lambs with 25% probability, twin lambs with 50% probability and triplet lambs with 25% probability. Average yield of lambs in spring is two lambs.
AV Thrown eggs will spawn chicks up to twice as often.
Summer
The day length is the longest in summer and the sun is highest in the sky.
Leaves on deciduous trees take on their summer appearance.
CV Snow height is up to 100 blocks higher.
C Wet season in savannah and mesa. When it rains, it also rains in savannah and mesa biomes.
C Storms cause rain in deserts. Storms in deserts always produce rain in Mid Summer and 50% of the time in the other summer months.
P Savannah turns greener.
PV Bone meal on grass produces abundant flowers (up to 5 x normal) in savannahs, mesas and deserts.
PV Saplings grow up to 100% faster with and without bone meal.
HV Undead mobs burn 100% faster in daylight in all biomes except snow biomes.
HV Zombie pigmen like the heat and won't return through Nether portals on their own except in cold biomes.
Autumn
The days and nights in Autumn are roughly equal. The amount of daylight per day decreases as the season progresses.
E The Sun crosses the "equator" on the Equinox day.
Leaves on deciduous trees (oak, dark oak, birch) change colour and then appear to fall from trees in all biomes except warm biomes. This is simulated; the leaf blocks do not decay. The biome colour for deciduous trees is altered to autumn colours. Leaf textures are changed by changing the leaf textures to ones with fewer leaves. The progression is as follows:
Early autumn: Leaves do not change yet, retaining the appearance of summer leaves.
Mid autumn: Summer leaves change colour to autumn colours appropriate for each tree. This change is gradual and takes place over the whole month.
Late autumn: The leaf blocks change to a leaf block that is texture with half the leaves missing (falling autumn leaves).
CE Wet season in jungles. Rain in jungles occurs more frequently than other biomes. Jungles have two wet seasons in a year.
PV Pumpkin and melon fruits grow up to 300% faster.
PV Bone meal on saplings is 50% as effective except in warm biomes.
H On the last day of Autumn, undead mobs can spawn wearing pumpkins on their heads.
Winter
Winter is the month that has the greatest effect on the game. The nights are long and cold, plants and animals grow slowly, and hostile mobs have the longest time each day in which they can spawn. The day length is the shortest in winter and the sun is lowest in the sky.
CV Snow level is up to 100 blocks lower. Snows in cool and cold biomes.
C Exposed water that is below freezing can freeze into ice.
C When it snows in winter with thunder, the storm becomes a blizzard. In addition to the other effects, the visibility is reduced to 32 blocks.
Leaves on deciduous trees (oak, dark oak, birch) change to a leaf block with the leaves missing (winter leaves).
PV Plants grow at 25% of the normal speed in all biomes except warm biomes. Plants in icy biomes do not naturally grow at all in winter.
P Bone meal on crops advances the crops one growth level. Bone meal on crops works normally in warm biomes.
P Pumpkin and melon fruits do not grow except in warm biomes.
PV Bone meal on saplings is 25% as effective except in warm biomes.
PV Bone meal on grass produces no flowers.
P Leaf blocks on deciduous trees do not block light.
PV Dirt changes into Grass at 25% of the normal speed in all biomes except Warm biomes.
AV Cooldown for animal breeding is doubled.
AV Feeding animals to make them breed is 50% effective.
HV Undead mobs burn at 25% of the usual speed in daylight in all biomes except warm biomes (deserts etc). In cold biomes they burn in daylight at 25% of the usual speed.
AV Baby animals grow into adults at one-third of the normal speed.
HV Zombies spawn on the surface at night at up to three times the usual rate.
HV Zombie pigmen hate the cold and will return through Nether portals on their own much more quickly except in hot biomes.
Miscellaneous changes to support this implementation of seasons
Moon
Extend the Minecraft month from 8 days to 17 days. The moon has 16 phases.
Turn the moon so it faces the sun correctly.
Move the moon so its location is astronomically accurate with respect to the Sun at all times. Only full moons should be opposite the sun. Having a crescent moon opposite the sun is weird. The Moon follows the same path in the sky in a month as the Sun does in a year.
The Moon can sometimes be seen in the sky during the daytime. When the moon is in the daytime sky, it is drawn with contrast reduced by up to 75%.
The Moon moves more slowly in the sky than the Sun. The Moon takes 25.5 Minecraft hours (25,500 ticks) from one culmination to the next.
The Moon's position is calculated dynamically from one tick to the next, such that the Moon moves smoothly around the sky once in 25,500 ticks. When the Moon reaches the bottom of the world (nadir), it is advanced to the next phase. The Moon's position is calculated such that culmination occurs at the time of the true phase. This means the full moon is highest in the sky at midnight, the first quarter is highest in the sky at 6 pm, etc. This also means the full moon rises a little before sunset (at 5:37:30 pm, ignoring seasons and the size of the lunar disk) and sets after sunrise (at 6:22:30 am, ignoring same); other moon phases behave similarly.
When the moon is in the New moon phase, it is hidden. There are no eclipses.
To ensure that the phase of the moon is shown correctly as Full on the first night, the moon actually starts the game in phase 15 on day 0 (one day before Full moon). It changes to the Full moon after 11,250 ticks.
Calculating the phase of the Moon
The current phase of the moon is calculated by: Phase = floor((Ticks + 396,750) mod 408,000 ÷ 25,500)
where Ticks = age of the world in Ticks 396,750 = 17 days × 24,000 ticks per day minus 11,250 ticks 408,000 = 17 days × 24,000 ticks per day 25,500 = 17 days × 24,000 ticks per day ÷ 16 moon phases
Phase 0 = Full Moon.
Stars
The motion of the stars is altered so they move around the sky on paths similar to the sun and moon. There will be visible celestial poles about which the stars move during the night.
Snow and Ice
Rain melts snow layers but does not melt snow blocks.
Ice can melt if it is below the snow level and below the sky. Packed ice is not affected. The higher the temperature, the faster the ice melts.
Water can freeze into ice if it is above the snow level, it is below the sky and it is not lit from a block to light level 12 or more. Water in Deep Ocean biomes is not affected.
Snow melts on its own when temperature at the level of the snow layer is above freezing and the snow layer is below the sky (sky light level is 15). The higher the temperature, the faster the snow melts.
Snow height varies depending on the time of year. It is up to 100 blocks higher in summer and 100 blocks lower in winter. The calculation is skipped if the Latitude is zero.
Variation in snow height with the seasons:
The function of variation is based on the sine of the solar longitude:
sign() returns the sign of a number as 1, 0 or +1. Latitude is the world latitude with north latitudes being positive. SpringSouth is the gamerule with that name with values 0 or 1. Is Autumn Start determines whether the world starts in Spring or Autumn. Solar Longitude is calculated as shown in the Solar Longitude section. Base Snow Height is the unmodified snow height for that location. SeasonalClimate is the game rule with that name. Variation is equal to abs(Latitude) ÷ 90.
Angles are in degrees.
Weather
The weather model for the world needs to be enhanced so that there is more control over which biomes have rain and which do not. The following needs to be taken into consideration:
Deserts have rain in Mid Summer if there are storms.
Savannahs and Mesas have wet seasons in Summer causing them to receive rainfall.
Jungles have wet seasons in Spring and Autumn. It will rain in jungles and nowhere else.
Snow varies according to the time of the year. It snows in more places in winter and fewer places in summer.
The current weather model has three settings:
Sunny
Rain
Storms
The weather model needs a minimum of four settings to work properly with seasons:
Sunny
Overcast
Rain
Storms
The new Overcast setting works as follows:
The sun and moon are not visible.
Clouds cover the sky.
Daytime light level is reduced to 13.
No rain by default. If the biome is Jungle and the season is Spring or Autumn, it rains.
Overcast conditions occur fairly often, perhaps 20% to 30% of the time.
The Rain setting needs to be modified as follows:
If the biome is Savannah or Mesa: No rain by default. If the season is Summer, it rains.
The Storms setting needs to be modified as follows:
If the biome is Savannah or Mesa: No rain by default. If the season is Summer, it rains.
If the biome is Desert: No rain by default. If the month is Midsummer, it rains.
Leaves
Leaf blocks for oak, birch and dark oak trees require new seasonal textures for the following:
50% leaves left (autumn)
No leaves left (winter) – this texture is used so the leaf blocks can still be seen
New, small leaves (spring)
Leaves placed by the player do not change with the seasons.
Crafting
A few new items will need to be introduced.
Calendar can be crafted by surrounding a watch with eight pieces of paper. This displays the current day in the Minecraft year using an animation with one frame per day. It can be placed in item frames. Year Calendar can be crafted by surrounding a Calendar with eight pieces of wood. This displays the current Minecraft year using text. It can be mounted directly on a wall like a sign. First year is Year 1. Moon Phase Calendar can be crafted by surrounding a Watch with four pieces of paper and four pieces of glowstone dust, arranged alternately. This displays the current phase of the Moon using an animation with one frame per moon phase. It can be placed in item frames. Moon Clock can be crafted by surrounding a piece of redstone dust with four pieces of gold and four pieces of glowstone dust, arranged alternately. This displays the current position of the Moon in the same way that a Watch shows the position of the Sun. It can be placed in item frames.
Beds
Beds advance to the dawn or 6 am, whichever occurs first. In winter in high latitudes it may still be dark, but not dark enough for hostile mobs to spawn after sleeping in a bed.
Conclusion
Many players have previously requested seasons, others have expressed concerns. I hope I have balanced these concerns that players have expressed in the past with season proposals. I have attempted to add the flavour of without adding undue difficulty or micromanagement. I have made it optional and controllable with a few game rules. I have included some mathematics to show some detail, but not too much technical detail for those who don't want it. It's a long read but I hope it's worth it. I will amend it later to incorporate suggestions for revision.
The Meaning of Life, the Universe, and Everything.
Join Date:
12/26/2015
Posts:
58
Member Details
Let's make my mind up........... Support!!!
This will definitely make the game very hard since it will limit food supplies in the Winter. Along with mathematic skills to this idea this will fit perfectly into it
Put this on Reddit. The FAQ says the best place is the minecraft Reddit suggestion box. They sometimes visit there and look at highly rated suggestions.
I have seen Dinnerbone posting on Reddit occasionally so I know what you mean. I intend to do so after I have got a bit more karma (I have just created an account) and I have got a bit of constructive feedback here.
The Meaning of Life, the Universe, and Everything.
Join Date:
7/23/2013
Posts:
58
Minecraft:
Machinator
Member Details
"So these new seasons can't be that bad," said Rob. "Just how hard can it be?"
So Rob enabled seasons, set the Latitude slider all the way over to 75 degrees North and pressed "Create New World".
"What the hell? It's DARK!" said Rob as he spawned on some plains near a small forest. Actually, not so dark, but the sun certainly wasn't up. It wasn't dark enough to spawn hostile monsters and the moon was up, but it wasn't the same, not the same at all. The dawn was visible towards the southeast. It was light enough to see, so Rob wandered over to the forest and started punching trees. The oak and birch trees in the forest had different leaves - small, green ones. Spring leaves.
After playing for about three minutes with the dawn slowly growing, Rob saw the Sun finally creep over the horizon. The moon was still up though. Curious.
Rob continued to gather resources - more wood, then a wooden pickaxe, then some cobblestone for a stone pickaxe. That sun was low, though! It hardly crept higher than the trees towards the south.
Meanwhile, the Moon was still up, and as Rob watched, the Moon changed its phase to Full. "Now that's something you don't see in normal Minecraft. A bug?" No, that's just the way the moon works when it does not set.
Rob realised he had to work quickly because the nights started long at first. By the time the Sun had set he had burrowed into the side of a small hill, by luck right next to a patch of coal, and had started excavating a Hobbit hole in which to spend the night.
As Rob was soon to discover, the Moon would take more than two days to set at first. Then a few days later the moon did not rise at all. Soon Rob got used to this strange new moon - visible for a few days, then rising and setting for a few days, then hidden, then rising and setting again. Rob also noticed that the moon no longer just rose at sunset, but rose and set as it pleased at any time of the day or night, just like the real moon does. "Why didn't the moon do that before?" Rob asked himself.
The days started short, but rapidly got longer. As Rob built a small house, then a larger one with a mineshaft down to diamond level (after the first mineshaft dug incautiously ended badly with a sudden drop into a lava ravine) Rob noticed the Sun creeping higher into the sky with each passing day. The Sun that had one only just managed to clear the southern forest now did so with ease.
On day 24, Rob found that the hostile mobs stopped spawning outside at night because it no longer got dark enough at night for them to spawn. Not that it was truly night anymore. The horizon remained lit throughout the night. The white nights had come.
Then on day 42 the sun rose and did not set again for four months. It simply did a full circuit of the horizon, once each day. When it got to the northern horizon, where the ocean was, it sunk into the ocean as though cautiously seeing if the water was warm enough for a swim, then glided away again as though the water was too cold. The long summer had begun.
Rob was able to build quite a large castle that summer out of stone brick and cobblestone without the sun setting even once. Hostile monsters had become a thing of the past - he had not seen any spawn outside for some time. He did chance upon a creeper near a cave once, but three blows from his iron sword and some nimble footwork took care of that.
But the autumn was soon to come, a reminder that the seasons are a cycle that comes and goes. The leaves on the oak and birch trees changed colour to a rich orange. The melons were welcome, with the melon farm churning out melons and pumpkins at a prodigious rate, but as Rob knew, that wasn't to last. The sun was now rising and setting again each day as normal, and Rob could see the days getting shorter. Winter was coming, and with that, the hostiles would reclaim the nights. Rob spent the autumn lighting up around his castle, but he had not finished when the hostiles returned at night.
The creeper in the melon farm caught Rob by surprise - no, there were two of them - and the next thing he knew he was running back to collect his stuff. Nasties at night are one thing, but it's another when their absence breeds complacency.
The sun was slinking away, day after day and the trees were now bare of leaves, with only sticks remaining where the leaves once were. Only about 30 days after the creeper incident, the sun peeked over the southern horizon for one last gaze at the world before it disappeared completely for two months. The sun was still there each day as the bright dawn each day showed, but the winter dawn was a daily false promise of a sun that never came. At night, and the nights were long, the hostiles rampaged over the unlit wastelands for up to 15 hours a day out of every 24. With no sun, it was never light enough to burn the undead. Rob skipped many of these nights in bedful slumber. Those nights he didn't skip were spent mining.
Then one day, the Sun peeked back over the southern horizon as if returning from holidays with a hangover. The cycle of the seasons would start again.
As Rob saved this world at the end of a Minecraft year, he did find it extreme, but quite a lot of fun. The next world that Rob would create would have the less extreme seasons of the middle latitudes.
Why not? This could be combined with the freezing to death suggestion.
IMO the best approach is to get a seasons engine implemented first and make it primarily for atmosphere. If it is well received (which is likely if it is well done) then we can start considering enhancements to seasons, including those aspects of the environment that can be dangerous to the player.
However, I'm not proposing freezing to death or anything else like that because it adds micromanagement to the game. As someone pointed out elsewhere, adding freezing to death would make tundras all but uninhabitable. Do we need to consider excessive heat as well? There goes the Nether and deserts as well.
This is why I deliberately omitted such ideas from my current proposal. I have considered them before though. Here is an excerpt of a similar post I made in November 2014:
Deserts in summer don't cause players to catch on fire, but the heat still has effects. Thirst happens in summer during the day if the player is under the sky in a desert, mesa or savannah. If thirst is in effect, Deserts cause 1 point of thirst damage to players every 5 seconds (Thirst II), and savannas and mesas 1 point of thirst damage every 10 seconds (Thirst I). Players can die of thirst. Thirst damage works differently to normal damage: it is a separate variable that effectively reduces maximum health (it cannot be cured by healing potions). Drinking a water bottle heals 4 points of Thirst damage. Milk removes all Thirst damage. If it is raining in the desert or savannah, this effect does not occur (the sun is not shining). Thirst damage can also be induced by drinking a Thirst potion that has an effect similar to Poison or Wither.
Why did I omit these ideas from this thread? It adds to micromanagement.
I am not opposed to seasonal changes to the environment, for example if hostile mobs were more dangerous seasonally or even if some hostile mobs only spawned at certain times of the year. (Yetis...) But the player shouldn't have additional unnecessary burdens on gameplay. Already the survival player has to be armed, armored and provisioned with food in order to survive. It would be a deterrent to gameplay if the player had to be protected against cold, thirst or anything else like that as well. Otherwise we would need 30-minute days just so a first-day player can get all they need to survive the first night.
Yes! It would add so much more to the game and I feel like this could be very useful for mapmakers. Support.
Rollback Post to RevisionRollBack
A God that holds you over the pit of Hell, much as one holds a spider or some loathsome insect over the fire, abhors you, and is dreadfully provoked. - Jonathan Edwards
The Meaning of Life, the Universe, and Everything.
Join Date:
7/23/2013
Posts:
58
Minecraft:
Machinator
Member Details
I am currently refining this suggestion in preparation for creating a thread on Reddit, as well as writing some proof of concept code. When I've got the core engine working (I need to make sure it is correct mathematically), I will drop the Reddit thread and post a link.
Some recent changes not reflected in the OP:
* Added ability to start the game at the start of any of the four seasons
* Changed the name of the "Seasons" gamerule to "doSeasonCycle" and refined its behaviour so it is more consistent with the "doDaylightCycle" gamerule.
IMO the best approach is to get a seasons engine implemented first and make it primarily for atmosphere. If it is well received (which is likely if it is well done) then we can start considering enhancements to seasons, including those aspects of the environment that can be dangerous to the player.
However, I'm not proposing freezing to death or anything else like that because it adds micromanagement to the game. As someone pointed out elsewhere, adding freezing to death would make tundras all but uninhabitable. Do we need to consider excessive heat as well? There goes the Nether and deserts as well.
This is why I deliberately omitted such ideas from my current proposal. I have considered them before though. Here is an excerpt of a similar post I made in November 2014:
Why did I omit these ideas from this thread? It adds to micromanagement.
I am not opposed to seasonal changes to the environment, for example if hostile mobs were more dangerous seasonally or even if some hostile mobs only spawned at certain times of the year. (Yetis...) But the player shouldn't have additional unnecessary burdens on gameplay. Already the survival player has to be armed, armored and provisioned with food in order to survive. It would be a deterrent to gameplay if the player had to be protected against cold, thirst or anything else like that as well. Otherwise we would need 30-minute days just so a first-day player can get all they need to survive the first night.
I feel like you're overstating it....... It could be a cute mechanic to have a reason to start fires. You would need to be able to start bonfires on grass etc, or light a tree up with a torch. You could also then use fine sheep wool items to protect against the cold (you would need more inventory slots.
Annoying mechanics should instead be reduced, like too small inventory/action bar and leashes breaking too easily, and without a UI warning (you'd notice)
I...actually like this. Everything about it makes tons of sense, it's detailed, and it would be fun. The only thing I don't support (though it's small) is the equator. As of right now, the minecraft world is effectively infinite. There can't be a middle. I think it would be a lot less complex (in a good way) and fit more in minecraft if there wasn't an equator and polar...things.
However, growth slowdown modifier and bonemeal effectiveness should not apply if a torch is nearby, because it warms up the block. It also should not apply if sky light comes through a glass block, ie. greenhouse effect.
Good call.
Not specifically a torch though, but simply the level of light from blocks. I did consider this but left it out for some reason. Greenhouses made of glass would add some complexity though.
There's also another thing that needs to be considered. Farm plots in villages will revert to dirt if the water freezes in winter. Do we need to fix this? For example, a farm plot could become dry but not revert to dirt if an ice block is nearby.
We can combine these two ideas to make a single, consistent game mechanic. Dry farmland does not grow crops or does so slowly. In winter the water can freeze. If so, the farmland becomes dry but does not revert to dirt if there is a normal ice block (not packed ice) within 4 blocks. Water can be kept from freezing in the usual manner (cover it or light it up). Just one or two things need to be changed and we've got a logical and consistent winter mechanic for farmland.
The only thing I don't support (though it's small) is the equator. As of right now, the minecraft world is effectively infinite. There can't be a middle. I think it would be a lot less complex (in a good way) and fit more in minecraft if there wasn't an equator and polar...things.
Other than that, support!
The latitude is defined as the tilt of the entire world in relation to the sun's orbit. So if you choose a particular latitude, the world has that latitude everywhere, no matter how far you travel. The Minecraft world is flat.
For this reason, the "equator" is not actually the z=0 line. It's the tilt of the sun that simulates an equatorial latitude.
What concerns me most about the equator is that the seasons would be somewhat boring because there wouldn't actually be many seasonal effects. You would get the varying motions of the sun and moon ... and that's about it. Some people may like that though - it would play almost the same as a classic Minecraft world, except the sun and moon no longer just go straight up and down but would have some variety in their movement.
The Meaning of Life, the Universe, and Everything.
Join Date:
7/23/2013
Posts:
58
Minecraft:
Machinator
Member Details
As a proof of concept, here is what moon_phases.png may look like with 16 moon phases. (Because this is a proof of concept, I have not bothered to put markings on the moon. I have also used a round moon.)
The gibbous phases on either side of the full moon look almost the same as the full moon and these may be hard to distinguish. A simple way of fixing this is to draw the full moon brighter, as shown here. The real full moon is actually about 40% brighter than it should be, due to an effect called the "opposition surge" (Wikipedia).
The Meaning of Life, the Universe, and Everything.
Location:
Australia
Join Date:
4/23/2012
Posts:
42
Location:
AUS
Minecraft:
iiKoolii
Xbox:
None!
PSN:
None!
Member Details
I love the idea of seasons being able to change, the biomes and the latitude of the sun being able to be changed. You have my support, but as everybody said earlier, if you are serious about this being changed, post it on the minecraft reddit page. You have more chance of it being seen up there.
I love the idea of seasons being able to change, the biomes and the latitude of the sun being able to be changed. You have my support, but as everybody said earlier, if you are serious about this being changed, post it on the minecraft reddit page. You have more chance of it being seen up there.
Some suggestions for Seasons have been made in the past.
Some examples of previous discussions on seasons:
(I will add to this list later.)
I have decided to post my own take on the idea. It is a detailed suggestion, including a fair bit of mathematics.
Basic Principles
General Notes
Seasons have no direct effect on the player. Seasons are intended to be primarily for flavour.
Seasons will have an effect on the world and some effect on gameplay. For example, growing crops is slower in winter and undead mobs burn more quickly in sunlight in the summer.
Most seasonal effects are controlled with game rules.
Axial tilt is 22.5 degrees. This is close to the real world value of 23.5 degrees. It is set to this value because 22.5 degrees is 90 degrees divided by four.
Sunrise and sunset times and the height of the sun in the sky depend on latitude and the time of the year.
Seasons begin and end at the days that are midway between the equinoxes and solstices. The equinoxes and solstices occur in the middle of each season.
World Creation
Seasons are optional when creating a new world. Default is no seasons. Old worlds will have no seasons.
When creating a new world, if seasons are chosen, the player has the option to choose the Latitude. Latitude determines the direction the sun moves across the sky. Latitude can vary from 75 degrees North to 75 degrees South in steps of 1 degree and is chosen using a slider. Players can select whether seasons on the new world have an effect on animals, plants, hostile mobs and climate. These are enabled by default.
The game commences at the start of Spring. The player can also choose to commence the game at the start of autumn for a more challenging game. With an Autumn start, the player would only have 51 Minecraft days (17 hours of gameplay) before winter begins.
Year and Seasons
Seasons
The seasons are:
These season numbers are intended to be used with commands to set the season.
Year
A lot of previous discussion on seasons has included debate on the length of the year. The main consideration for my choice is that all the months and seasons should be the same length to keep the calendar simple to understand. I have chosen a year length of 204 days. This length of a Minecraft year is intended to be fairly long, but not too long.
The 204 days in the Minecraft year is made up of 12 months each with 17 days. The reason for the 17-day month will be explained in the next section.
A Minecraft year takes 68 hours of gameplay to complete a cycle. The year is 4,896,000 ticks long (20 × 60 × 20 × 204 = 4,896,000). The year starts in Spring unless an Autumn start was chosen. The calendar reflects the current season; if the seasons are changed by changing the latitude (this is only possible if cheats are enabled) the calendar will show this change.
Months
The months are:
The months in the middle of the seasons often have the greatest seasonal effects. Some seasonal effects are tied to specific months such as leaves falling in autumn and desert storms bringing rain in midsummer.
The game starts in the Early Spring month or the Early Autumn month. If the game is started in Early Spring, the SpringSouth flag will be 0 for Northern starts and 1 for Southern starts. A game started in Early Autumn will have opposite values for the SpringSouth flag. A game started on the Equator has the SpringSouth flag chosen randomly and has very limited seasons.
Each month is 17 Minecraft days long. The length of a lunar month is increased from eight phases in eight days to 16 phases in 17 days. The motion of the moon is altered so the moon is placed correctly in the sky in relation to the sun at all times. The moon moves backward in the sky at a rate of 1½ Minecraft hours per day. This causes the moon to lose one day per month, so an extra day is added to the month to account for this.
Technical Discussion
I have concealed some technical descriptions here to avoid scaring the mathophobes.
Current Day in Year
The current day in the year ranges from 0 to 203.
Day = Daynumber mod 204
or
Day = floor(Ticks ÷ 24000) mod 204
where
Ticks = age of the world in Ticks
204 = 17 (days in month) × 12 (months in year)
Longitude of the Sun
The longitude of the sun is the current position of the sun in its orbit. It increases by 360 degrees in one Minecraft year. It is used to calculate the position of the Sun in the sky.
SolarLongitude = ((Ticks + (SpringSouth × TicksPerYear ÷ 2) + Offset) mod TicksPerYear) ÷ 13,600
where
Ticks = age of the world in Ticks
TicksPerYear = 4,896,000 (the number of ticks in a Minecraft year)
SpringSouth is the gamerule with that name with values 0 or 1
Offset = 4,290,000 = 7/8 × TicksPerYear + 6000
13,600 = TicksPerYear ÷ 360
The Offset is carefully chosen so that the SolarLongitude reaches zero at 12:00 (midday) on the ninth day (the middle day) of the MidSpring month (day 25 when counting from zero) assuming the world starts in Spring. At this time the Sun is precisely at the Equinox.
The Longitude of the Sun increases by 1/13,600 degrees per tick, or approximately 0.265 seconds of arc per tick.
Declination of the Sun
The declination of the Sun is the position of the sun north or south of the celestial equator.
SolarDeclination = arcsin(sin(AxialTilt) × sin(SolarLongitude))
where
AxialTilt = 22.5 degrees (note: sin(AxialTilt) is a constant)
arcsin is the inverse sine function.
The declination of the sun ranges from +22.5 degrees to -22.5 degrees (the value of AxialTilt).
Solar zenith angle
The Solar zenith angle is the angle between the zenith and the centre of the sun.
where
arccos is the inverse cosine function.
HourAngle is the current time as an angle, with noon = 0.
Solar azimuth angle
The Solar azimuth angle is the angle between north and the centre of the sun.
where
arcsin is the inverse sine function.
HourAngle is the current time as an angle, with noon = 0.
Angle is measured clockwise from north. The solar azimuth angle is undefined when the sun is at the zenith or nadir; that is, when sin(SolarZenithAngle) = 0.
Game Rules
Seasonal effects can be controlled with game rules.
The four main game rules are:
These control the behaviour of mobs, plants and the climate in response to the seasons. All of them can be enabled or disabled if desired. They can be chosen when the world is created or can be changed if cheats are enabled. If all are disabled, the only effect of seasons are:
These gamerules control additional settings.
Effect of Latitude
The seasons affect the position of the sun in the sky. In summer, the sun is higher in the sky. In winter, the sun is lower in the sky. If the latitude is a northern latitude, the sun will move across the south during the day and vice versa.
Equatorial seasons are the least extreme and polar seasons the most extreme. Equatorial seasons only affect the position of the sun in the sky and have no other effects. Polar seasons are the most variable.
Seasons have day lengths that vary according to the current time of the year and the latitude. The days at the equator are the same length throughout the year, although the sun does move seasonally in the sky. At low latitudes, the day length won't vary much over the course of a year. The higher the latitude, the more extreme the variation. The variation in the day length at high latitudes are so extreme that the player will even experience the midnight sun for a few days in summer and no sun at all for a few days in winter (although there will be twilight for several hours either side of noon).
Although the latitude of 75 degrees has no full daylight during the winter months, there are about 12 hours of twilight at midwinter that is bright enough to prevent hostile mobs from spawning. For about half the year at a latitude of 75 degrees, it never gets dark enough at night for hostile mobs to spawn.
The Minecraft sun is approximately 7.5 degrees wide, or 15 times the angular size of the real sun. This needs to be taken into account when calculating the length of daylight. A nominal 12 hours of daylight per day at the equinox increases to about 12½ hours per day due to the width of the sun. This means the nights on average are shorter than the day.
It should no longer be necessary to accelerate the night so it is shorter than the day; these new mechanics should do so naturally. Day and night length should therefore be adjusted so that the day and nights are not skewed towards the day but are more even in length.
Seasonal Variation
Technical discussion - a qualitative summary: the higher the latitude, the greater the seasonal effects.
Variation = abs(latitude) ÷ 90
The seasons also can have their own effect depending on the current month. The middle month in the season has the effect increased by 50%. This is the month factor.
Many effects can be enabled or disabled with game rules. If the effect is disabled, the game rule is 0; if the effect is enabled the game rule is 1.
The seasonal effect cannot produce a negative effect.
The effect formula is:
Effect = Max(0, 1 + game rule × Multiplier × Variation × month factor).
For example, in Spring, bone meal on grass produces flowers at up to 5 times the normal amount of flowers. The Multiplier is therefore 4. If it is Mid Spring (month factor = 1.5) and the latitude is 54 degrees, the amount of flowers that would be grown is:
Effect = Max(0, 1 + 1 × 4 × (54 ÷ 90) × 1.5)
= 4.6
Season Effects
Gamerules:
Spring
The days and nights in Spring are roughly equal. The amount of daylight per day increases as the season progresses.
Summer
The day length is the longest in summer and the sun is highest in the sky.
Autumn
The days and nights in Autumn are roughly equal. The amount of daylight per day decreases as the season progresses.
Winter
Winter is the month that has the greatest effect on the game. The nights are long and cold, plants and animals grow slowly, and hostile mobs have the longest time each day in which they can spawn. The day length is the shortest in winter and the sun is lowest in the sky.
Miscellaneous changes to support this implementation of seasons
Moon
Extend the Minecraft month from 8 days to 17 days. The moon has 16 phases.
Turn the moon so it faces the sun correctly.
Move the moon so its location is astronomically accurate with respect to the Sun at all times. Only full moons should be opposite the sun. Having a crescent moon opposite the sun is weird. The Moon follows the same path in the sky in a month as the Sun does in a year.
The Moon can sometimes be seen in the sky during the daytime. When the moon is in the daytime sky, it is drawn with contrast reduced by up to 75%.
The Moon moves more slowly in the sky than the Sun. The Moon takes 25.5 Minecraft hours (25,500 ticks) from one culmination to the next.
The Moon's position is calculated dynamically from one tick to the next, such that the Moon moves smoothly around the sky once in 25,500 ticks. When the Moon reaches the bottom of the world (nadir), it is advanced to the next phase. The Moon's position is calculated such that culmination occurs at the time of the true phase. This means the full moon is highest in the sky at midnight, the first quarter is highest in the sky at 6 pm, etc. This also means the full moon rises a little before sunset (at 5:37:30 pm, ignoring seasons and the size of the lunar disk) and sets after sunrise (at 6:22:30 am, ignoring same); other moon phases behave similarly.
When the moon is in the New moon phase, it is hidden. There are no eclipses.
To ensure that the phase of the moon is shown correctly as Full on the first night, the moon actually starts the game in phase 15 on day 0 (one day before Full moon). It changes to the Full moon after 11,250 ticks.
Calculating the phase of the Moon
Phase = floor((Ticks + 396,750) mod 408,000 ÷ 25,500)
where
Ticks = age of the world in Ticks
396,750 = 17 days × 24,000 ticks per day minus 11,250 ticks
408,000 = 17 days × 24,000 ticks per day
25,500 = 17 days × 24,000 ticks per day ÷ 16 moon phases
Phase 0 = Full Moon.
Stars
The motion of the stars is altered so they move around the sky on paths similar to the sun and moon. There will be visible celestial poles about which the stars move during the night.
Snow and Ice
Rain melts snow layers but does not melt snow blocks.
Ice can melt if it is below the snow level and below the sky. Packed ice is not affected. The higher the temperature, the faster the ice melts.
Water can freeze into ice if it is above the snow level, it is below the sky and it is not lit from a block to light level 12 or more. Water in Deep Ocean biomes is not affected.
Snow melts on its own when temperature at the level of the snow layer is above freezing and the snow layer is below the sky (sky light level is 15). The higher the temperature, the faster the snow melts.
Snow height varies depending on the time of year. It is up to 100 blocks higher in summer and 100 blocks lower in winter. The calculation is skipped if the Latitude is zero.
Variation in snow height with the seasons:
Is Autumn Start = ((sign(Latitude) × (SpringSouth × 2 - 1)) + 1) ÷ 2
Snow Height Modifier = 100 × sin(Solar Longitude + 180 × Is Autumn Start)
Snow Height = Base Snow Height + SeasonalClimate × Snow Height Modifier × Variation
where
sign() returns the sign of a number as 1, 0 or +1.
Latitude is the world latitude with north latitudes being positive.
SpringSouth is the gamerule with that name with values 0 or 1.
Is Autumn Start determines whether the world starts in Spring or Autumn.
Solar Longitude is calculated as shown in the Solar Longitude section.
Base Snow Height is the unmodified snow height for that location.
SeasonalClimate is the game rule with that name.
Variation is equal to abs(Latitude) ÷ 90.
Angles are in degrees.
Weather
The weather model for the world needs to be enhanced so that there is more control over which biomes have rain and which do not. The following needs to be taken into consideration:
The current weather model has three settings:
The weather model needs a minimum of four settings to work properly with seasons:
The new Overcast setting works as follows:
Overcast conditions occur fairly often, perhaps 20% to 30% of the time.
The Rain setting needs to be modified as follows:
The Storms setting needs to be modified as follows:
Leaves
Leaf blocks for oak, birch and dark oak trees require new seasonal textures for the following:
Leaves placed by the player do not change with the seasons.
Crafting
A few new items will need to be introduced.
Calendar can be crafted by surrounding a watch with eight pieces of paper. This displays the current day in the Minecraft year using an animation with one frame per day. It can be placed in item frames.
Year Calendar can be crafted by surrounding a Calendar with eight pieces of wood. This displays the current Minecraft year using text. It can be mounted directly on a wall like a sign. First year is Year 1.
Moon Phase Calendar can be crafted by surrounding a Watch with four pieces of paper and four pieces of glowstone dust, arranged alternately. This displays the current phase of the Moon using an animation with one frame per moon phase. It can be placed in item frames.
Moon Clock can be crafted by surrounding a piece of redstone dust with four pieces of gold and four pieces of glowstone dust, arranged alternately. This displays the current position of the Moon in the same way that a Watch shows the position of the Sun. It can be placed in item frames.
Beds
Beds advance to the dawn or 6 am, whichever occurs first. In winter in high latitudes it may still be dark, but not dark enough for hostile mobs to spawn after sleeping in a bed.
Conclusion
Many players have previously requested seasons, others have expressed concerns. I hope I have balanced these concerns that players have expressed in the past with season proposals. I have attempted to add the flavour of without adding undue difficulty or micromanagement. I have made it optional and controllable with a few game rules. I have included some mathematics to show some detail, but not too much technical detail for those who don't want it. It's a long read but I hope it's worth it. I will amend it later to incorporate suggestions for revision.
Let's make my mind up........... Support!!!
This will definitely make the game very hard since it will limit food supplies in the Winter. Along with mathematic skills to this idea this will fit perfectly into it
You have made my day xD
I have seen Dinnerbone posting on Reddit occasionally so I know what you mean. I intend to do so after I have got a bit more karma (I have just created an account) and I have got a bit of constructive feedback here.
I just skimmed through but WOW this looks incredibly in depth.
You have my support!
this looks incredibly amazing.
i support this.
"So these new seasons can't be that bad," said Rob. "Just how hard can it be?"
So Rob enabled seasons, set the Latitude slider all the way over to 75 degrees North and pressed "Create New World".
"What the hell? It's DARK!" said Rob as he spawned on some plains near a small forest. Actually, not so dark, but the sun certainly wasn't up. It wasn't dark enough to spawn hostile monsters and the moon was up, but it wasn't the same, not the same at all. The dawn was visible towards the southeast. It was light enough to see, so Rob wandered over to the forest and started punching trees. The oak and birch trees in the forest had different leaves - small, green ones. Spring leaves.
After playing for about three minutes with the dawn slowly growing, Rob saw the Sun finally creep over the horizon. The moon was still up though. Curious.
Rob continued to gather resources - more wood, then a wooden pickaxe, then some cobblestone for a stone pickaxe. That sun was low, though! It hardly crept higher than the trees towards the south.
Meanwhile, the Moon was still up, and as Rob watched, the Moon changed its phase to Full. "Now that's something you don't see in normal Minecraft. A bug?" No, that's just the way the moon works when it does not set.
Rob realised he had to work quickly because the nights started long at first. By the time the Sun had set he had burrowed into the side of a small hill, by luck right next to a patch of coal, and had started excavating a Hobbit hole in which to spend the night.
As Rob was soon to discover, the Moon would take more than two days to set at first. Then a few days later the moon did not rise at all. Soon Rob got used to this strange new moon - visible for a few days, then rising and setting for a few days, then hidden, then rising and setting again. Rob also noticed that the moon no longer just rose at sunset, but rose and set as it pleased at any time of the day or night, just like the real moon does. "Why didn't the moon do that before?" Rob asked himself.
The days started short, but rapidly got longer. As Rob built a small house, then a larger one with a mineshaft down to diamond level (after the first mineshaft dug incautiously ended badly with a sudden drop into a lava ravine) Rob noticed the Sun creeping higher into the sky with each passing day. The Sun that had one only just managed to clear the southern forest now did so with ease.
On day 24, Rob found that the hostile mobs stopped spawning outside at night because it no longer got dark enough at night for them to spawn. Not that it was truly night anymore. The horizon remained lit throughout the night. The white nights had come.
Then on day 42 the sun rose and did not set again for four months. It simply did a full circuit of the horizon, once each day. When it got to the northern horizon, where the ocean was, it sunk into the ocean as though cautiously seeing if the water was warm enough for a swim, then glided away again as though the water was too cold. The long summer had begun.
Rob was able to build quite a large castle that summer out of stone brick and cobblestone without the sun setting even once. Hostile monsters had become a thing of the past - he had not seen any spawn outside for some time. He did chance upon a creeper near a cave once, but three blows from his iron sword and some nimble footwork took care of that.
But the autumn was soon to come, a reminder that the seasons are a cycle that comes and goes. The leaves on the oak and birch trees changed colour to a rich orange. The melons were welcome, with the melon farm churning out melons and pumpkins at a prodigious rate, but as Rob knew, that wasn't to last. The sun was now rising and setting again each day as normal, and Rob could see the days getting shorter. Winter was coming, and with that, the hostiles would reclaim the nights. Rob spent the autumn lighting up around his castle, but he had not finished when the hostiles returned at night.
The creeper in the melon farm caught Rob by surprise - no, there were two of them - and the next thing he knew he was running back to collect his stuff. Nasties at night are one thing, but it's another when their absence breeds complacency.
The sun was slinking away, day after day and the trees were now bare of leaves, with only sticks remaining where the leaves once were. Only about 30 days after the creeper incident, the sun peeked over the southern horizon for one last gaze at the world before it disappeared completely for two months. The sun was still there each day as the bright dawn each day showed, but the winter dawn was a daily false promise of a sun that never came. At night, and the nights were long, the hostiles rampaged over the unlit wastelands for up to 15 hours a day out of every 24. With no sun, it was never light enough to burn the undead. Rob skipped many of these nights in bedful slumber. Those nights he didn't skip were spent mining.
Then one day, the Sun peeked back over the southern horizon as if returning from holidays with a hangover. The cycle of the seasons would start again.
As Rob saved this world at the end of a Minecraft year, he did find it extreme, but quite a lot of fun. The next world that Rob would create would have the less extreme seasons of the middle latitudes.
Why not? This could be combined with the freezing to death suggestion.
IMO the best approach is to get a seasons engine implemented first and make it primarily for atmosphere. If it is well received (which is likely if it is well done) then we can start considering enhancements to seasons, including those aspects of the environment that can be dangerous to the player.
However, I'm not proposing freezing to death or anything else like that because it adds micromanagement to the game. As someone pointed out elsewhere, adding freezing to death would make tundras all but uninhabitable. Do we need to consider excessive heat as well? There goes the Nether and deserts as well.
This is why I deliberately omitted such ideas from my current proposal. I have considered them before though. Here is an excerpt of a similar post I made in November 2014:
Why did I omit these ideas from this thread? It adds to micromanagement.
I am not opposed to seasonal changes to the environment, for example if hostile mobs were more dangerous seasonally or even if some hostile mobs only spawned at certain times of the year. (Yetis...) But the player shouldn't have additional unnecessary burdens on gameplay. Already the survival player has to be armed, armored and provisioned with food in order to survive. It would be a deterrent to gameplay if the player had to be protected against cold, thirst or anything else like that as well. Otherwise we would need 30-minute days just so a first-day player can get all they need to survive the first night.
Yes! It would add so much more to the game and I feel like this could be very useful for mapmakers. Support.
A God that holds you over the pit of Hell, much as one holds a spider or some loathsome insect over the fire, abhors you, and is dreadfully provoked. - Jonathan Edwards
I am currently refining this suggestion in preparation for creating a thread on Reddit, as well as writing some proof of concept code. When I've got the core engine working (I need to make sure it is correct mathematically), I will drop the Reddit thread and post a link.
Some recent changes not reflected in the OP:
* Added ability to start the game at the start of any of the four seasons
* Changed the name of the "Seasons" gamerule to "doSeasonCycle" and refined its behaviour so it is more consistent with the "doDaylightCycle" gamerule.
This suggestion is fantastically well thought out! Full support.
I think weather and seasons should not affect players - perhaps maybe SOME mobs
Support nonetheless!
I feel like you're overstating it....... It could be a cute mechanic to have a reason to start fires. You would need to be able to start bonfires on grass etc, or light a tree up with a torch. You could also then use fine sheep wool items to protect against the cold (you would need more inventory slots.
Annoying mechanics should instead be reduced, like too small inventory/action bar and leashes breaking too easily, and without a UI warning (you'd notice)
I...actually like this. Everything about it makes tons of sense, it's detailed, and it would be fun. The only thing I don't support (though it's small) is the equator. As of right now, the minecraft world is effectively infinite. There can't be a middle. I think it would be a lot less complex (in a good way) and fit more in minecraft if there wasn't an equator and polar...things.
Other than that, support!
Please read these two threads:
http://www.minecraftforum.net/forums/minecraft-discussion/suggestions/2572194-please-read-this-before-making-a-suggestion-v2-0
http://www.minecraftforum.net/forums/minecraft-discussion/suggestions/44180-for-the-critics-ftc
Good call.
Not specifically a torch though, but simply the level of light from blocks. I did consider this but left it out for some reason. Greenhouses made of glass would add some complexity though.
There's also another thing that needs to be considered. Farm plots in villages will revert to dirt if the water freezes in winter. Do we need to fix this? For example, a farm plot could become dry but not revert to dirt if an ice block is nearby.
We can combine these two ideas to make a single, consistent game mechanic. Dry farmland does not grow crops or does so slowly. In winter the water can freeze. If so, the farmland becomes dry but does not revert to dirt if there is a normal ice block (not packed ice) within 4 blocks. Water can be kept from freezing in the usual manner (cover it or light it up). Just one or two things need to be changed and we've got a logical and consistent winter mechanic for farmland.
The latitude is defined as the tilt of the entire world in relation to the sun's orbit. So if you choose a particular latitude, the world has that latitude everywhere, no matter how far you travel. The Minecraft world is flat.
For this reason, the "equator" is not actually the z=0 line. It's the tilt of the sun that simulates an equatorial latitude.
What concerns me most about the equator is that the seasons would be somewhat boring because there wouldn't actually be many seasonal effects. You would get the varying motions of the sun and moon ... and that's about it. Some people may like that though - it would play almost the same as a classic Minecraft world, except the sun and moon no longer just go straight up and down but would have some variety in their movement.
As a proof of concept, here is what moon_phases.png may look like with 16 moon phases. (Because this is a proof of concept, I have not bothered to put markings on the moon. I have also used a round moon.)
The gibbous phases on either side of the full moon look almost the same as the full moon and these may be hard to distinguish. A simple way of fixing this is to draw the full moon brighter, as shown here. The real full moon is actually about 40% brighter than it should be, due to an effect called the "opposition surge" (Wikipedia).
I love the idea of seasons being able to change, the biomes and the latitude of the sun being able to be changed. You have my support, but as everybody said earlier, if you are serious about this being changed, post it on the minecraft reddit page. You have more chance of it being seen up there.
Done. Here is the Reddit post: Detailed Seasons suggestion with improved Sun and Moon