In one of their recent videos guys from FlippedNormals said that when a company starts a project, they stick to the version of software they started with. So if they started with "3D Software 5.1" in 2013 and the production takes 5 years, in 2018 they're still working on 3D Software 5.1. I find it hard to believe. However, those guys worked in multiple companies and I don't see a reason why would they lie. Supposedly it's to avoid compatibility issues or bugs being introduced in new versions. But... does it really happened to anyone? Or it's just the way people have been doing it for years and no one thought that maybe it's stupid?
I worked in Blender for 6 years doing all sorts of stuff, from modeling to texturing, animation, sculpting, compositing, basically everything. I always updated to the newest stable release. I've never encountered an error - like the classic one, when you get a red pop-up window with string of random numbers and letters basically saying "stuff doesn't work, gg bye loser". I've never encountered compatibility issues (ok, once, when layers system changed in 2.8 and it took like 3 minutes to set the proper visibility again). When I open my files from 2013, they work perfectly fine.
Is Blender some kind of unicorn? Is Autodesk software actually bugged or people have irrational fears + standard industry entrenchment syndrome ("this is the way we've been doing it for 3000 years and it works so we're not changing anything")?
Replies
In big studios there are a lot of custom tools/plugins/exporters coded around the core app API. You would have to recompile everything in your pipeline. This would take a huge amount of dev time. Its not the DCC that does make the troubles its the "pipeline" itself.
Next year will change a lot at least in FX Studios. Cause they have to upgrade the pipelines to Python 3 and USD.
The new pipelines arnt app centric they are build around USD.
Next morning 80+ Artists would update there prefs and install the first 4h the day custom tools they need.
The layout department would inform the TD that they cant work cause there is no verison of our instancing tool available for the lest maya API.
The rendering department would come to me and ask "hey why isnt our Rendermanager not working".
Someone has to fix the license manager and ornder a new lic file. Which could take up to two days.
The latest Arnold version does not run cause we use some inhouse shaders. We need to recompile them.
There is no Vray vesion available for the latest maya version we need to wait around three weeks.
The rigging department cant work cause the inhouse rigging solvers does not work with this API.
The Fx team is failing to get the latest Houdini bridge working.
The anim department cant clean the anim for export cause the TD that does code the plugin is on vacation for two weeks.
The Modeling department cant find the latest files cause the Shotgun Asset launcher isnt updated with the latest maya version.
We cant export to the game engine cause there is no exporter available.
We art able to open the latest client files cause we cant install there file reader plugin.
any time you update something and half the production floor is blocked, you are literally burning money as they sit idle and can't work. I remember when I worked at ubisoft and a couple times a year they would do a company wide fire drill that would take almost an hour for everyone to get back to work after, we would joke about it being a $100K+ fire drill. and thats just for an hour, imagine multiple days of being blocked because plugins and the pipeline are broken. it's just too risky, as most software updates don't add that much reward compared to the potential downsides.
These days I am using Blender which is freely available. I have about 6 or 7 versions on disk ranging from 2.79 to 2.82, and have had occasion to switch versions because of a bug even with an RC. Disregarding the information provided above, if I had a project that spanned years I would also sit on the last stable software version, and I am a workforce of one.
If you have never had your process gummed up by bugs or updates I reckon you can count yourself lucky. With something as complex as a product pipeline it seems a no brainer to stick with stable versions.
So far most new features in 3dsmax, i personally just do not need. I have a bunch of custom scripts and tools, reinstalling it all, setting it up and tons of shit breaking?
nah, thank you
whatever works, works. I have all the latests max version from the company, i just dont need the stuff in there, so i decided to stick with a 10 year old software version for the main part of my work.
Other things are up to date as our clients need them.
So for the most part zbrush stays sorta current, the unreal engine does, substance painter does. but on all of these tools, i usually have at least 3 versions installed to support our clients with the data they need
I have multiple times updated software during production and there is always something failing, missing updated plugin, new bugs (jo, new version doesn't mean less bugs, it means less bugs you are aware of)
wohoooooooooooo!
"I worked in Blender for 6 years doing all sorts of stuff, from modeling to texturing, animation, sculpting, compositing, basically everything. I always updated to the newest stable release. I've never encountered an error "
That's the thing man - you are looking at this from the perspective of a user not having to deal with any toolset dependencies, and only using everything default. Even with the almighty Blender, going from one version to another *will* sometimes unexpectedly break some custom script you might have developed, since the API calls can change at any time. Even a mere change in class name in a seemingly unchanged feature will break your scripts. Of course all the default bundled scripts will be updated accordingly, but your own won't. This happens across big releases (2.79 to 2.8) but also across smaller ones (2.78 to 2.79 for instance).
So yeah even with the best case scenario of an open source software not tied to any corporation dictating a release schedule, you *will* run into workflow issues if you update to latest without also taking the time to port your toolset. So take that and multiply by all of the above explanations about the interdependencies of art departments in production and you have your answer right there.
That said I understand that this is not intuitive ; but I can guarantee you that with time it will become crystal clear to you. This is why people always willing to jump to the "latest and shiniest" version of an app can be perceived as inexperienced, and justifiably so : because had they have some experience with somewhat involved production cycles they'd know very well that always upgrading to latest at the time of release is *always* a potential waste of time because of things likely to break - and losing time (or even worse, losing work) that way is never, ever worth it.
-----
On a side note, this is one of the reasons why I find subscription models for software (which are always more or less forcing/suggesting to update to latest versions as way to justify their cost) to be highly cynical, because the people making these programs know very well that such issues will always happen. Yet marketing is using the seemingly low cost of the subscription model as some kind of shiny carrot. I personally find it extremely unhealthy and borderline dishonest.
And if a project absolutely requires this or that new rendering feature from that one new update, then it's a usually a pretty bad sign as it tends to show that the Art Direction doesn't know what they want in the first place.
This kind of work just needs to be done in parallel with current production, not in the main branch.
This is the kind of stuff you learn while working alongside experienced developers. It's one of the coolest things about working in a studio.
And it's awesome to see Polycounters sharing their knowledge and experience here.