Big Buck Bunny builds a better Blender

Big Buck Bunny is the colorful product of the Peach open movie project: an animated short released online and on DVD. But in addition to the 'toon itself, Peach has produced an altogether different yield: improvements to the Blender 3-D modeling application. Like its predecessor Project Orange, Peach pushed the open source tool forward with the demands of a real-world media production, in a way that hobbyist usage cannot. Could other free software projects use the same model?

Peach was the second such project in Blender's history; the first was Project Orange in 2006, which developed the short film Elephants Dream. The Blender Foundation organized Orange and co-managed it with a commercial animation studio that provided office space and half of the production's budget. Peach was paid for entirely by The Blender Institute, a new offshoot of the Blender Foundation that maintains a permanent studio and office in Amsterdam. The Institute is already hard at work on its next project, a 3-D video game featuring characters from Big Buck Bunny, and has subsequent projects mapped out through 2010. It finances production costs and staff positions by selling advance orders of the finished product, as well as providing Blender training and contract work.

The project model is simple: the creative team works on the film just as it would for a commercial studio like Pixar. The Blender community develops the code that the creative team needs, but is not involved in production itself. "Ideally we only hire artists, with one developer to support them," says Ton Roosendaal, the Institute's director and core Blender developer. "Optionally, we use some of the budget to have devs coming over for sprints, or for shorter periods, or to give them grants."

At the beginning of the planning stage, Roosendaal and other Blender developers agree on a set of technical targets that set the tone for the upcoming project. But rather than restricting the creative team's options, the technical targets usually open up creative possibilities previously unavailable -- such as the hair and fur simulation used for the animal characters in Big Buck Bunny. Over the months required to complete the project, some technical targets are dropped and new ones arise out of necessity, and general improvements to the Blender code base emerge as a matter of course.

The Bunny plot

According to Roosendaal, Big Buck Bunny required €150,000 to produce. Because the full burden of that bill was the Institute's responsibility, the project had to adapt: DVD sales had to net more money than they had in Project Orange, so the creative team had to come up with a film more popular than Elephants Dream.

Those constraints, says Roosendaal, drove the selection of technical targets. Elephants Dream was visually impressive, but was strange and surreal, a vignette with little in the way of plot. Roosendaal wanted something that would be a bigger hit with audiences, and asked the creative team to shoot for something funny. The aforementioned hair and fur system had long been on the Blender wish list, and fit the bill naturally. So did the other major technical targets: mesh deformation for the soft-bodied cartoon characters, improved animation tools, and support for large-scale scenes.

Some technical targets proved out of reach during the production time frame, such as soft shadows and a global illumination system. But others arose during production, says Roosendaal. "While working, artists find lots of things, especially the smaller tools that save a lot of time or things based on complexity management." Cubic diffuse shading and zmask rendering are two such technical tools coded during the production cycle, he says, and Blender's asset management and reuse system matured. "We discovered we need higher-level tools to visualize and manage it better. People can see how we did ED and BBB. It's quite complex shots, but still one person can manage the entire pipeline and send the entire scene to the farm to render it all in one go."

Work on Big Buck Bunny began in August 2007, employing a team of seven at the Institute. The film premiered in April 2008, and the DVDs were shipped in May. In accordance with the project's commitment to open media, all of the content created is available under some form of Creative Commons license that permits redistribution -- including digital copies of the final product, 3-D models and textures, and the film's musical score.

On the development side, Peach culminated in a new release of Blender that included all of the improved code and new features created along the way. That release was version 2.46, and was made public in May 2008.

Impact on Blender - and other projects

At least one third-party project has already begun to use the open content provided by Peach in a derivative work; an independent animator produced a 30-second short reusing a character from Big Buck Bunny. But Roosendaal says there are far more examples less visible to the public eye. Elephants Dream is used as reference video for high definition work, since it is available without licensing. "Microsoft made a special Xbox version of it, downloading files from the Ogg guys Web site," he says, "and later asked me for original HDR frames. Encoding stuff, you know, these guys want original material, something they will never get from Pixar."

And many of the industry players the Institute worked with on Big Buck Bunny have benefitted directly from the final product, such as the printing company that provided the theatrical film version. "We get free 35mm copies of BBB, the film printing business then uses it for promotion, reference, and for tests. The composer: free music, he uses it for promotion and further tests. If you work in licensed content, everyone locks up everything with the result that nobody can do anything with it."

But most importantly, Roosendaal says, giving the core Blender developers the opportunity to collaborate with a real studio on a production helps Blender development tremendously. "Blender before Elephants Dream (2005) compared to now? Faster, more focus, more stability, better code, more fun!" The Institute's projects help to define Blender's roadmap, but most of the technical targets are well-known, oft-requested features. The value of the collaboration comes from focused development and clearly defined short-term goals.

Even though the Peach project that created Big Buck Bunny is just winding down, the Institute is well on its way to completing its next project, Apricot, which is due to wrap up in August. It represents a shift in emphasis compared to Orange and Peach; the product will be a cross-platform 3-D game, and targets improvements that serve the game development market of Blender users -- although, of course, many of the new features will be of interest to Blender users of every stripe.

At least two more projects are scheduled to follow Apricot, Roosendaal says, although the exact details are still up in the air. Expect at least one more short film, with technical targets such as smoke and fire, mesh sculpting, high-resolution (4K to 8K) rendering and compositing, and visual effects like motion tracking.

What next?

Big Buck Bunny is available for download in a variety of sizes and formats. If you watch the film and enjoy it, you can still purchase the DVD, which includes a behind-the-scenes look at the production as well as copies of all of the content and project data. Even though the Peach project is complete, your purchase will help the Blender Institute fund further work. And if you want to financially support Apricot, you can pre-order a copy of the game on DVD.

Whether you prefer the strange world brought to life by Project Orange or the fuzzy bunnies of Peach and Apricot, it is hard to argue with the process employed by the Blender Institute. It has brought substantial improvements to an already large and sophisticated application in a short time frame. It also serves as a proof of concept that open content can make money, and that free software can go hand-in-hand with professional creative work.

When you look at the success of the projects over the last two years, the only unanswered question is: what other free software projects could utilize the same technique?