Winter Wonder Land Animation – I’m a little late

Originally inspired by a kickin’ real life Christmas display on YouTube, I’ve spent the last 2 months in the evenings and weekends creating this animation sync’d to “Wizards In Winter” by Trans-Siberian Orchestra:

If you have a newer computer, view the actual swf here (Use the number keys to change camera views)>>

Or view the fullsize 1000x500 Quicktime movie>>

Or just watch it on youTube:

[ original youTube video ]

Now you might wonder *why* I would spend so much time on this – right? Well, partially because I was forced to endure this lame version by Miller Lite every day in December -UGH!!

I finally snapped after the 100th time of having to watch this thing and got to work.

Now, the guys over at Swift3D came out with Papervision3D support and I wanted to do a project with Swift to see where the holes were and what it was really capable of doing. I’m here to say Swift3D is the real deal – it has powerful tools you’d never expect, and it gives you a ton of export/rendering options that every Flasher out there needs when doing 3D/2D work. So, with the exception of baking in shadows on the house’s texture, the entire scene was modeled in Swift3D.

The trees were all created with the lathe tool (which freakin’ rocks for stuff like this) and the star was a simple extrusion. The house, oddly enough, was from Google’s online library of free Sketchup models. I was able to convert it to 3DS and Swift3D imported it right into the scene. How cool is that?!?!

I then sat down to write out an animation engine I’d been meaning to try for a while. Basically, I created “Sequence Groups”, and played their “parts” on the computer keyboard with the music. When I was done with the particular section, I would dump an array out of the recorder, paste it into my code for the particular SequenceGroup and bam, the engine took care of the rest. I was seriously surprised at the accuracy I was able to get with this method – I was able to play 16th notes wiithout it dropping a single note and in my testing (even though this song doesn’t have any) 32nd notes worked at this tempo as well.

After some serious rounds of optimizing the crap out of this thing, it runs at 1000×500 on my Mac Book Pro in the mid 20’s using the 9.0.115 player. I sacrificed a few killer concepts I wanted to put in there like Fire coming out of the chimney, a snow globe dome and an Xwing pulling the scene through outter space to name a few πŸ˜‰ I originally wanted to use the Effects branch to put in blurs and glows and try some DOF stuff, but there just wasn’t any room after over 5500 ploy’s and the size of the scene and animation…and music…and everything else πŸ˜‰

I really pushed to get this done for this weekends class in San Francisco – it turned out to be one of the coolest teaching tools I could have ever imagined. It’s got tons of tricks and optimization techniques as well as demo’s on communicating with your Papervision3D scene’s, materials and DisplayObject3D’s. So for all of you making it to the class, you’ll have the full source given to you and we’ll be covering how it was done and dig in with some hands on examples.

I’ll be posting the code for this project after the San Francisco class next week sometime.

I might add that the 9.0.115 player really gives this a boost. Usually in the mid 20’s with the FPS, and in the high teen’s with the Flash IDE player.

Here’s what it looked like before all the texture work was done:

  1. rockon….!!!!!!

    • Otto
    • January 31st, 2008


  2. \m/ Great work!

  3. Hahaha, coooool! I blogged about the original video Christmas 2005. So they are using that in an ad now?
    Need any benchmarks? The SWF runs fine on a recent Mac.

  4. You are a marketing genius! ROCK!

  5. @ Michiel: yeah, it runs fine on a newer Mac Book Pro, but it was sluggish on my 2yr old Dell for sure (10-13 fps on average)

    That’s why I made the youTube video – so people could see it as it was meant to be seen πŸ˜‰

  6. If I was a real genius, I would sell ad space on the roof of the house for a month at a time πŸ˜‰

  7. I really enjoyed it John! Really well done!

  8. simply put…

    a m a z i n g !

    • noah
    • January 31st, 2008

    That is Über freakin awesome. This is the kind of thing where the 3d is just a part of an overall brilliant idea! You rock john!

  9. Wow…pretty cool!

  10. You’re a nut, John! Love it! πŸ™‚


    • Ozgur Uksal
    • February 1st, 2008

    you are converting my dreams into reality πŸ™‚

    Ozgur Uksal

  12. Nice! You had to sync to the music manually though, right? I know computeSpectrum isn’t *that* precise…

    Anyway, see you tomorrow!

    • Jared
    • February 1st, 2008

    Oh, so the gauntlet has been thrown then. And as a developer at Miller Lite’s digital agency, I feel I must respond.

    We have your framework. We deployed a project using it last year. We will do more in the future. It will be better than whatever this thing is. Beware the long arm of digital marketing. We are everywhere and we know AS3.


  13. @Jared: See, I like Miller Lite, so I almost didn’t point out that it was your commercial, but dood, I’m GLAD the gauntlet is thrown down so to speak. That was a total one off in my opinion. I felt for you guys. you probably had zero time to work on it, and had to get it out as-is (at least, that’s what I’ve always thought – let’s hope that’s true)

    anyway, GOOD! I can’t wait to see what you guys come up with! Especially since you’ll have a budget behind yours (unlike my 2 month endeavor over nights and weekends)

  14. I cant wait to see the source on this thing! I hope at least some of the things you cover in the class will be made available to us not fortunate enough to be there πŸ™‚

  15. @vyper: YES! that’s the plan!

  16. Flaming Easter Devil Bunnies?

  17. Great class John. And yes, it was cool to go through the source to Winter Wonder Land, especially the part about optimization tricks to get the FPS rate up. I’m going through all the code today and trying to digest the info-dump.

    Andy’s filter tutorial was pretty awesome too. I had the football game running in the back of the room but kept missing the plays trying to keep up with the code Andy was putting up πŸ˜‰

  18. \m/ \m/ \m/ \m/ \m/

  19. gauntlets? christmas lights? beer?

    you must be a flash guy.

    nice work, john. glad to see freelancing isn’t keeping you so busy you can’t find time to just f*ck around.

    • Leo
    • February 10th, 2008

    Just awesome, great idea, cool flash adaptation and perfectly executed.
    Respekt and rock on!

  20. Once again proving, you are the man!

    Awesome bro. Just awesome. πŸ˜€

    • gg
    • February 14th, 2008

    very cool, good editing to.

    • murat
    • February 15th, 2008

    ooo very beatifull!!

    • Rez
    • March 21st, 2008

    As always you are kicking some major assage.

    • Judah
    • April 29th, 2008

    Hey there, really inspiring!! You mentioned posting the code/assets for this piece after the SF trip, which appears to have been a while ago. Any chance you’ll still be posting? Thanks either way!

  21. I can’t wait for the source code ,moths left

    • Charlie M
    • April 7th, 2009

    Frame rates where fine on my emachines, dual core 3.0, 2 gigs of ram, 1 gig video mem

  1. February 5th, 2008
  2. March 14th, 2008
  3. November 5th, 2008

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s