Here's my response to the challenge. Unfortunately it has a single flaw, which is the lack of collision detection for the nodes, since I have no idea how to do it and the lack of documentation on this topic didn't help (if someone could direct me to that, I'd appreciate it).
However it was quite a lot of work (350 lines of code!), so I'd like to post it anyways, even if just for that reason.
The placement of the days should be random for each compile.
Output

Code
\documentclass{standalone}
\usepackage{tikz}
\usepackage{bbding}
\usepackage[weather]{ifsym}
\usepackage{pgf}
\author{Alenanno}
\usetikzlibrary{calc,fit,decorations.pathmorphing,shapes,shadings,shapes.geometric}
\definecolor{darkgreen}{RGB}{0,86,23}
\definecolor{lightbrown}{RGB}{201,154,66}
\definecolor{lightbrownb}{RGB}{201,134,66}
\definecolor{darkbrown}{RGB}{101,67,33}
\definecolor{darkbrownb}{RGB}{43,29,14}
\definecolor{bblue}{RGB}{0,108,217}
\definecolor{dyellow}{RGB}{164,153,149}
\definecolor{lyellow}{RGB}{243,221,197}
\definecolor{dblue}{RGB}{10,11,131}
\definecolor{lblue}{RGB}{10,130,180}
\pgfdeclarelayer{background}
\pgfdeclarelayer{foreground}
\pgfsetlayers{background,main,foreground}
\newcommand{\treex}[2][.2]{
\begin{scope}[shift={(#2)},scale=#1]
\filldraw[draw=none,left color=lightbrown, right color=darkbrownb] (1,-12) -- (1,-14.5)
to[out=-65,in=150] (4.4,-17.2)
to[out=175,in=-45] (2,-16.5)
to[out=-70,in=130] (3,-18)
to[out=160,in=-35] (.8,-17)
to[out=210,in=90] (.2,-18)
to[out=145,in=-90] (-.4,-16.7)
to[out=200,in=10] (-3,-17.5)
to[out=20,in=245] (-.7,-15)
-- (-.7,-12) -- cycle;
\filldraw[darkbrown, opacity=.5] (4.4,-17.2)
to[out=175,in=-45] (2,-16.5)
-- (1,-15.5)
to[out=-45,in=170] cycle;
\filldraw[darkbrown, opacity=.5] (3,-18)
to[out=160,in=-35] (.8,-17)
to[out=210,in=90] (.2,-18)
to[out=90,in=210] (.6,-16.1)
to[out=-30,in=165] cycle;
\filldraw[darkbrown, opacity=.5] (-.4,-16.7)
to[out=200,in=10] (-3,-17.5)
to[out=10,in=250] (-.4,-15.5)
to[out=95,in=90] cycle;
\filldraw[darkgreen] (0,10)
to[out=-65,in=145] (6,3)
to[out=200,in=10] (3.5,2.5)
to[out=-65,in=145] (9.5,-5)
to[out=200,in=10] (5,-6)
to[out=-65,in=145] (11,-11.5)
to[out=200,in=340] (-11,-11.5)
to[out=35,in=245] (-5,-6)
to[out=340,in=170] (-9.5,-5)
to[out=35,in=245] (-3.5,2.5)
to[out=340,in=170] (-6,3)
to[out=35,in=245] cycle;
\end{scope}
}
\newcommand{\snowflake}[2]{
\node[font=\fontsize{#2}{70}, text=gray!20] at (#1) {\Snow};%flakeChevron};
}
\newcommand{\nive}[4][1.2]{
\node[scale=#1*2, text=gray!20] (a) at (#2,#3) {\Snow};
\node[draw=blue!10, dashed, scale=#1, text=red!70!black, font=\bfseries, fill=white,opacity=.5, text opacity=1,outer sep=0, inner sep=0] at (a) {#4};
}
\tikzset{
mountain/.style={darkbrownb, fill=darkbrown, ultra thick},
log/.style={cylinder, draw=darkbrownb, bottom color=darkbrownb, top color=darkbrown, shape aspect=1, minimum width=3mm, minimum height=3.5cm},
c/.style={yshift=-8mm},
d/.style={yshift=#1mm},
ell/.style={ellipse, draw=darkbrown, fill=darkbrown, minimum width=3mm,minimum height=4mm, inner sep=0},
}
\begin{document}
\begin{tikzpicture}
\pgfmathsetseed{\pdfuniformdeviate 10000000}
\useasboundingbox (-7,-5) rectangle (7,5);
% Sky
\fill[top color=blue!40, bottom color=blue!20] (-7,-5) rectangle (7,5);
% Mountains
\draw[mountain] (-7,0) to[out=75,in=210] (-6.6,.4)
to[out=-15,in=175] (-6.4,.35) %%
to[out=75,in=250] (-6.1,.8)
to[out=60,in=180] (-5.6,1.4)
-- (-5.3,.8)
to[out=35,in=220] (-4.4,2.5)
-- (-4.2,2.2)
to[out=45,in=200] (-3.5,3.1)
to[out=-45,in=170] (-2.9,2.6)
to[out=75,in=250] (-1.9,3.9)
to[out=-45,in=110] (-.6,2.2)
to[out=-70,in=110] (.3,.9)
to[out=-15,in=90] (1,0)
-- (1,-4) -- (-7,-4) -- cycle;
\draw[mountain, fill=darkbrownb] (-2.9,2.6)
to[out=75,in=250] (-1.9,3.8) -- (-1.9,1.5)
to[out=195,in=90] (-2.3,.8) -- (-2.7,.8)
to[out=170,in=-65, looseness=1.5] (-3.1,1.6);
\draw[mountain, fill=darkbrownb] (-6.6,.35) to[out=-90,in=90] (-6.4,-.4)
to[out=-90,in=90] (-6.7,-2) -- (-6.7,-3) -- (-7,-3) -- (-7,0) to[out=75,in=210] cycle;
\draw[darkbrownb, ultra thick] (-6.4,.35) to[out=-35,in=170] (-5.4,-.4)
to[out=-45,in=180] (-4.9,-.8);
\draw[darkbrownb, ultra thick] (-6.2,.2) to[out=245,in=90] (-5.9,-.9)
to[out=-90,in=110] (-5.5,-2.4);
\draw[darkbrownb, ultra thick] (-4.8,-.4) to[out=-65,in=145] (-4.3,-1);
\draw[darkbrownb, ultra thick] (-4.9,.9) to[out=-65,in=175] (-4.3,.2);
\draw[darkbrownb, ultra thick] (-4.2,-.5) to[out=110,in=200] (-4,.6)
to[out=30,in=245] (-3.4,1.7) -- (-3.1,1.6);
\fill[white, draw=darkbrownb] (-5.6,1.4) [rounded corners]
to[out=-60,in=110] (-4.7,-.6) [sharp corners]
to[out=145,in=-45] (-5.3,0)
to[out=-95,in=-120] (-5.7,.8)
to[out=60,in=200] cycle;
\fill[white, draw=darkbrownb] (-4.4,2.5)
-- (-4.2,2.2)
to[out=45,in=200] (-3.5,3.1)
to[out=-105,in=140] (-3.4,2)
to[out=-50,in=75] (-3.3,1.7)
to[out=-105,in=-35, looseness=2] (-3.7,1.6) [rounded corners]
to[out=200,in=75] (-4,.8) [sharp corners]
to[out=140,in=-55] (-4.3,1.6) [rounded corners]
to[out=220,in=55] (-4.7,1) [sharp corners]
to[out=95,in=-15] (-4.85,1.6)
to[out=75,in=220] cycle;
\fill[white, draw=darkbrownb] (-1.9,3.9)
to[out=-45,in=110] (-.6,2.2)
to[out=-65,in=120] (-.1,1.6)
to[out=-90,in=-10] (-.4,1.4)
to[out=-90,in=35] (-.5,.8)
to[out=-75,in=85] (-.4,.1)
to[out=175,in=-65, looseness=.5] (-.9,.9)
to[out=115,in=115, looseness=6] (-1.2,.8)
to[out=120,in=-45] (-2,1.4)
-- (-1.8,1.5)
to[out=110,in=15] (-2.8,1.5)
to[out=75,in=210] (-2,3.3)
to[out=30,in=-100, looseness=.5] cycle;
\fill[darkbrownb] (-1.2,2.6) to[out=-45,in=90] (-.7,1.9) to[out=-90,in=-75] cycle;
\fill[darkbrownb] (-1.4,2.3)
to[out=-45,in=90] (-.8,1.4)
to[out=155,in=75, looseness=2] (-1.4,1.6)
to[out=165,in=0] (-1.9,2)
to[out=90,in=180, looseness=.5] (-1.8,2.6)
to[out=0,in=190] cycle;
\draw[mountain] (7,3) to[out=175,in=-15] (5.5,3.5)
-- (5.1,3.2)
to[out=250,in=0] (4.2,2.3)
to[out=250,in=35] (3.6,1.5)
to[out=250,in=45] (3.3,1.1)
to[out=210,in=0] (1,.5)
to[out=230,in=15] (0,0)
to[out=215,in=75] (-2,-2)
-- (7,-2) -- cycle;
\draw[darkbrownb, ultra thick] (1,.5) to[out=-95,in=45] (0,-1);
\fill[darkbrownb, draw=darkbrown] (5.5,3.5) to[out=-85,in=75] (5.3,1.5)
to[out=-35,in=125] (6,.5)
to[out=270,in=65] (5.8,-.5) -- (5,-.8) -- (4.7,-2) -- (2.5,-2) -- (2.5,-1)
to[out=65,in=-90] (3,-.5)
to[out=15,in=-90] (4.2,2.3)
to[out=0,in=250] (5.1,3.2)
-- cycle;
\draw[darkbrownb, sharp corners, thick] (6,.5) to[out=35,in=195] (6.5,1)
to[out=-65,in=120] (6.7,.8)
to[out=-90,in=110] (6.9,0);
\draw[darkbrownb, ultra thick] (5.5,3.5) to[out=-75,in=135] (6,2.5);
\fill[darkbrownb, draw=darkbrown] (-6.5,-3)
to[out=35,in=220] (-2.8,.8)
to[out=0,in=220] (-2.3,1.2)
to[out=-35,in=125] (0,-2)
-- (0,-3) -- cycle;
\draw[mountain] (-2.3,1.2)
to[out=-90,in=90] (-2.2,.8)
to[out=-110,in=120, looseness=1.3] (-1.9,-.7)
to[out=-110,in=110] (-1.7,-2) -- (0,-2)
to[out=125,in=-35] cycle;
\fill[white, draw=darkbrownb] (-3.2,.4)
to[out=-120,in=90] (-3.5,-.4)
to[out=45,in=45, looseness=9] (-3.3,-.5)
to[out=225,in=15] (-4,-1.1)
to[out=90,in=15, looseness=2] (-4.6,-1.5)
to[out=75,in=-45] (-4.3,-.8)
to[out=45,in=220] cycle;
\fill[white, draw=darkbrownb] (4.2,2.3) to[out=-75,in=45] (4.3,1)
to[out=-45,in=-15] (4,.5) to[out=-45,in=120] (4.5,0) -- (4.3,0)
to[out=120,in=-85] (3.5,.6)
to[out=245,in=-145, looseness=6] (3,.7)
to[out=35,in=-75] (3.6,1.5)
to[out=35,in=250] cycle;
\fill[white, draw=darkbrownb] (5.5,3.5) to[out=-95,in=135] (5.8,2.5)
-- (6,2.5) to[out=-75,in=110] (6.5,1.8)
to[out=0,in=-90] (6.5,2.3)
to[out=-45,in=-35, looseness=5] (6.5,2.5)
to[out=45,in=-20] cycle;
% Front view
\fill[draw=none,left color=white,right color=blue!10,middle color=white] (-7,-3) to[out=15,in=180] (1.5,-1.6) to[out=0,in=196] (7,-1)
-- (7,-5) -- (-7,-5) -- cycle;
\draw[blue!10, fill=blue!9] (2,-5) to[out=25,in=0,looseness=2] (1,-2)
to[out=170,in=180, looseness=2] (1,-1.6) -- (1.1,-1.6)
to[out=200,in=180, looseness=1.8] (2,-2)
to[out=0,in=90] (5,-4)
to[out=-90,in=75] (4.8,-5) -- cycle;
% House
\foreach \numb [count=\xi starting from 1] in {-4.5,-4.2,-3.9,-3.6,-3.2,-2.85,-2.45,-2.06,-1.6,-1.2,-.8,-.4,0}{
\coordinate (b) at (-6.7,\numb/2);
\coordinate (c) at (0,\numb/2);
\ifnum\xi>8
\begin{scope}
\path[clip] (-6.8,-1.7) -- (-5.5,-.3) -- (-3.8,-1.9) --cycle;
\draw[bottom color=darkbrownb, top color=darkbrown, darkbrownb] (-3.8,\numb+.3) -- ($([c]b)+(0,1mm)$) arc (90:250:1mm) -- (-3.8,\numb-.3);
\end{scope}
\else
\ifodd\xi
\begin{pgfonlayer}{foreground}
\draw[bottom color=darkbrownb, top color=darkbrown, darkbrownb] (-3.8,\numb+.2) -- ($([c]b)+(0,1mm)$) arc (90:250:1mm) -- (-3.8,\numb-.2);
\draw[darkbrownb, fill=darkbrown] (-3.8,\numb-.2) arc (270:-90:1.5mm and 2mm);
\end{pgfonlayer}
\draw[bottom color=darkbrownb, top color=darkbrown, darkbrownb] (-3.8,\numb+.2) -- ($([c]c)+(0,1mm)$) arc (90:-80:1mm) -- (-3.8,\numb-.2);
\else
\begin{pgfonlayer}{foreground}
\draw[bottom color=darkbrownb, top color=darkbrown, darkbrownb] (-4.1,\numb+.2) -- ($([c]c)+(0,1mm)$) arc (90:-80:1mm) -- (-4.1,\numb-.2);
\draw[darkbrownb, fill=darkbrown] (-4.1,\numb-.2) arc (270:-90:1.5mm and 2mm);
\end{pgfonlayer}
\draw[bottom color=darkbrownb, top color=darkbrown, darkbrownb] (-3.8,\numb+.2) -- ($([c]b)+(0,1mm)$) arc (90:250:1mm) -- (-3.8,\numb-.2);
\fi
\fi
}
\begin{pgfonlayer}{foreground}
\draw[left color=blue!10, right color=white, rounded corners] (-6.8,-1.7) -- (-5.5,-.3) -- (-3.8,-1.9) -- (.3,-1.7) -- (-1.2,-.1) -- (-5.7,-.1) -- (-6.8,-1.4) -- cycle;
\fill[blue!15, rounded corners] (-3.8,-1.85) -- (-3.8,-1.6) -- (-5.4,-.1) --(-5.7,-.1) -- (-6.8,-1.4) -- (-6.8,-1.7) -- (-5.5,-.3) -- (-3.8,-1.9) -- cycle;
\draw[gray,thick, fill=gray!50] (-5.2,-4.5) -- (-6.4,-3.7) -- (-6.4,-2.5)
-- (-6,-2) -- (-6,.5) -- (-5.5,.7) -- (-4.9,.7) -- (-4.9,-2.05) -- (-4.6,-2.7) -- (-4.6,-4.3) -- cycle;
\draw[gray,thick] (-5.2,-4.5) -- (-5.2,-2.8) edge (-4.6,-2.7) -- (-5.5,-2.1) edge (-4.9,-2.05) -- (-5.5,.7);
\filldraw[darkbrownb] (-1.8,-2.08) -- (-1.8,-3.9) --(-2.4,-4.12)
arc (-90:90:1mm and 1.41mm)
arc (-90:90:1mm and 1.41mm)
arc (-90:90:1mm and 1.41mm)
arc (-90:90:1mm and 1.41mm)
arc (-90:90:1mm and 1.41mm)
arc (-90:90:1mm and 1.41mm)
arc (-90:90:1mm and 1.41mm)
-- cycle;
\fill[darkbrown, draw=darkbrownb] (-1.9,-3.9) -- (-1.8,-3.9)
arc (-90:90:1mm and 1.3mm) edge[darkbrownb] ++(-.1,0)
arc (-90:90:1mm and 1.3mm) edge[darkbrownb] ++(-.1,0)
arc (-90:90:1mm and 1.3mm) edge[darkbrownb] ++(-.1,0)
arc (-90:90:1mm and 1.3mm) edge[darkbrownb] ++(-.1,0)
arc (-90:90:1mm and 1.3mm) edge[darkbrownb] ++(-.1,0)
arc (-90:90:1mm and 1.3mm) edge[darkbrownb] ++(-.1,0)
arc (-90:90:1mm and 1.3mm)
-- (-1.9,-2.1) -- cycle;
\draw[darkbrownb, fill=blue!50!white!90!black] (-.5,-1.98) -- (-.5,-2.85) -- (-1,-2.97)
arc (-90:90:1mm and 1.2mm)
arc (-90:90:1mm and 1.2mm)
arc (-90:90:1mm and 1.2mm)
arc (-90:90:1mm and 1.2mm)
-- cycle;
\draw[gray!70, ultra thick] (-.75,-2.91) -- (-.75,-2.03);
\draw[gray!70, ultra thick] (-.5,-2.43) -- (-.92,-2.52);
\fill[darkbrown, draw=darkbrownb] (-.5,-2.85) -- (-.4,-2.85)
arc (-90:90:1mm and 1.1mm) edge[darkbrownb] ++(-.1,0)
arc (-90:90:1mm and 1.1mm) edge[darkbrownb] ++(-.1,0)
arc (-90:90:1mm and 1.1mm) edge[darkbrownb] ++(-.1,0)
arc (-90:90:1mm and 1.1mm)
-- (-.5,-1.98) -- cycle;
\end{pgfonlayer}
\fill[blue!10] (1.6,-.4) rectangle (1.7,-.3);
\fill[gray!50] (1.65,-.3) to[out=45,in=245, looseness=1.5] (1.6,.5) to[out=230,in=55, looseness=1.5] cycle;
\fill[lyellow] (1,-1) -- (1.4,-.4) -- (1.8,-1) -- (1.8,-1.8) -- (1,-1.8) -- cycle;
\fill[dyellow] (1.8,-1) -- (2.8,-1) -- (2.8,-1.8) -- (1.8,-1.8) -- cycle;
\fill[left color=blue!50,right color=blue!10, rounded corners] (1.4,-.4) -- (1.8,-1.1) -- (2.9,-1.1) -- (2.5,-.4) -- cycle;
\fill[blue!10, rounded corners] (1.4,-.4) -- (.9,-1) -- (1,-1) -- (1.5,-.4) -- cycle;
\fill[blue!30] (1.3,-1) rectangle (1.5,-.8);
\fill[blue!30] (2,-1.6) rectangle (2.6,-1.2);
\fill[darkbrown] (1.3,-1.6) rectangle (1.5,-1.4);
\node[cloud, cloud puffs=15.7, fill=blue!10,
minimum width=3cm, draw, minimum height=1.24cm] (cloud) at (-4,4) {};
% Trees
\treex[.15]{6.4,-.5}
\treex[.1]{4,-.5}
% Snowman
\fill[outer color=blue!10, inner color=white] (1.5,-3.8) circle (6mm);
\draw[darkbrownb, thick] (1.2,-2.9) --++ (-.6,-.3);
\fill[outer color=blue!10, inner color=white] (1.5,-3) circle (5mm);
\foreach \button in {-2.9,-3,-3.1}{
\fill[black] (1.4,\button) circle (1.3pt);
}
\draw[darkbrownb, thick] (1.8,-3) --++ (.5,-.5);
\fill[outer color=blue!10, inner color=white] (1.5,-2.3) circle (4mm);
\begin{pgfonlayer}{foreground}
% Snowflakes
\foreach \point in {1,...,400}{
\pgfmathparse{rand}
\pgfmathsetmacro\psx{-7*\pgfmathresult}
\pgfmathparse{rand}
\pgfmathsetmacro\psy{-5*\pgfmathresult}
\pgfmathrandom{1,10}
\let\pointwidth\pgfmathresult
\node[font=\fontsize{\pointwidth}{70}, text=gray!20] at (\psx,\psy) {\Snow};
}
% Snowdays
\foreach \giorno in {1,2,...,24}{
\pgfmathparse{rand}
\pgfmathsetmacro\xpos{5*\pgfmathresult}
\pgfmathparse{rand}
\pgfmathsetmacro\ypos{4.5*\pgfmathresult}
%\pgfmathrandom{0.1,1.75}
%\let\pointwidth\pgfmathresult
\ifnum\giorno<24
\nive{\xpos}{\ypos}{\giorno}
\else
\nive[2]{\xpos}{\ypos}{\giorno}
\fi
}
\end{pgfonlayer}
\end{tikzpicture}
\end{document}