How to procedurally (create) grow an artistic (2D) tree in real-time (L-System?).
- by lalan
Recently I programmed an L-system module, It got me interested further. I am a Plants vs Zombies junkie as well, really liked the concept of Tree of Wisdom. Would love to create similar procedural art just for fun and learn more.
Question: How should I approach the process of creating an artistic tree (2d perhaps with fixed camera/perspective) dynamically?
Ideally I would like to start with a plant (only a stem with a leaf) and grow it dynamically using some influence (input/user action) over its structure. These influences may result in different type of branching, curves in branches, its spread, location of fruits, color of flowers, etc. Want it to be really full of life/spirit. :)
Plants vs Zombies: Tree of wisdom
It would be great to dynamically grow a similar tree, but with lot more variation and animations happening.
My Background: Student / Programmer, have used few game engines (Ogre3d, cocos2d, unity). Haven't really programmed directly using openGL, trying to fix that :).
I am ready to spend considerable time, Please let me know about the APIs? and how would an expert like you would take on this problem?
Why 2D? I think it's easier to solve the problem only considering 2 dimensions.
Artistic inspirations:
Only the tree, with fruits and leaves, without the shrubs at the bottom
The large tree (visible branches, green leaves, flowers, fruits, etc) on the left, behind monkey.
PixelJunk's Eden (Art style inspiration).
Procedurally Generated Apple Tree using Fractals
Please let me know if it was easy for you to understand the question, I may elaborate further.
I hope a discussion of various approach would be helpful for everyone. You guys are awesome.