I just found this group, which seems to be dead unfortunately, but maybe we could revive it if we get enough attention from people who want to start development :)?
I like the idea of picking a small issue in Blender and discussing how it could be fixed. I think it could be a lot of fun :)!
What do you guys think? Any people interested in it?
learn C (it’s not that hard if you’re even doing ECMA script dev as me)
but then we should actually set a goal, or have a TODO list for us newbs, and make each step together, posting videos or reviews of how we solved the problem. so people not attending or joining up late can review and learn from it
Sometimes you just have to LOVE this forum for swallowing your forum posts …
I agree with a TODO list, preferably easy taks that everyone could solve. We could also have everyone code a solution for a problem and at the end when everyone is done we’ll go over each solution and see where improvements could be made. I like the idea of posting videos or reviews. The question is also with which language do we want to code? Personally I prefer C because it’s the native language of Blender (and selfishly because I’ll have to learn Objective-C for my job anyway so I could translate my C knowledge to Objective-C), but as most of us know it’s easier to develop with Python.
With the documentation the foundation gives, building blender is an incredibly easy process.
Learn C is not that hard, and you’ll get better using it.
The problem (that also stops me from begin developing) is that blender code is huge, and there is no (at least i didn’t found it) documentation of the C API. The architecture page gives an overview on how blender works, but if i want to add an operator i don’t know where to put my code, and all the dependencies and libraries i need to link my function to. As opposed, i looked a bit into python module developing(that is similar to blender, since both are written in C, and both have a C API very similar to the python API) and in a day i was able to do what ever stuff i wanted(and i was capable of doing in python or C). This thanks to the documentation of the api, that gives a really point to start from, and can guide you through the understanding of the system.
On a side, python is an excess(in the positive sense) of documentation, i’ve never seen such a great documentation (neither google android SDK is so well constructed), on the other side blender lacks of a C API documentation(even if has a good documentation of the python api), and the way you should learn how to code in blender is read many and many and many lines of code and understand it by your own…
At least this is my impression on the thing (and right now i’m trying to get more familiar with the code)
Im interested. Got the same problem as Makers_F.
If it is a simple enough, a,b,c, 2+2=4, step by step intro this could be really useful for many newcomers in the future as well… +1
This sounds interesting. I’m new to coding and would really like to learn how to do things with Blender and scripting and this seems like it wold help me learn. How much prior knowledge of coding would be required? (I’ve never done any C, only a little Python)
Campbell Barton (Ideasman42) used to run sessions for coders new to Blender once a month on IRC. This seems to have fallen by the wayside. Campbell’s very busy but other core coders could be willing to restart it. It might be an idea to approach Ton about bringing this up at the weekly IRC meeting.
Agreed the Blender code base is huge. Just out of curiosity I digged into the structure a bit today because I was so annoyed by the “Fast Navigate” at lowest level in sculpt mode. There are soooo many libraries included + I can’t even seem to find the libraries. If you’re interested in such a coder session Sleeper mentioned please write +1 or something like that. If there are enough people willing to dig into the Blender code then maybe we could get some help from some developers. It would be great if you would write down your current skill level of programming.
I’ll start of course :). I’m a programming beginner, my only real programming experience I had before was reading Javascript code and changing values where needed, i. e. an absolute programming newbie. Lately I did some simple Javascript programming I’m starting to understand programming a lot more now. Real C experience except for reading a book about it = 0%.
It’s funny how many people read this thread but don’t reply ^^. Guys, don’t be shy if you want to learn programming ;).
C language is one of the easiest in the meaning that it has 4 statement (if, for, while, case), a few variable types, a bit tedious syntax and a lot of freedom. The difficulty is to combine all this basic things to do incredible stuff. All this means: to learn C start coding in C. First simple programs (find all the prime number between all the square of x and x+1), than maybe something with pointers and struct, and you’ll understand all the basic usage. And then you’ll have the POWER
Imagine that the more developers are there in an open source project the better for everyone. Most open source projects (if not all) are difficult for beginners to catch up with, I think that Blender should be the first to break this habit and become very plain and simple for the beginners.
This could be happen with these ways:
Guidance: A beginner developer want to make something and asks for guidance by an experience developer where he can provide guidance around the source, make notes, propose solutions, give options a.k.a. help him out, get on his feet and through the source code. Best for new but simple projects.
Mentoring: Similar to Google SOC, an experienced developer can start a small team by developers that they can join his team in order to produce common work together.
Best for developers with common interests.
Blenderworks: A job-based wiki (just like you see on freelance developers use with request-response-bid) combined with a knowledge-based wiki. For example, one experienced developer will start a blenderwork, he will describe what he want to do and how he does it and make a very simple and practical tutorial about it. Then he will get responses (bids) from beginner developers that each one will say I he will make X that does XStuff in order to prevent bids with common characteristics (like when 2 people choose the same color), when a beginner finished his work he can send his source to the poster’s SVN for polishing.
Best for beginners, best for experienced developers, best option for work that follows same design patterns, best for “blooming” of features.
Practical Example
Question: How many people want to write their own texture generation plugin?
Clarification: I wonder why Blender has not yet these types of textures: checker board, tiles, brick…
I guess that there could be many people out there that would like to create their own texture plugin. It could be very interesting that if this attempt will spark the interest of 50 beginner developers (or even more?) and Blender will gain new texture plugins. It’s surely will be very fun and rewarding experience for helping blender become better and beginners will immediately gain better knowledge and be more confident.
I think that you will like my ideas, the least I could do is to make them public, then who knows…
The biggest hurdle for me has been getting Blender to compile. I have tried several times on using different OSs and different Blender versions but I have never been able to get Blender to compile. Even though there is documentation, it is not an easy task to setup a machine for development.
Because it is coders that write the instructions on how to setup a system and get things to compile they tend to do things the correct way.
We need a compile guide written by someone who does not know how to do it (i.e a newbie). A guide that covers the missteps that can occur when newbies try.
I already wrote to the admin of the site proposing it, if they decide to open a blender code section i will be really happy, and starting developing would be really nice.
win 7 @64bit, i compile 32 bit version of blender(64 gave me problems on ge and since i use it is quite useless to me to compile 64bit build)
here my compiling scritp.
@echo off
set PATH=%PATH%;C:\Python26;C:\MinGW\bin;C:\MinGW\lib
cd C:\Users\Francesco\Desktop\Programmazione\BlenderSVN
svn cleanup
cd lib\windows
svn update
cd ..\..\blender
svn update
svn up release\scripts\addons_contrib\
python26 scons\scons.py BF_TOOLSET=mingw > ..\LogBuild.txt
cd ..
python26 Compile.py
compile.py is just a script i wrote that controls in LogBuild.txt that there isn’t any error