Films Training Blog
Pipeline and Tools Characters
Pipeline and Tools Characters
search Login Join
favorite

Development Fund

Support Blender Core Development with a monthly contribution.

theaters

Blender Studio

The creators who share. Access production content and knowledge from the Open Movies.

code

Blender Developer Blog

Latest news and updates on Blender development.

people

Get Involved

Join the community and help with design, development, docs and more.

bar_chart

Open Data

A platform to collect and display the Blender Benchmark results.

menu_book

Blender Docs

Documentation on Blender's features, tools and API.

Blender Conference

The yearly event that brings together the Blender community in one place.

download

Get Blender

Download the latest Blender version, or try the beta!

Films
Training
Blog
Pipeline and Tools
Characters
Search
Login
Join

14th Jul 2021 | Press

The Blender Studio Pipeline

Francesco Siddi

Author

flag Report Problem

One of the technical targets of the Sprite Fright project is to research, develop and share a fully open source CG production pipeline. This is the set of tools and processes built around and within Blender to support the film creation process.

Over the years, the Open Movie teams have developed and shared countless tools for with this purpose, and this project aims at better documenting, organizing and expanding them. Sprite Fright also presents some unique challenges:

  • The complexity of the short is higher than previous productions (6 main speaking characters, crowd scenes with 20+ characters and creatures, complex sets, various effects, etc.)
  • Most of the production is happening remotely (this was not part of the planning when we started working on the short)
  • The production crew counts around 15 artists, one of the largest groups we had while producing a short.

In an upcoming series of blogposts, the team will describe challenges and share the solutions developed for processes like task management, render reviews, caching, shot building, etc.

Production tracking

I would like to start the series focusing on production tracking and task management. Here is a bit of backstory. In 2012, during the Tears of Steel project, I developed Attract.

Attract was a simple and accessible tool for artists and producers to manage their tasks, as well as giving some insights on the state of the production (how many seconds of animation are left, how many frames have been rendered final, etc).

The first version of Attract, a simple PHP script.
The first version of Attract, a simple PHP script.

The tool was helpful and artists enjoyed using it, as you can see from this video (skip to 33:33).

After Tears of Steel, I worked on a new iteration of Attract, moving from a simple PHP script to using the Code Igniter framework and tested it while helping out on the Wires for Empathy project. This was a great exercise to better understand the conceptual models of a production tracker (assets, tasks, reviews, statuses, etc.).

Finding the right balance between abstraction and practicality is one of the most challenging and fun aspects of software design and development, and the best ways to strike such balance is to actually use the software in production.

In 2014, while working on Cosmos Laundromat, I developed a new version of Attract, based on a non-relational database, with the goal of later making it available as SaaS (Software as as Service) on Blender Cloud. With the help of Sybren Stüvel and Inês Almeida we developed the first Blender-Attract integration, staying close to the “single source of truth” concept.

Attract v3, software as a service on Blender Cloud.
Attract v3, software as a service on Blender Cloud.

For Attract, the most fundamental source of information is the edit of the film. The vast majority of tasks and processes are derived from the edit, and the editorial department performs the actual addition, removal and alteration of each shot in the film. For this reason a tight (and unidirectional) integration with the actual edit is highly desirable.

Blender Cloud add-on, featuring Attract integration
Blender Cloud add-on, featuring Attract integration

Integrated pipeline

All Blender Studio short film projects since Cosmos Laundromat have been produced using Attract, Flamenco and the SVN manager. In 2017, Attract and Flamenco became available as Software as as Service for Blender Cloud subscribers to use in their own productions.

While there is a degree of integration between these tools, they are still relatively standalone and the long-term vision is to enable a more seamless availability of information across computing, task management, reviews, and tracking, storage and assets management, and of course, Blender.

Lineup: an integrated pipeline prototype

In 2020, together with Pablo Vazquez we started prototyping this concept, with a software called Lineup, a “production hub” offering tight integration across task management, rendering and storage.

This production hub would also take into account the feedback provided by Andy in his Spring post-mortem pipeline presentation and be the starting point for a portable software.

One of the inspirations for Lineup was the seamless integration of tools and workflows offered by software development platforms like GitHub.

Attract 4.0 prototype running in Lineup.

The initial focus of the prototype was to re-imagine how Attract would work, by providing integrated review, better asset and task status visualization and laying better foundations for integrating with version control systems, object storage and distributed computing.

A fresh start: Kitsu

Due to our busy schedule and the looming production start of Sprite Fright, we were only able to dedicate a few weeks designing and prototyping Lineup, before deciding to take a more practical approach and simply replace Attract with Kitsu.

Over the years I have been in touch with Frank Rousseau, the author of Kitsu, a free and open source production tracking software. Frank has been relentlessly working on this project and he fostered a growing community of TDs and developers around it.

Kitsu being used during the Sprite Fright production.
Kitsu being used during the Sprite Fright production.

Since last year, we have been using Kitsu in production, getting involved in the design and development process and also helping with funding the development of the project. Kitsu has helped the Sprite Fright team to create content in a collaborative and accessible way.

Next steps

While Kitsu greatly improved the production tracking experience at Blender Studio, we are still very much focused on working on the following topics:

  • Integration with the other parts of the pipeline, such as render management, data storage
  • Interfaces to communicate task completions and workload across the team
  • Presentation tools to expose the state of production to Blender Cloud subscribers
  • Deeper Blender integration

All these topics are aligned with Blender’s mission of providing tools that allow the freedom to create.

I look forward to sharing the next steps in this journey!

Francesco Siddi

Author

flag Report Problem

14 Comments

Join to comment publicly.

Frank Rousseau

17th July 2021 - 18:38

Thank you a lot Francesco for this article! We'll do our best to improve Kitsu and make your pipeline even better. I can't wait to read the other articles and see Sprite Fright finished!

Dan

18th July 2021 - 18:08

How Kitsu will be integrated? is goign to be part of Blender do you have any additional information? Cheers

Ingmar Franz

22nd July 2021 - 09:10

@Dan Your question is answered here: https://cloud.blender.org/blog/kitsu-addon-for-blender/

Ingmar Franz

22nd July 2021 - 09:20

Okay, the software itself is free but there's nevertheless a pricing for cloud storage: https://www.cg-wire.com/en/pricing.html Off course, it's completely understandable that the development needs funding and this is a way to do so.

Francesco Siddi

22nd July 2021 - 12:48

@Ingmar Franz - Kitsu can be self-hosted without requiring third-party cloud storage.

Ingmar Franz

23rd July 2021 - 20:10

@Francesco Siddi Thank you for the clarification 🙂.

Shivam Singh Gukhoul

2nd August 2021 - 22:22

@Francesco Siddi, Can you please teach us how to self host Kitsu. Thanks

Francesco Siddi

3rd August 2021 - 00:05

@Shivam Singh Gukhoul The online docs are quite complete. Check them out.

Moykul o'Conghaile

7th September 2021 - 23:00

@Francesco Siddi, @Shivam Singh Gukhoul, The online docs are not as complete as you might expect, however there is a really good youtube walk through using a raspberry pi as the server. https://youtu.be/QtFzQMYZSDc

Shivam Singh Gukhoul

15th September 2021 - 20:14

@Moykul Connolly THANK A LOT

Frank Rousseau

17th September 2021 - 10:01

@Moykul Connolly Hello Moykull. What do you mean by not complete as expected? Knowing the issues you faced would help to improve the documentation.

Moykul o'Conghaile

8th October 2021 - 14:56

@Frank Rousseau Hi Frank, Assumptions, If you are not a linux dev you may not know some instructions that are otherwise be taken for granted.  The youtube walk through, brings you through this and it works.

Frank Rousseau

12th October 2021 - 16:40

@Moykul o'Conghaile Ok I understand, deploying a web application is complex. It requires some Linux knowldege. It's great if the video do the work but it's tough for us to make documentation for people without Linux skills.

Moykul o'Conghaile

26th October 2021 - 15:43

@Frank Rousseau Totally agree!

Blender Studio

The Creators Who Share.

Facebook Logo Twitter Logo YouTube Logo
  • Films
  • Blog
  • Training
Pipeline and Tools
  • Cloud Rig
  • Blender Kitsu
  • Contact Sheet Add-on
  • Blender Purge
  • Blender Cloud Services
Characters
  • Einar
  • Security Bot
  • Huginn
  • Pack Bot
Studio
  • Terms & Conditions
  • Privacy Policy
  • Contact
  • Remixing Music
  • Blender.org
Loading...