This is the first progress report on the asset manager project (originally known as Redcurrant). Going forward, though, the plan is to report all updates on a weekly basis.
After Bart’s initial investigation at the beginning of the year, we spent the following months looking further into existing pipeline solutions and designs, still unsure whether to pursue our own project or adopt an existing one. This summer, in particular during SIGGRAPH 2014 in Vancouver, we had the chance to meet with a few pipeline architects, and also attend some relevant sessions on topics such as asset management and render management. We also got some demos from the TACTIC team as well as Damas software, Shotgun, and Thinkbox – with some of them extremely keen to support our project. But after these meetings and demos it was pretty clear that we had to develop our own solution. The main rationale behind this is that we need:
Relating to the last point, our pipeline is a little peculiar compared to most film-production scenarios. In general, pipelines and pipeline tools focus on data flow across departments as well as consistent data representation (depending on the context in which the data is required). In this production, we will mostly use the .blend file format (possibly with some Alembic for caching), so some of the main pipeline issues can be addressed later, although we are keeping them in the front of our minds as we design.
Building a feature-film-ready pipeline is a massive task, which we will not attempt to solve in one go. Based on past film experience and early feedback, we believe the best solution is to subdivide the pipeline into 3 main components:
We could write several paragraphs about each one of the components (and we will, in future posts), but for the moment let’s just focus on asset management. This is the component we need most urgently. Also, starting here gives us several benefits:
The simplified design for our asset manager (BAM) looks like this:
The idea is to allow selective “checkout” of a large project structure, including time and bandwidth and efficiency. At the same time, we want to maintain compatibility with the existing SVN-based storage and versioning system (used in all our previous open movie projects). It’s reasonable to expect that SVN will not scale well to the feature film level, but for the moment it’s a valuable safety net for the pilot production. (More detailed documentation will be available here.)
Currently the core team for this project is composed of Campbell Barton and yours truly (Francesco Siddi). We’ve received a lot of feedback and offers to help, which have been extremely valuable. At the moment there are no plans to expand the team inside the studio, but external contribution to the project will be seriously evaluated and possibly integrated. In order to make the project successful we need a number of experienced and motivated stakeholders, willing and interested in adopting the project in their own pipelines.
We have already spent several weeks collecting feedback, investigating, designing, and discussing the big picture. We have also started work on a proof-of-concept implementation, which is working well and could be the foundation for future work on the asset management module.
During the past week we have wrapped up 80% of the prototype functionality, and we are confident that during this week we will be able to deliver a basic command-line utility, allowing communication with a remote server via HTTP, abstracting SVN checkouts and commit operations. During the week we plan structure this and formalize the timeline even further.
If you’re interested to see the code and checkout the git repository, check the asset manager prototype here. (Keep in mind that this is a work in progress, not a production-ready tool.) More planning and design docs are available on wiki.blender.org.
We are still in the early development stage, but one of our top priorities (as highlighted in the time-line) is to have a working tool for the current production, allowing artists inside and outside the studio to work together. That being said, we are always open to feedback, suggestions, and the fixing of any issues you might encounter while working with the pipeline tools.
Let us know in the comments your early thoughts.