This was a mistake. I knew it when I did it. But sometimes we’re slaves to our obsessions and you don’t have any choice but to make mistakes and hope you can escape the consequences.
(I did not escape the consequences.)
When you’re learning something new – 3D modeling, carpentry, programming, filmmaking, baking, etc. – then the thing to do is to take on many small, quick projects while you’re learning the ropes. If you’re learning to draw, then you should probably start with a small sheet of paper and not try to make a mural to cover the side of a building. You’re going to make a lot of mistakes at first, and it’s best to make them quickly, learn from them, and move on. The stuff you draw in your second hour will be much better than your first, your second day better than the one before, and so on. If you start with a mural then by the time you’re halfway done you’ll have progressed so far that you’ll no longer be satisfied with the first stuff you drew.
My first few Blender Renders reflect what you’re supposed to do: Make something simple, iterate on an idea, get it done, and move on. But then I started making gears and I was really into the idea of making this crazy clockwork machine that moves marbles around. This is the result:
Normally I’d put music over this to hide the uncanny silence, but I’m SO done with the project at this point.
Let’s talk about the problems…
You can see I stuck to my initial idea at the beginning. There are beveled gears, inset gears, a rack-and pinion setup, and a couple of different tumblers that were driven by gears that were driven by a chain. That part is fine. But then the project started to get away from me. The scene got to be frustratingly complex. The physics simulation slowed down my PC and made testing slow. Work got slower and slower. By the end I’d spent way too much time on it, I was sick of the whole thing, and I was left with a half dozen little annoyances and broken bits that were keeping me from finishing.
By the end I’d moved away from setting up complex gear animations and I was just building simple ramps for marbles, just to get it over with.
Finally I just gave up and rendered what I had. Towards the end you can see holes and gaps in the scenery, the lighting is flat, and several scene elements are floating in space with no means of support. The pacing is a mess and it all drags on for much too long. If I wasn’t so sick of the project, I’d edit the thing down to thirty seconds of the best bits.
What I’m Happy With
I think it was a good call to build the thing around the idea of colored marbles on flat white scenery. From experience, I knew that trying to texture the world would result in me chasing my tail forever. You can spend a ton of time crafting special shaders and materials, and that’s a road that leads you inexorably towards the thankless time-sink that is photorealism.
Hm. This chrome texture is too simplistic for my gears. They would look better with slightly rusty metal.
Okay, the metal texture finally looks good now. That took a lot longer than I expected! And now I think the lighting looks off. It was okay when the walls were white, but now these metal textures need more light, and they need light that comes from specific angles so I can really show off the brushed metal.
(More hours pass.)
Arg. Okay, I think I finally have the light levels balanced. And I’ve created apparent light sources so the light is coming from part of the scene. And I have the black levels balanced to provide good contrast without losing any details in the shadows. But now these ramps need a better material.
(More hours pass.)
Okay, I have different materials on the different parts of the scene, but now I see that the woodgrain texture looks wrong on the ramps. The grain is going in different directions on different faces. I need to unwrap this and manually set the UV values.
Now the scene is starting to look photorealistic, which means some of these simple objects look goofy and fake. I need to re-make them.
(More days pass.)
Okay. I guess it all looks mostly okay. Although there’s still something off about it. Do I need a gloss map? More subtle specular highlights? Maybe a bump map taken from reference photos?
The flat-white look was a good way to save me from that trap by limiting the number of different concepts I’d need to learn. I could focus on modeling, animating, and physics, while ignoring lighting, shaders, textures, and UV wrapping.
Also, I still like the trick at the end where the balls magically sort themselves. I realize I’ve told this visual joke before, and I’m the millionth person to tell it. But I still enjoy watching the last few fall down, creating order from (seeming) chaos.
I like the marbles. I like the rainbow colors and the way I was able to create all of those different patterns using Blender’s procgen textures. (Okay, this means I dabbled with shaders a bit. But this was kid’s stuff and not the rabbit-hole of photorealism.)
I like that first batch of machines, from the initial tumblers, to the mixer, to the gate that moves back and forth. That’s a fun 45 seconds.
What I’m Not Happy With
Conceptually I divide the set into three sections: The machines at the start, the “basement” area with the conveyor belt, and the final Galton board. I’m really only happy with the start and end. I think the entire basement should have been tossed out, and the other two sections should have been shorter.
The conveyor belt was a complete nightmare. So was the chain turning the gears. There are a ton of tutorials on YouTube showing you how “easy” it is to set up a “working” conveyor belt in “just five minutes”. These tutorials have someone throwing the whole thing together at the world origin. It seems so easy.
But if you want to build away from the origin? Well, there are a lot of wrong ways to do that, and these videos don’t tell you about it. Also, things get a lot more complex if you want the conveyors to use looping animations and you also want physics objects to ride them. That stupid ugly conveyor in the basement? With nothing driving the belt, nothing holding it up, and no coherent lighting? I spent an entire day getting that ghastly thing working.
It’s nobody’s fault, really. The tutorials aren’t bad. It’s just that in a system this complex, there are four mutually exclusive correct ways to do something, and fifty wrong ways to do it. Even if a tutorial shows you the correct thing, it’s not always clear why it’s correct or what other options might break it.
Early on, I decided that I was going to embrace a deliberately low-poly, flat-shaded look. But then I drifted away from that and started using smooth shading, and in the end the flat-shaded stuff just looks ugly and primitive.
In terms of layout, I really did make things hard on myself. I had the action take place in a small room, flowing counter-clockwise along the outer wall. The plan was to have all of the stuff connected so that the gears for one thing were also driving the machinery for the next thing. That’s good as a concept, but I didn’t start with a layout or plan in mind. I just started placing gears and decided to wing it. In the end I had all the drawbacks of having everything packed into a small space, but without the interconnected design that would make it worth the trouble. You could take the existing machinery and have it travel in a straight line along a single wall without losing anything in the process. The result would be about ten times easier to work on, for basically the same gag.
(Yes, I know about collections, and I know you can hide collections of objects. I used that extensively. It helped, but it couldn’t save me from my own lack of planning. I still wound up with the problem where I’d need to hide a bunch of machines just so I could see what I was doing. But then I’d build new stuff that overlapped with the existing machines because they were hidden and I misjudged how much room I had to work with.)
A WEEK. That’s how long I spent on this three and a half minutes of animation. I should have gone smaller and simpler, gotten it done in two days, and moved on.
Ah well. Those first couple of days were fun, and I did manage to learn the stuff I set out to learn.
After this boondoggle I aimed much lower, and just did the famous donut tutorial that Blender newbies are supposed to start with:
That took about an hour, which is much more in line with the sorts of things I ought to be doing at this point in the learning process.
Starcraft 2: Rush Analysis
I write a program to simulate different strategies in Starcraft 2, to see how they compare.
Fixing Match 3
For one of the most popular casual games in existence, Match 3 is actually really broken. Until one developer fixed it.
Deus Ex and The Treachery of Labels
Deus Ex Mankind Divided was a clumsy, tone-deaf allegory that thought it was clever, and it managed to annoy people of all political stripes.
Trashing the Heap
What does it mean when a program crashes, and why does it happen?
Final Fantasy X
A game about the ghost of an underwater football player who travels through time to save the world from a tick that controls kaiju satan. Really.