Recruiting new programmers

General discussion about the development of the open source Blender

Moderators: jesterKing, stiv

Pierre-Luc_Auclair
Posts: 0
Joined: Tue Nov 23, 2004 1:57 am
Location: Quebec City, Canada
Contact:

Recruiting new programmers

Post by Pierre-Luc_Auclair »

I was thinking, we have people working on the animation systems and stuff, but I don't see anyone working on the viewport display, shaders and other parts of blender.

Is it just that there are plans that are reported later due to lack of ressources ?

How could we get new qualified and skilled people interested ? Do you have any ideas about what we should do to have more manpower ? I have some web programmers friends and know how stubborn programmers often are, that they won't work for free and other stuff like that (most of them I mean, not all).

I was thinking of asking universities, but I have no idea if it would be a good idea. I don't know where programmers like to hang out on the web so I don't really know.

mchs3d
Posts: 0
Joined: Thu Feb 03, 2005 6:05 am
Location: Loveland, CO

Post by mchs3d »

Well, I think that there are a lot of programmers around here just eager to get involved. They just... don't know how?! :?

LetterRip
Posts: 0
Joined: Thu Mar 25, 2004 7:03 am

Post by LetterRip »

I have a number of plans for increasing the number of programmers, I've written a strategic marketing and advertising plan with such a focus.

they vary from designing case studies, and other marketing materials targeted to niches that are programmer rich (ie targeting CS programs, Engineering programs, Science programs - especially Chemistry and Physics, game designers, architects, etc), to developing functionality that would make Blender 'good enough' to meet most of the needs of the particular niche (ie multiUV maps, 'real creasing' and tangent based normal map generation and editing for attracting game developer projects to Blender).

just increasing awareness of what Blender can do should be enough to increase the usage among a number technical users, especially with Blenders upcoming widgets which should make it much more newbie friendly.

Much of the work is a matter of just getting permission to use renders from completed projects as part of marketing materials for Blender (or having people do particular projects to demonstrate capability in a particular area.)

LetterRip

rcas
Posts: 0
Joined: Tue Aug 31, 2004 6:08 pm
Location: Portugal
Contact:

Post by rcas »

In my case, some better Documentation, that would indeed help a newbie on this sort of application (3D/OGL) would help alot on getting my hands working on it.

I have a 5 years of VB and JAVA programming, about a year of C , so I'm not a newbie on programming, still I only made applications that were targeted to other type of biz, mostly management applications.

If you make some easier Documentation, including what each module does and so on, it would be much easier for me (and possibly others) to get involved in Blender.

I know most may say, learn the hard way, as I did. That will lead to not many people being interested in participating on it.

Hope I was clear. :)
How to use a Blender:
Put your model, rig, animation and textures in the Blender, turn the Blender on and wait for it to Render, then turn the Blender off and show it to your friends.

LetterRip
Posts: 0
Joined: Thu Mar 25, 2004 7:03 am

Post by LetterRip »

rcas - well the Python modules are fairly well documented, is there something in particular that you are having difficulty getting into.

For C some parts are well documented, others not so much. Depends on what you want to work on some of it is in need of a rewrite (ie animation system) and isn't going to be very accessible to even someone who is relatively experienced in C.

Unless you have quite a bit of experience in C, you probably want to start out by prototyping in python anyway.

Anyway I'd be willing to try and help out,

LetterRip

oin
Posts: 0
Joined: Fri Apr 02, 2004 6:34 pm

Post by oin »

LetterRip, that sounds really good, you've mentioned the majority of features that once built in would attract game developing artists (I'm one)
I don't know where, but in certain post I think I listed what game artists expect to have in a package as essential features, and mainly, are all features not actually game specific, but of also benefit for Blender globally.

Recently, several are being discussed as to think on the possibility of adding them. You mentioned some of the more important, so, that sounds really good to me. I have relation with some comunities of game developers, and yes, all need those features. I too think they'd be quitea human resource, and I am totally sure if Blender gets those capabilities, in no time there' would be seen people in mods and -mostly- much more independent games that there are now (and here I include to huge worlds: the freeware/open source games, which are a bunch, and a world most unknown for Blender comunities (and viceversa) , the shareware games makers, which I think I know in certain big portion.They're people(both game makers) less and less tending to use warez packages like so much you see in for example mods(but an important portion of modders neither want warez) ....so....They'd really love a package, free, to solve just the essential: as the luck is...diffferent to what happen in AAA titles, or maybe a game artist personal portfolio, they don't need/wish to make it all AAA, but be able to actually do their gaems. )

imho, that list would be:

-MultiUVs(as you said)
-Render to texture (useful for a collection of uses)
-Lightmaping (child of the two previous, really)
-Hard edges (creases in a low/mid/hi pol model smooth shading. Ideally just selecting an edge and setting it a hard, the Maya or Wings3d way, that is. )
-The 'option' (even disabled by default, so that Blender long time users wont have to change it) of put in preferences the so much mentioned turntable in a way that behaves just like Wings3d(imo the better example) or any similar package, as any 3d user is strongly used to that(so much that is one of the points I have seen people (which I was trying to convince to use it) that made them loose interest) for example, in Max, Maya, Lightwave, Poser, etc.

-I know I've said it too many times, but..I too well know they'll need an easier way to pin a foot in floor. Actually is doable, but I mean a quite easier and quicker way(look xsi style)...The key is..they have other optional tools than Blender, so, there must be an advantage of use...it'd be given already, as is more complete than their tools, but they need the essential game features plus a not so hard adaptation...with this list, that would me much easier, and would convince the majority.


And imho, the thought of games wont bring attractive art to Blender should not be a reason anymore...besides I have seen pure art done in low/mid poly, the fact is(and the game stuff moves a huge lot of people in internet, comercial projects or not)...many will do intros for their games (one of the strongest advantages for them is all in one they'll have for free too the hi res rendering tool, not like milkshape, etc) , but not only that. The use of normal maps is getting more and more usual- I personally don't see as important the normal maps as an adition to Blender(much, much lower priority than the list I mentioned), as there are free tools that help the normal maps process and preview, like ORB, and Melody, and both are free. But they'd love a tool to model in high, and they'll model in it if it's already their game tool(for animation, modelling(for what is essential hard edges in shading, for example, in games)).

This is a huge world by itself, where if the artists get interested, as I have seen with other tools, in no time the game coders do what needed for their artist to do the work. Plugins, additions, extra code, whatever.

A very clear example is Jox which made the envelopes stuff.he's a person from Irrlicht engine comunity, really, that needed Blender for his projects, and as far as I know, he actually already uses it for some stuff.

I am a game artist as a profession, and I know that list is really needed. In home projects, I don't have Max available, but i don't care as a personal/indy/low budget comercial projects, never aims to be AAA, which anyway needs 30+ people these days, as the hi quality games are today all built with all content in very high resolution, and baked in normal max or parallax maps, and probably soon displacement maps: The resources needed to make an AAA game are getting similar to those needed to make a cg film...But there's a mountain of indy devers, doing open source, or loads of shareware titles, that get sold and earn their big bucks...Those are very practical people, would pick anything that fit their needs.And happily, their needs are all features that would empower Blender for any hi res use, too, imho.

Just my 2 cents of an euro...

joeri
Posts: 96
Joined: Fri Jan 10, 2003 6:41 pm
Contact:

Post by joeri »

oin wrote:-MultiUVs(as you said)
-Render to texture (useful for a collection of uses)
-Lightmaping (child of the two previous, really)
-Hard edges (creases in a low/mid/hi pol model smooth shading. Ideally just selecting an edge and setting it a hard, the Maya or Wings3d way, that is. )
-Turntable(s)
Good list.

As I understood from the conference: The policy is; try hard and if the BF likes it then it might get commited to the BF-release.
I think this is a major turnoff to developers. Work long hours on something for free and then it turns out to be invane.

I'm also not sure, or put in another way, I have no clue on how the development is organized. I get the feeling that you need to be 'friends' to the BF to get in the developers circle. The company piramide model sort of failed with NaN, so I think Ton wants to keep development as close to himself as possible. At least for the BF releases.
Anyone can branche ( I think the BF project site will even support that ) and organize their own 'company'. All good features from that can be patched into the BF-release. I don't think it's realisic to expect the BF to hire developers to do support in blender in directions the BF does not feel strongly about. And the focus for the BF is (film)Animation, not games, as far as I understand it.

NeARAZ
Posts: 0
Joined: Fri Apr 22, 2005 10:33 am

Post by NeARAZ »

We're using some Blender for our demo right now, and I'm really impressed with it. Thus, when we finish the demo, I'm seriously thinking about doing some coding work for the Blender itself.

My own interests would be realtime/demo/games tailored, eg. multiple UVs, realtime shaders in the viewports (GLSL), maybe some general performance optimizations (eg. UV editor is really slow now on slow video cards).

Of course, I didn't try coding anything yet. If in the end BF is very strict to accept patches, then I can always go instinctive blender style and have my own 'fork' with the features that I need.

Anyway, Blender is great. So far we use it only for UV mapping, but the LSCM surpassed everything else I've ever seen. Great work!

rcas
Posts: 0
Joined: Tue Aug 31, 2004 6:08 pm
Location: Portugal
Contact:

Post by rcas »

LetterRip wrote:rcas - well the Python modules are fairly well documented, is there something in particular that you are having difficulty getting into.

For C some parts are well documented, others not so much. Depends on what you want to work on some of it is in need of a rewrite (ie animation system) and isn't going to be very accessible to even someone who is relatively experienced in C.

Unless you have quite a bit of experience in C, you probably want to start out by prototyping in python anyway.

Anyway I'd be willing to try and help out,

LetterRip
Things I might be interested in achieving in Blender:
- Render to RenderMan;
- Internal Render Caching, rendering in Blocks (idea that I got to speed up the speedie Blender Render);
- Shader support for Renderman Shaders;

Thus it would mean that I would have to:
- Recode the Render, to have a nice API that would allow for several renders to be used from within Blender;
- Mess with the Render to improve its performance;
- Recode the Materials, to use Renderman Compliant Shaders;

And some more stuff I would like to do.

I don't quite follow the whole Directory Structure, nor some type of code being used. But that might make some sense once I begin to use it.

I might try Python, but I don't think it would help me on achieving any of that items described.

:)
How to use a Blender:
Put your model, rig, animation and textures in the Blender, turn the Blender on and wait for it to Render, then turn the Blender off and show it to your friends.

LetterRip
Posts: 0
Joined: Thu Mar 25, 2004 7:03 am

Post by LetterRip »

joeri,
The policy is; try hard and if the BF likes it then it might get commited to the BF-release.
Well, if it is a major change, the author should probably discuss before implementing.

In general (from my observation) things are only likely to be rejected if they are implemented in a way that reduces Blenders flexibility, or are of poor code quality or done in a hackish manner. Of course even a patch that doesn't have the above problems may be requested to be reworked a bit before acceptance.
I get the feeling that you need to be 'friends' to the BF to get in the developers circle.
Nope, not really. Submitting good patches pretty much does it. If you have a core developer that you are in communication with it will probably help you to get feedback, but the best way generally is to submit patches to the patch tracker and then show up on IRC meetings on Sunday when patches are discussed. Stopping into IRC at anytime is better than nothing but Sunday meetings ensure that those who make decisions on patch inclusion are present and the meeting is when feedback on whether a patch should go in happens. (Although there is feedback in the tracker to, IRC is faster and easier to clarify...).
The company piramide model sort of failed with NaN, so I think Ton wants to keep development as close to himself as possible.
Ton generally looks at patches for stuff that he has 'ownership' of, ie code that he is the expert on, and then trusts the judgement of owners of other parts. For instance Joeedhs half-edge structure was almost purely evaluated by Luke P.
And the focus for the BF is (film)Animation, not games, as far as I understand it.
BF work is generally driven by what either a particular developer is interested in working or a percieved weakness of Blender. Sometimes it is driven by percieved demand (ie manipulators and global undo).

joeri
Posts: 96
Joined: Fri Jan 10, 2003 6:41 pm
Contact:

Post by joeri »

Thanks for the answers.

bfvietnam
Posts: 0
Joined: Wed Apr 21, 2004 8:54 pm

hmmm

Post by bfvietnam »

There are two ways to interpret a close nit development team:

1. close nit to keep details low, simplify the design, keep it directed, less featuritis.

2. codebase wouldn't allow it as such, thus reliance on CVS.


I';ve said it before and I'll say it again, the reason you guys don't have enough coders is the codebase, its all in C. You can't very easily divide responsibility with a procedural-centric language., it can only be done with objects. And you can pretend all you want to act like this has no effect, that you can manage the complexity, but by increasing the code complexity you also reduce your chances of finding developers.. Is this a method of weeding out the experienced from the inexperienced?

The experienced coders will be wokring for Autodesk, you think not?

Simplify the codebase, and you will find more developers..

theeth
Posts: 500
Joined: Wed Oct 16, 2002 5:47 am
Location: Montreal
Contact:

Re: hmmm

Post by theeth »

bfvietnam wrote:Is this a method of weeding out the experienced from the inexperienced?
You're still here, aren't you?

Martin
Life is what happens to you when you're busy making other plans.
- John Lennon

Desoto
Posts: 0
Joined: Sun Sep 14, 2003 7:27 pm
Contact:

Post by Desoto »

<sarcasm>Really the developers are simply trying to attract a more negative response from arm-chair developers so that we have something bad being said about us all the time. This gives us motivation to make our work even better.</sarcasm>

Zarf
Posts: 46
Joined: Mon Oct 14, 2002 3:54 am

Re: hmmm

Post by Zarf »

bfvietnam wrote:I';ve said it before and I'll say it again, the reason you guys don't have enough coders is the codebase, its all in C. You can't very easily divide responsibility with a procedural-centric language., it can only be done with objects.
You may have said it once before, you were wrong then and you are wrong now.

Object Oriented languages do not magically make large projects more maintainable and there are plenty of high level languages that do VERY well without OOP facilities AT ALL (some functional languages like Erlang have no OOP facilities as a concious design choice yet work wonderfully for very large projects with dozens of coders). The fact that you cannot comprehend using languages without OOP facilities to effeciently implement large scale projects makes me doubt your understanding of program design.

Furthermore your simplification of the situation shows....

1: a lack of understanding of the current blender code base

2: no comprehension of what made the blender code base what it is and WHY.

Now personally I am a 'language bigot' in the abstract, emotional sense. I feel that large program development in C is kind of archaic and is against some (rather positive) trends in software development as of late.

However as a pragmatist I understand that much of Blender's code design transcends the language it was written in and is instead dictated by much broader factors. In spite of my personal dislike of C I also seem to understand something you seem to fail to grasp, namely that Blenders code base could be INFINITLEY more 'tolerable' to the casual developer as well as being highly modular and remain largley C. It has been a while since I looked at the source but I can gaurentee you there are plenty of problems that are independant of language and if fixed would attract a LOT more outside developers and facilitate greater collaboration as well as independent development. These design issues are not 'secrets' and many of the developers have talked openly about them. What is lacking is the manpower to fix them, not the vision.

So if you REALLY want to help, stop preaching and start work on refactoring the more clunky parts of blenders codebase. Even if you instead started work on an 'OOPified' Blender project I am sure people would be interested in it and any 'cross pollination' it could bring.

Regards
Xarf

Locked