The Joy of creation

Hi all 🙂

Wow! every time I start a new project I get some comments of concern from the blender community about myself spreading my code time across them :). I have started many projects since I got involved in Blender development:
Volumetrics, a smoke simulator, GI pathtracing (unbiased), GI photonmapping (biased), Bloxel (Blender voxel system), a small patch for using object groups as a larger manager and now SPH particles, among them currently only Volumetrics have gotten into trunk because Matt Ebb got involved, rewrote everything and put his skills on it (thanks to him). Luckily Daniel Genrich has also integrated the smoke simulator of Niels Thuerey independently.

I have stated many times that my main approach to Blender is as a CATALYST: Due to my internet issues (low bandwith/speed: believe me I don’t know what web videos are 😦 , working near isolated, no access to IRC chats , live talks, etc. ), I could not directly commit to the blender sources or have my own branches. Instead, I have to rely on core Blender devs (Like Matt has kindly done with volumetrics) to review and commit my code. Sadly one of the hardest stuffs for a programmer is reviewing other’s code; that’s perhaps why in the Open source world there’re so many redundant applications (millions of sound players,text editors,3d apps, etc, etc) many of them of low quality/unfinished simply because it’s often easier to write everything from scratch than to dive into existing projects (you have to learn its arcanes) and focus development on them (like blender have succesfully done attracting 3d devs). What is the best way of learning a foreign language? it’s not to pay a teacher or watch lots of courses, no, the best way is to get thrown in that country where that language is native and you must learn it or die : I bet in a matter of months you will speak very fluently that language ;). The best way for me to master Blender is to tackle projects in many fields of Blender that will force me to go to different areas of its source code. This will allow me to build a global idea of Blender inner working, that’s something you simply won’t get reading the whole source code even if you have the lifetime for that, I could focus on one project at a time but if I had done that I’m sure I would have quitted blender dev long time ago: is simply boring. I’m not a coding machine, in order to move on I need to feel JOY about what I’m doing. And what motivates me the most? Encouraging comments, positive reviews/feedback, someone using/needing what I’m doing, support , resources and a place to render my creativity :).

With every new project I tackle I learn new skills that are very difficult to get when working alone. I try as hard as I can to deliver a good PROTOTYPE in order to attract the attention of a core dev; I can not say: -“!Hey, integrate this please for tomorrow!”.

My projects are unfinished prototypes? non standard? delivererd too early? I’m not hiding that, actually I’m proud of that, for me they have lasted an eternity due to the large amount of new knowledge I had to gather for doing them (more than in college), but I’m still a newbie in Blender development! and in graphics technologies and in open source! I started blender programming two years ago (April 2008): for some peoples it can be slow, but this is my rate of learning skills nearly alone, and also in order to make the life or the reviewer easier the code should remain like that, a functional prototype. In order to master one field of knowledge a person have to spend an average of 10 years, I WISH to became a Blender pro and if life allows me I’m willing to pay that price in time, because many things that a blender user/artist forgot is that a developer DOES pay a price for it (as well as an artist do, of course).

I don’t have another blender dev in miles surrounding me, sadly, so I can not walk to someone else place and say: -“Hey! how do you add this button? How do I access this data from that?”, and lots of other minimal questions. Sure, there’s the bf-commiter list, but I can not flood it and bother a BUSY blender dev with them (my only way of communication), I simply have to do my homework and learn it the hard way: try and error, and this takes time.

I hope to have some days power over the Blender sources, creating my own branches, reviewing others patches and adding new functionalities without constant assistance of other core devs, in other words becoming myself a core dev, but I simply will have to EARN that, I will be the first one to forbid myself to apply for that until I consider myself skilled enough to tackle TO THE END whatever project I choose.

But I’m not worried, I trust in myself and know that I simply need time and plenty of MOTIVATION and JOY about what I’m doing. Not long ago, before I started the photon mapping stuff (which happen at the same time as Matt and who has allowed me to reuse part of his code) I was enjoying deep creativity but right after a motivational crisis that I have only shared with my closest friends. Indeed, while Matt was polishing Volumetrics, I saw in the horizon its completion with less and less for me to contribute in. That was good for Blender but bad for me because I have a DEEP CREATIVITY NECESSITY that I need to keep constantly fed otherwise I risk emotional collapse. (go ahead, call a doctor, I’m crazy 😉 )

So you know now my secret, I really NEED to create stuffs, as soon as what’s left for finishing a project is the “plumber job” of integrating it into Blender I start to get demotivated: not saying I will not finish it, it’s just that I need to jump elsewhere in order to gather new strengths and skills that will allow me to comeback and ease that pain later. One of the best things that have happen in my life was using blender as a dev, because it will keep my demon busy for the comming years ;). Since my childhood I have never gotten enough by watching TV, reading, playing. I
used to write books, draw, paint (on canvas), sculpt, make chemical experiments, animate with the corner of my books (sorry, no computer back then), and many, many small things that I sometimes miss 🙂

I think my main contribution is not really these patches, but the HOPE they bring: I’m not just poking in a forum saying: -“I wish blender have implemented an integrated antivirus because it will be helpfull for….”
NO, I’m showing HOW blender will LOOK LIKE and BEHAVE with that feature, I’m saying : “look at this, this is very DOABLE and might be used as a REFERENCE or simply a HINT of where to start or don’t start ;)! “the first thing an open source dev does before start a project is to search for prevously existent attempts, and the more they find, the more probable he/she success will be (aside from his/her skills of course) so by now, when a dev will google for volumetrics, pathtracing, photonmapping, smoke and SPH in Blender,  Google will not answer only forums entries 😉 .
Sure, many of those projects can eventually be made without me as nobody is a God here, but I’m sure volumetrics would have been pushed further in the future if I had not started “True Volumetrics…”, and also my first smoke
simulations rendered in Blender have touched many peoples hearts and contributed a bit on making Daniel’s smoke to come true. GI has also shaken some minds about Render Internal development much more than years of asking for it in forums, the Pathtracer project contribute a bit to revive the interest in Luxrender, and what have happened with Luxrender for me? It’s an awesome project, but so complete at the point I planned to join it that it simply killed my motivation (Second deeper emotional crisis). For joining it I have to do only buggs correction jobs, that is OK and very preciated and needed but simply don’t take my creativity factor in that equation 😦  I will come back to it when I get enough skills to tackle a big project in addition to bugfixing.

And last but not least, something that many people haven’t realized: Every submodule of Blender is ALSO an open source project and is not only the full responsability of the main dev of that area but of every interested dev: the
more devs working on a module, the better it will get, and I have always been open in my projects: I welcome every dev who want to take it and improve it. Help me, show me, teach me and I will do my part 🙂
Don’t worry, I don’t have a deadline and while those projects take time before completion, I keep making the community dreaming but not an ethereal dream, a very real one that will eventually come true: I’m working hard to become a pro.

Cheers  Farsthary

The Joy of creation

9 thoughts on “The Joy of creation

  1. Thanks Farsthary for continually having a vision of what can be improved, and always working towards it by creating usable code (and sharing examples of it with the community). I think that often people imagine coding like driving a car. Something that is automatic, logical and that is unaffected by things like motivation, creativity and joy. But coding is an art as well as a science, and as such it’s important for everyone to remember that stuff gets created by individuals who are *inspired* to create.

    Thank you so much for sharing your creativity and inturn inspiring the creativity of so many people in the Blender community.

    I’m looking forward to seeing Bloxels, SPH and whatever else calls to your spirit!


  2. grafixsuz says:

    Well, all I can say “Farsthary, you’re da man!” Dude I am always absolutely amazed by your humble attitude yet ambitiousness. You are a role model to be followed.

    Without your innovative forethought and prototyping, there would be No volumetrics in blender I am sure of it. The Durian targets was this, but you kickstarted the whole thing to get going.

    These SPH, Gi, photomapping … code is just an amazing testimony to the professional you are. I would love for nothing more than for you to be a full time coder for the Blender foundation. Truly, you are a diamond in the rough, just hope the others don’t over look that.


  3. nrk says:

    +1 to above comments and I have noticed that if any endeavor stops being fun, the art goes with it. Hang in there my friend, we all appreciate you. You are the R&D wing of blender development. As much as we nuts and bolts types may not fully understand it, it is needed and appreciated. Your action, spurred me to action to make the volume tutorials… this entire community can take a lesson from your methods of talking a little less and acting a little more….God Bless….


  4. Doi says:

    Farsthary, you may want to check the new site theme. In Firefox the link of the higher post is blocked. I had to enter here through another post and clicking “next” post.


  5. I’m so flabbergasted by your words and optimism, Farsthary. Very very inspiring. I could not blame you on the “work on something interesting and happy” attitude since I have the same thoughts on my methods of artwork creation too.

    All I can say is keep up the awesome job and thank you so much for your contributions to the community! And of course your overwhelming interest in such stuffs.

    Thanks! ^_^



  6. My greatest appreciation to this community and to the owner and members of this blog. I really appreciate your unity, you cooperation, and your love to the subject of this blog.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.