on Sep 21, 2006
What follows is a long rant about a 3d modeling program. This isn’t aimed at anyone in particular, but I wanted to set these words down for the sake of posterity. Read at your own risk.
I love open source software. I’ve found that in most cases, open source software can be many times better than software from a store. If someone went to the trouble to write a program, it’s because they had a need they could not fill with commercial software. I often find that their needs and my needs intersect, and their open source project becomes a prized member of my software library. The fact that it doesn’t cost any money is just a bonus: Often I would gladly have shelled out some bucks for what I’m using.
This is not the case with Blender. Blender is an OS alternative to the $500 – $3000 3D modeling suites used by artists in the production of games and animations. This sort of software is what they use to make Toy Story, Shrek, et al. This software is by its very nature large and complex, and it’s surprising to see the open source community tackle a niche product like this. Even more surprising is what a train wreck the whole thing is. I have never, ever seen a major OS project so impossible to use.
The bad thing about these programs in general is that every last one of them has a unique interface. This is the nature of the beast. To use 3d software, you need to do complex stuff like move around in a 3d world, and there aren’t any standards for that sort of thing. In one program, you move with the left mouse button, rotate with the right. On another, you hit “A” and move the mouse to rotate, and “Z” to move. Another uses F1 and F2, but the direction that you rotate when you move the mouse seems to be reversed. There are as many navigations schemes as there are programs.
|This was the original design for the Blender interface, but it was abandoned early on for being too rigid and conventional.|
I’ve used several 3d suites in my career, and I’ve never run into anything this incomprehensible. After using the program for about five hours I still couldn’t tell you how to do very basic, simple things like cut / paste / undo / copy. There’s no edit menu. You can try keyboard shortcuts, but I’ve learned to fear these. Often keyboard shortcuts will do something unexpected. I’ve had windows appear that I couldn’t get rid of, or windows that I was using change into some other window and not know how to make them change back. I’ve learned to regard my keyboard as a device which I may use to punish myself in humorous ways. It’s like a cartoon control panel where all of the levers will drop anvils, open trap doors, or deploy humorous hammers against the hapless user. After enough smacks to the head and pies in the face I’ve learned to avoid pressing keys unless I really need to.
The biggest problem is the help for new users. There isn’t any. OS software is never very newbie-friendly, but Blender seems to take this to a whole new level that goes beyond mere new user neglect and enters the realm of new user contempt and loathing. Blender is a feral beast that must be tamed. It is going to test your resolve in the first few minutes, and if you show any hesitation – if you show even the slightest hint that you value your time and hope to accomplish something useful, it will sense your weakness and devour you. If you have ever seen Kill Bill 2 then I can put it this way: Blender is the Pai Mae of 3d programs. It hates newbies, despises windows users, and has nothing but contempt for English speakers. It will let you learn, but mostly because doing so will give Blender a chance to amuse itself by making you suffer.The wiki is one of those deceptive things with a huge table of contents that has a lot of unfinished stub articles and circular references, so no matter where you look you keep ending up on the same five useless pages. Of the little help you can find, many paragraphs are devoted to assuring you that yes, while this interface is totally different from anything you’ve ever seen on this planet, but trust us, it really is better this way and you’ll love it and it will be like second nature to you if you ever manage to scale the matterhorn-shaped learning curve. And lookie! Did you know you can zoom in on a button?!?!
When I’m reading about how to use difficult software, I don’t want to read a bunch of justifications about why the thing is so hard to learn. The fact that this needed to be written at all should be a clue to the sadists who made the interface.
I’m trying to learn how to build a skeleton, which is usually a collection of lines that controls a 3d model the same way your skeleton controls your body. Move a line, and the 3d model will bend. This is how games can make that 10,000 polygon ninja skulk around the screen: They just animate a little stick figure and the software bends the 3d model to move with it. Very cool. But I can’t figure out how to do it in blender. I read the noob guide and it says:
This is supposed to be for newbies, but the article discusses “old” ways of doing things, then switches to the “new” way of doing things, then compares them, then talks about buttons I don’t see with meanings I don’t understand, then tells me that the new way really is better, and then promises that the next pages will teach me even more. That last part should be a given: It would be impossible for a page to teach me any less, since this one didn’t teach me anything at all.
One thing that works against the people writing these guides is that the interface is so dynamic they can’t discuss it using specifics. They can’t say, “look for the ‘nerdle’ button, next to the ‘foo’ button on the right panel”, because the user might not have those controls on the right. They might be on the left. Or hidden. Or jammed into a little postage-stamp window at the bottom where the button can’t be seen. Or when they bring that set of controls into view it will replace the window they were working in, with no clue how to make it go away so they can go back to work. You can’t even say “look for the red button”, because the program has various interface themes that will re-shape and re-color everything. So, these tutorials must be coy about what controls look like and where you can find them. Once you do manage to hunt down the button, you may find it is disabled. Why? You don’t know, and the noob guide isn’t going to tell you.
After five hours I’d finally managed to wrangle some sort of useable geometry out of the thing and I was ready to save my work. This is where things turned ugly. Despite that fact that this is open-source software, they don’t have any open-source file formats. (To be more exact, they don’t have any simple text / ascii / raw dump of the data, which is easy to write and easy to read.) You can only save using various proprietary formats used by other 3d programs. The only one I could use was “3DS”, which is a very, very common format. So I saved it, but the resulting file was gibberish. No other program I have can read it. I have no idea what blender is doing, but it is not saving these files correctly.
The website explains that while the old version used a plugin for 3DS files, this feature is built in to newer versions! I don’t know if the version I’m using is the new or old one in their book, and I shouldn’t need to. They have a link that promises more info, but it’s dead. The linked page is gone.
So after all of this work the only thing I can do is save my work in a bunch of file formats I can’t read, or save it to one file format I can read but which Blender can’t write properly.
Many, many thousands of hours of hard work went into making this software. Niche software. The audience for this sort of thing is already small, and the program works at every turn to defeat and repell eager new users.
What a sick waste of everyone’s time. Including mine.
Shamus Young is an old-school OpenGL programmer, author, and composer. He runs this site and if anything is broken you should probably blame him.