Here in London, we don't often get snow. This time of the year, it's usually, rain, rain, cold, more rain, and on occasion, the classic 'London fog'. So we really get excited when instead of getting soaked and miserable we are graced with picture-perfect flurries. What's the logical next step? Well, it's Cosmo Monster's first winter, and we wanted to share this excitement with users of Meteor (of course!), so we added a little surprise in the latest Meteor update. Look out for it in the Play Store in the next few days, but in the meantime, here's a sneak peek and a bit of the 'evolution'.
Last year, we added some snow and festive cheer in our OpenSignal app, so the first step for Meteor was trying out the existing implementation, which used an open-source library. However, the advanced animations in Meteor clashed with the animation of the snow, creating lag and generally poor performance. After 30 seconds of debating, we decided to write snow ourselves! The first attempt at snow had same size snowflakes falling down in straight lines, with the same speed.
As all of our Meteor users know, we're perfectly happy to have fun with the app, play with references to meteors, comets, planets, and generally assume that the app is from an alternate universe. Snow, on the other hand, we wanted to make realistic. From Earth. In which case, there was an immediate point to change: snowflakes aren't all the same size. If you're looking at snow straight on, for example, there would be some perspective - the snowflakes further away will look different than the ones that are hitting you in the face. The next attempt was implementing this, experimenting with snow sizes, and creating some perspective by making the snowflakes that are closer to you move more slowly than the ones that are further away. The result?
Okay, the result doesn't look like snow, it looks like a blizzard hitting the window and accumulating like crazy. Windshield wipers anyone?
Obviously those snowflake sizes were waaaaay too big, but on top of that, snow doesn't fall in straight lines. As our designer said, snow doesn't fall, it dances! (How on Earth do you program that?). The next tries were focused on movement - each snowflake would now move along a sinusoidal path, and the overall speed was quite fast. The result? Chaos!
While this version certainly looked more like the norm al behavior of snow, it didn't give the 'picture-perfect flurry' effect mentioned at the beginning of the post. Reaching the final version meant scaling down the snowflakes further and slowing them down.
Which version do you like best? We already have ideas for next year, including: adding windshield wipers, accumulating the snow on the different elements in the app, changing the direction of snowfall with the rotation of the phone, adding different snowflake shapes, have the snowflakes be mini-Cosmo Monsters (okay okay, that's no longer 'realistic'). As always, if you're curious to try out these kinds of features before they are released, send us an email at [email protected] to join the Meteor beta program. You can also submit any feedback you have through the app.
Happy Holidays and Happy Snow!