Graphically it'll be basic sprites plus the snowballs, which have to be handled specially. Since they start out tiny and grow larger as you roll them up they've got to grow smoothly. The obvious approach would be a scaled sprite, but when they get huge the sprite will just be a big blurry mess so thats not suitable.
The first method was to warp a 2d texture around a circle (so that the top edge of the texture becomes the circumfrence). This works nicely, but unfortunately as the snowball gets bigger the whole texture scales up, so you end up with shimmering textures at small scales and massively out of proportion lines at large scales.
After some tinkering, I switched it to stretch a 2d texture around the edge itself, maintaining a constant thickness regardless of snowball size. The result looks quite good:
I think I've settled on the style now - thick black outlines with blue tints. The landscape will probably be similar to the earlier reflection/ice experiments, although I'm not sure if I can fit a reflection in there somewhere.
Annoyingly, because they'll be lots of sprites mixed in between the snowballs I can't use my normal sprite handling code. Instead I'll have to write something custom which allows for arbitrary geometry to be spliced in between regular sprites. This has been on my todo list for a while, but I still havn't figured out a good way of handling it...