Over the past weeks we have spent a lot of time testing. When building a complex software infrastructure, it is generally a good idea to have some tools to systematically check its functionality.
Of course every software developer knows they *should* do testing, and many software projects do to varying degrees, but early on it became very clear to us that it wasn’t even an option to try to develop such a system without it.
That is more easily said than done since, in order to build a testing suite, we needed to automate and often abstract every interaction the user would have with the system (such as setting up an SVN repository and adding text files or linked .blend files).
We are already experiencing the benefits of test-driven development, which helps us foresee and verify regular and corner cases easily, while making sure that everything we’ve developed so far keeps working. The current status of the project is…
The first version of BAM is first being tested in the studio (initially by a couple of artists) so we can get some real-life feedback.
There is still plenty to do (including answering previous blog comments), so we better get back to work!
P.S. For the geeks out there, here’s some examples of test output:
With the name you choose nothing can go wrong :P
Actually the name is very poor choice if you look it up on google. I’ve tried BAM, BAM asset manager and it seems to be that you are not the first with that idea ! ;)
Anyway, great work, can’t wait to play with it. We have a small studio here in Toulouse, we are currently producing a (really) short movie and we are willing to test it, even if it is not production ready !
Cheers !
I’ve been testing BAM a little bit. I don’t know how to properly install it, but here are my experience right now:
http://wiki.blender.org/index.php/User:Eibriel/BAMtest
here is*
Im presuming based on the name that BAM is blender dependent. Is it likely that support for other programs might be considered? Seems a shame to shackle this to one program
@Rob, BAM’s currently a standalone Python3 application, it has no dependencies on Blender for the runtime (client or server).
(Though the unit tests call out to Blender for generating Blend files so we can check BAM handles them correctly).
Theres nothing preventing us from supporting other file types (we could support FBX/Collada/X3D/OBJ for example, it wouldn’t be that big of a task),
its just most of the useful functionality we’re spending time on revolves around Blender since we’re making this for ourselves at the moment.
Regarding SVN versioning of assets, I’m a little lost at why you would not use the more modern versioning tool such as Git? A brand new software project should not bind itself to pretty obsolete versioning tools — Git is in most every way more flexible, more efficient and more fault tolerant than SVN. So why not use Git, it can do all that SVN does, plus, if in the future you want more features,.. git already has them. Mabe I’m missing some key problem, sorry to be so opinionated ;)
Unfortunately git is totally unsuitable for binary data versioning – it’s only great for text files. Note that each git checkout (by design) gives you the entire history of the whole project. It’s not very useful for art work to have this whole history on your system locally – especially not because that easily goes into 100s of gigabytes for a short film.
I think git or mercurial have addons for managing large binary content.
For git it is http://git-annex.branchable.com/
What can be cool is to create a mesh diff tool and a versionning systeme with it. A nice article about it.
http://www.cs.dartmouth.edu/~jdenning/papers/meshgit-tr.pdf
Git annex helps if you use git and happen to have some large binary files associated with the project.
But it doesn’t turn git into really great versioning solution, where the primary purpose is to manage binary files.
Any updates on BAM?
BAM is now known as ATTRACT. Toward the end of the most recent weekly livecast there’s a short demo of where it stands now. A blog post with that and the other highlights from the week will be posted today!