Winter Is Coming


Adds dynamic winter - summer cycles with a moving cold snow front that gradually freezes and thaws the map. Turns natural bodies of water into ice and back. And a Christmas tree as a bonus :)

Content
17 days ago
2.0
230
Environment
Owner:
valertron
Source:
N/A
Homepage:
https://mods.factorio.com/mod/winter-...
License:
MIT
Created:
4 months ago
Latest Version:
0.3.0 (17 days ago)
Factorio version:
2.0
Downloaded by:
230 users

Note: It is not recommended to use this mod with existing saves. Some mechanics may change and could break your save in irreversible ways.

How it works

Terrain is swapped to snow and ice tiles from Aquilo during winter and restored back during summer.

When winter begins, a visible snowstorm front moves across Nauvis. Terrain behind the front becomes frozen. Grass, sand, dirt and other tiles are replaced with winter variants, while water turns into ice. During winter, snowfall effects appear around players.

When summer begins, the front moves in the opposite direction and restores the original terrain state.

By default:

  • summer lasts 22 hours
  • winter lasts 7 hours
  • the first winter starts near the end of summer cycle (season offset = 21.99) - for demo
  • the snow front moves at 7.2 tiles per second

Admins can use /wic-next-season-in-minutes <minutes> to override the time until the next season.

Technical Details

  • Efficient chunk-based world state: terrain is tracked in 32x32 chunks instead of per-tile Lua tables
  • Compact tile storage: tiles are encoded through a shared palette and packed into byte strings for efficient storage ~1024 bytes/chunk
  • Incremental snow front simulation: freezing and thawing progress in small strips, so the mod avoids processing the whole map at once

Gameplay

  • Water bodies can freeze during winter to ice
  • Players and enemies can move and build on ice
  • Structures built on ice will be lost when it melts
  • Offshore pumps cannot be placed on ice
  • Fish cannot be caught under the ice

Compatibility

Feedback is very welcome: please share your observations, bug reports, balance thoughts, and gameplay ideas