Hacker News new | past | comments | ask | show | jobs | submit login
The Grove 8 – Growing Trees in Blender (thegrove3d.com)
604 points by juretriglav 29 days ago | hide | past | web | favorite | 49 comments

This is very cool.

Over $500 USD for this Blender plugin and the 38 Twigs they currently have on offer is chicken feed for any professional use. But it sure is a lot for casual use and playing around.

Blender 2.8 comes with a Tree generation plugin that isn't as sophisticated as this one, but still can be quite impressive.

Preferences -> Add-on -> Add Curve : Sapling Tree Gen

Actually it predates version 2.8 by quite a bit, here is an older video of how to use the plugin on a previous version of Blender:


That price doesn’t include usage as a shippable asset, though. The purchase page sets terms that indicate you can only do renderings for that amount.

They don’t seem to publish a price for usage as game assets.

Very impressive, and I'm also seriously tempted to look into a pipeline to take these into Unreal Engine as an alternative to SpeedTree.

There's something I've been curious about, though, which is that since Blender is licensed under the GPL, aren't all these add-ons also forced to release under a GPL license? Which means the first person to pay the ~$500 is legally within their rights to reupload this product for the rest of the world to download freely?

Not trying to troll, though I worry it may come across that way. It's just that I've actually had a friend try to convince me to work on Blender add-ons for supplemental income, and it seemed like a bad idea for that reason... so I'd like to make sure I'm not missing something.

(I guess you can make the case that all the comparable non-GPL software gets pirated too, but this seemed somehow more demoralizing to me.)

Blender plugins are python. No linkage.

Hmm, I swear this must be new since last time I checked the Blender site, but it seems to address my concerns very succinctly, and apparently that's not relevant:

> Sharing or selling Blender add-ons (Python scripts)

> Blender’s Python API is an integral part of Blender, used to define the UI or develop tools for example. The GNU GPL license therefore requires that such scripts (if published) are being shared under a GPL GPL compatible license. You are free to sell such scripts, but the sales then is restricted to the download service itself. Your customers will receive the script under the same license, with the same free conditions as everyone has for Blender. Sharing Blender or its scripts is always OK and not piracy.

This one looks like standalone application, that has integration plugin into Blender. Otherwise, you can export into other 3D packages and not use Blender at all.

I would be very curious to see what a lawyer would make of that statement. It isn't consistent with what I've heard in the past regarding "scripting".

By the same token, anybody who distributed a fork of the said script is free to charge for it as well, as long as the source code (or patches thereto) is/are distributed under the GNU GPL or compatible license.

> Which means the first person to pay the ~$500 is legally within their rights to reupload this product for the rest of the world to download freely?

I'm not a lawyer, but I'm pretty sure that's not how the GPL works. If some company were violating the GPL with their product, the owners of the GPL work could sue them to stop them from shipping their product. Nothing in the GPL causes infringing works to automatically become GPL (though it would be one way for the infringing company to resolve the issue, if they so choose).

I don't know how or if the GPL applies in this particular situation, I'm just referring to how the GPL works in cases where actual infringement is happening.

Add-ons licensing are often debated and the answer to it is sadly the subjective answer to a very specific question: Would a judge see it as part of a single work or two works that operate independently and simply interacts with each other.

The common understanding is that in a single static linked software the different source files are just components that makes for a single work. They are not independent. Dynamic linked software could be argued as two works but FSF has a clear opinion that a judge will see the combination as a single work and has publicly stated they will bring it to the court if challenged, and so far no one has challenged them on that view.

Blender core is written in C and Blender engine is in c++. As such I would say the consensus is that all contributions to either of those must be under GPL.

But you are asking about blender add-ons and those are connected via the blender API that is written in python. Python is an interpreted language so what happens here? The answer goes back to the original question, what will a judge think, and the answer is that people don't know. Some say that it changes nothing and the code parts are just as dependent as if it had been dynamically linked, in which case the add-ons need to be GPL. Other disagree, through I do not know any case law here either so it mostly just people with different view about what the judge will say.

The API aspect is also an important part of the question. If the Blender API is closely connected to the internals of Blender then the distinction between an component and an independent work is blurred.

Last there is two more bits I would like to add. First, just like the other comment say, GPL can not force anything to be released as GPL. Copyright law create by default a law against distribution. A copyright license like GPL is a document that describe when you have permission. The only thing that happens when someone breaks the condition of gpl is that you loose that permission. As a side effect, if you loose permission and distributed the work at the same time you can get sued under the crime of copyright infringement.

The second additional bit is that interaction with non-code assets and code is itself a grey area of copyright law, but I think there is a small consensus that it would be seen by a judge as separate independent work.

AFAIU, only the code is licensed under GPL, but this wouldn't necessarily grant license to the assets the code relies on.

Where are you seeing $500? I see the price as $106.29.

EDIT: nevermind, you're including the price of the 38 Twigs.

If there were a free version we can play with, I think this post would get much more interest.

I love this. Here is a tree modeling tool created by someone who really loves trees. There's no other way to describe it.

Anyone else would have been happy to stop at "good enough" trees, but here the attention to detail with light, gravity, wind, and relentless comparison to nature creates a result that it beautiful and "right" on a subtle level that's hard to describe. I feel happier knowing that people like this creator exist in the world. We should all aspire to such dedication in our craft!

I wish all video games had this level of scientific depth underlying them.

As an ex console games developer, I'd say they absolutely do. There may be a difference in the fidelity & geometric complexity of the output, and it's not all a singular focus by one person or as pretty as the trees made by Grove8, but the methods being used even in mobile games are building on decades of compounding scientific work. Procedural geometry and shading models are just the easy ones to point at, but generally speaking, physics, AI, design, gameplay, and art are all compounding as well.

For the physics and art, maybe. But how about NPC AI in e.g. a market-arbitrage game, that shows known psychological biases that can be exploited? Or a damage system in an FPS where people/creatures get weaker and slower as they get hurt, and leave blood trails to find them by if they’re not careful? Or how about an item crafting system that’s just regular chemistry, requiring complex glassware setups, catalysts, ice baths, filtering and distilling, fume hoods, etc.?

Games sure don’t seem to favor fidelity when it comes to the “game” part. :)

FWIW these do not sound very fun, at least for most people. Gamers tend to say that they want more complex systems but when games with complex systems come out most players either dislike them and/or go only for the most simple and straightforward approach while ignoring the rest (even if that approach isn't as fun as the more complex stuff).

So most games tend to go for simple systems presented through enough smoke and mirrors to give the illusion of complexity.

Also keep in mind that games aren't made in isolation, instead they have tropes that players are heavily relying on. A very common example is the "red barrel = explosive barrel" trope. That trope is mostly harmless in that if it doesn't apply (ie. the game has red barrels but they do not explode) then nothing bad happens. But what you are describing with blood trails sounds like the regular cosmetic blood decals almost every action game has that can be easily be missed by players.

But note that i'm talking about the generic action game here, not a game designed explicitly around one of these mechanics - that is another matter since you expect it to be like that. But if these mechanics you mention are used like any other "secondary" mechanic in a game (and especially if it is a game that offers alternative approaches) then it'll fly over most people's heads and be ignored unless the game explicitly mentions it every single time.

And this is normal, there is only so much you can keep in your head while playing (especially if you consider how long some of these kitchensink games are and how little time per day/week some people have).

Hence simple mechanics, smoke and mirrors.

I’m not sure I understand what you mean. What you’re talking about is gameplay ideas that involve the player doing realistic things. What I was talking about is game engines that use scientific research in the construction of game engine features. You’re bringing up an entirely different concept. And I agree, and even said before, that fidelity doesn’t match these film style assets. The whole point is that looking at fidelity is not the way to gauge how deep the underlying techniques are.

Enemy AI, damage systems, crafting systems, etc. are still—at least potentially—game engine components. They’re thought of as “application layer” components of individual games because games don’t tend to share any code for these, rather coming up with their own implementations (usually just some finite-state machines.)

But if you had an in-engine system for doing realistic chemistry (maybe in bulk, on a voxel or particle level, on the GPU) then that’d be less of a gameplay idea, and more a module to drop into a game’s physics, no? Sort of like soft-body dynamics is a module to drop into a physics engine. It’d just be part of the game’s physics that’d constrain the way that a crafting system must be implemented if you’re using it; sort of like how using kinematics engines constrains the way you implement vehicles.

If the entire game is full of tracked atmospheric gases; and the heat of these gasses can convect into nearby solids/liquids; and the gasses can also condense if they get too cold, and things can crash out of liquid solutions if the liquids get colder, etc.; then inherently you’re going to be able to build things like a distillation apparatus under such physics; and inherently you’re probably not going to be able to build a Minecraft-like arbitrary-crafting system without going “out-of-engine” in a difficult way (because now you have to worry about how popping things into existence affects air pressure—you’ll be fighting the “chemistry engine” every step of the way to building it!)

And, also, you’ll get side-considerations, like it being hard not to have a weather system in games using such an engine, because each zone of bounded size inherently becomes a terrarium where the “ceiling” can form condensation. (And there would have to be such a ceiling—in fact, a whole physically-simulated “world box”—otherwise the gas escapes! Unless you want an Earth-sized spinning zone to keep your atmosphere sucked down...) Again, you’d have to fight the engine to use it but not have realistic weather. It’d be a lot easier to “trick” the engine by just putting materials into the game that would have the same real properties that would create an illusion of there being no weather in a real terrarium (i.e. a really big air conditioner, sitting “outside” the terrarium-edge-box, like the ceiling in The Truman Show.)

Or, in the sense of a damage system, I’m not really talking about the gameplay concept of a damage system, but rather choosing to implement player-controllable avatars (and mobs, and everything else “living” in the game) in terms of a scripted or player-controlled “mind” commanding a faithfully biologically-emulated “body” to move (think “body as kinematically-simulated robot, that has a movement AI, and accepts goal-pathing instructions; player control/NPC AI as source of such pathing instructions.”) And, since the body would be physical, entities would only be able to do what their bodies are able to do—such that if an entity’s body gets damage to a crucial muscle or organ, its body is now less able to follow commands to run, however much the control-layer sending those commands wants it to run. Sure, from a top-down sense, that’s a “choice of damage system”; but from a bottom-up sense, that’s a physiology modelling engine that could be put into any game engine and used for any number of things (from a game about trying to stab your opponent in their vital organs, to a game about poisoning, to a Wii Fit-like game that tries to model which of your muscle-groups will tire first, to...)

Consider why we have a “physics engine” in the first place. 2D games back in the 80s and 90s mostly just implemented one-off physics at the application layer; but then, soon after entering 3D, we wanted real physics, and there’s only one “real physics” to model, so we started reusing and generalizing our logic for “real” physics out into physics engines, and started building the “game physics logic” for games that wanted mostly-realistic physics, as just a policy layer on top of such a generic real-physics engine.

That’s what I’m talking about here: there are other such “engines” we could have, which would be scientifically-sound models of reality that players could predict the behaviour of based on their knowledge of the real world, where in-game systems could then be implemented the way most 3D games’ physics systems are: as configurations of, and scripting hooks into, a few polished, flexible, generic models.

The simulations you're talking about are beyond what can be done on our biggest supercomputers today. Games with realistic chemistry would be a great application of personal quantum computers. See you in fifty years. ;)

Consider this, those engines aren't modeling physics per se, they are modelling our psychological perceptions of the physical world.

They’re starting to get quite sophisticated. For example the birds of the game “red dead redemption” inspired an Audubon article


You may enjoy this talk, the devs for Far Cry 5 procedurally generated quite a lot of their world, placing plants based on the ground slope, sun, whether they were under power lines, elevation etc.


Most of them use speedtree, original tech was developed for a golf game (trees on the course), they eventually did the trees for Avatar. https://wikipedia.org/wiki/SpeedTree

You'd be surprised how deep some of the AAA studio go in developing complex systems for physics, rocks or grass!

Unreal 4.23 just integrated a beta implementation of "Chaos Destruction" - pretty crazy stuff.



The issue is software development time and the tools available. Game developers can make trees that look like this, no problem. And they do study the underlying science.

The issue comes with building a system to generate it asynchronously, to load and unload the data in a timely manner, to optimize around common use cases, to plan out memory allocation, and so on. Yes your computer could run it, but game engines are too simple to support the level of complexity to use these kinds of tools dynamically (or even at all sometimes).

Easier to just glom it all into a static world made by artists that are supported by tools like these, and ship it.

To draw an analogy, it's like trying to manage a cluster of a thousand containers across a hundred interrelated applications across a machines with only docker compose when one really needs something like Kubernetes.

While not realistic in most ways, I enjoyed the 2d trees in A Valley Without Wind, very colorful and they change some with the day/night cycle. Also, you could "shrink" trees (and other objects) into your inventory and bring them back to your base to decorate.

A couple of screenshots:



Very cool! Would like to learn blender just so I could use such tools.

Blender 2.8 is much easier to pick up after a major revamp of the interface, it's far more friendly to get into.

Eventually you'll move on from using any of the icons and shortcut everything anyway, because you can be so blazing fast.

Try it out, it's fun and free.

I first tried Blender a few years ago and it felt inscrutable. I was able to do some very basic things but always felt like I didn’t get what was going on or how things fit together.

I picked it up again about a month ago, and this time it seemed to just click. In my case part of it might be that I did use it briefly before, but as well I think the combination of a very thoughtful redesign and the excellent new “Blender Fundamentals 2.8” videos[1] that they lead you to right after you download Blender.

1: https://www.youtube.com/playlist?list=PLa1F2ddGya_-UvuAqHAks...

Blender 2.8 looks like an improvement but as someone fairly adept in Photoshop, Illustrator, 3DS Max, After Effects, Ableton, Unity etc I still find it one of the trickiest apps to wrap my head around.

It's not that the apps I already know have an especially good UX or that Blender is especially bad - it's just that Blender makes few concessions to existing conventions and doesn't provide much in terms of discoverability.

2.8 is definitely a step in the right direction but lets not get ahead of ourselves in praising it as suddenly becoming a paragon of usability.

doesn't provide much in terms of discoverability

Space or Shift-Space or whatever the new 2.8 default shortcut is opens up an action menu with every possible action available to you and a search bar to explore them.

Actually, with this feature Blender surpasses most other creative suites in terms of discoverability. Perhaps what you are really looking for is a tutorial? They have those, too.

Yeah, back when 2.5 was new i was annoyed that space changed from showing the popup menu in 3D view to showing that action search list but this annoyance quickly went away when i realized how faster it was to find new stuff with it.

Shift+A makes sense for the new default 3D menu though, it's Shift+A(dd)

IIRC the pre-2.5 menu wasn't just for adding stuff (though it was its most common use).

The only thing that I need to keep track of is that the idea of no-overlapping windows. The hotkeys behaves differently depending on which windows your mouse is on. Here is a example on the case: C on 3d windows trigger circle select tool, but C on the outliner create a new collection.

But this behavior has exception. Sometimes some keys have global effect. For example, Shift Space always runs the animation.

What other things you find tricky in Blender?

One thing I've run into most recently : working with materials is a pain. There's no easy list that you can delete them in a classic-UX way (that I can find). Copying and pasting/duplicating ends up creating large numbers of identical materials and there was no immediately obvious way to prevent this. The interface for creating shared material parameters is unintuitive compared to something like Unreal.

You can accomplish it in the Outliner, by searching for "Material". There are other ways, though I guess they could do with some sort of purpose-built view that only exists to list and show materials.

As someone who downloaded 2.8 just to poke around a bit and see what it can do for fun can you give some examples of "makes few concessions to existing conventions"?

> The unique year-by-year simulation is a beautiful animation unfolding right before your eyes. But there was no way to record this animation, and no way to render it.

I don't understand how you could watch it but not record it, in older versions.

When I see stuff like this I wonder if we are already in a simulation.

It took me quite a while to realize the title was talking about Blender the software, and not about the kitchen appliance.

At the end of the the first video I was still convinced this was about actual organic trees. :)

I thought it was only me. I read it as “Growing Trees in a blender” and expected some sort of biology or other science article.

If you're looking for something similar for game development, check out speedtree. It has a comparable feature set. Also, has a relatively low month-to-month fee.

Any research paper which goes into more detail about how they achieve the growth animation?

Does the video freak anyone else out? It's amazing, but something in my lizard brain just kicked me. I guess I'm saying I have some issues.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact