Welcome.
Today's guide is about how to make a Grasshopper script that is big, messy and almost unreadable. Whether you're looking to defend your position at work (companies can't fire you if you're the only one that can use it) or looking to show you're the best script maker (because unreadable == extremely complex and valuable), you're in the right place.
Everyone talks about making Grasshopper scripts neat and tidy. They are wrong. Neat and tidy means people can read and understand your work. You need to make sure it’s almost impossible to read your scripts. Noticed I said impossible, we want to dangle the hope of reading in front of them because if it’s impossible, they will give up too quickly. And I’ll show you 10 ways you can do that.
While others spend time organizing their scripts, we can spend time solving the problem and making it harder for our competitors teammates. We’ll show them who is the more valuable one.
And it starts by making any of your scripts unreadable.
Tactic 1: Layouts are for losers
When you put down a component, just do it, don't think. A well-laid-out script is dangerous, people might understand it. What you want to do is place them as you think, the faster you do this, the better. Don't waste time and don't give them even a minute to read your script.
Don't stop, don't think, just put and move on. Your enemies will never catch up.
Tactic 2: Put tiny inputs every where
Spread all your inputs everywhere on the script. Don't make it easy for them, if they want to use it, they have to find for the inputs themselves.
The whole point is to make them work for it. Don’t make it too easy.
Tactic 3: Wires are your best friends
Okay, the more wires the better. Remember, we want to confuse people. Don’t worry about hiding things or keeping them neat. Remember we want them everywhere
Yes, yes, I know, they can follow the trail back to the right component but at least it would take them way longer to understand you. If there’s a will there’s a way they say, if they really want to use your script, they’ll figure it out.
Tactic 4: Confuse your enemies teammates
People usually read from left to right. So let's not do that. We can put our components any where, so don't be afraid of putting them behind or even on the top or bottom. I like to loop them around, making it even harder to trace.
If you don't have to strain your neck to read it, then it's not confusing enough. Remember, there's no wrong way, unless it's readable.
Put tactic 3 and 4 together and you get a gloriously unreadable script.
Tactic 5: Put wrong instructions everywhere
These suckers will tell you to use scribbles to describe their process. Well let's use that against them. You should put scribbles down too, but make them wrong. Make them second guess every word you write. An input for width ? Wrong, it's an input for the length.
This will force them to play with every input instead of just reading the script. They will also never trust a single scribble again. It may be true, it may not, the only way to know is to test it.
Tactic 6: Hardcode and hide everything
Alright, next up. Hard code everything. If you have a List, don't use it's length. Just put the number in a panel. Serves them right if they want to change your list. Why should you do all the work ?
Bonus: if you are using trees, hardcode the paths. That way if they change something, it'll break the script. Again, why are they even changing your script?
Better yet, they might actually have to talk to you which makes you even more valuable.
Tactic 7: Cluster randomly
If you want maximum deception, cluster everything. I know I know, it makes the script neater but it gives people false hope. They will take a look at your script and tell their managers "Oh look so neat and simple, it'd be easy to use." then when they use it. Boom! clusters everywhere! You're not tidying up, you're just sweeping the confusion under the rug. It’s like a sneak attack.
They have to keep clicking on clusters to read your script, it's genius. Grasshopper makes this really easy for us too. When you're done with your script, just randomly select components and cluster them. They'll never know what's coming.
They'll make promises to their managers that they can't keep and again you will seem like the hero.
Tactic 8: Keep changing data-types
Alright, this is an awesome one. It might even be too evil. I am joking, we want to crush help our teammates.
It's silent but effective at slowing your script down. Keep changing data types. If you have numbers, keep changing them to text and back again.
They'll never know why the script is so slow. Silent but deadly. Like farting in their faces.
Tactic 9: Use as many plugins as you can
If you can, don't use native components, they are too easy to find. Use plugins, as many as you can. You want to make it hard to even open your script. If they want it badly, they should find all the plugins themselves. Why make their life easier ? They need to earn the right to read our script.
But awhile ago, Rhino introduced the package manager to help people install plugins easily. Pfft. Lame. So, if you can, try to use plugins they aren't on there, just to make their life harder. Remember they need to earn their right, we don't want to just hand it to them.
The rarer the plugin, the better. Just be careful because if it's impossible to find, they might give up. We don't want that, we want to give them just enough hope that they think they can get it working.
It’s a lovely sight but it feels too hopeless and they might give up, which makes you look bad.
Tactic 10: Don't be consistent with your data
Okay, this is more of an advanced tip but never be consistent with your data. simplify, flip, shift and flatten are your best friends. People expect consistent data formats. Go against that, keep them on their toes, always change your data structure, so they never know what to expect. Never show them how you think.
shift paths is my favourite because it only works for that specific data-tree, if they change it, they have to also change the amount of shift they need. It is the best.
Final Thoughts
Okay, with these 10 steps, you should be able to make an extremely un-readable script. Which means you've future-proofed your job and asserted your dominance. Only you know how it works and that makes you the most valuable one.
If someone does manage to read it, well… they've earned your respect, not many people can go through all the trials you've put them through. Maybe then it's time to think about more ways to confuse them.
If you enjoyed this tutorial, consider subscribing. It really does let me know that my work is useful
I think you made a mistake good sir, Everyone knows that wires are your worst friend. Better just hide all wires, no need to fus about what component connects to what other components