BOO Tutorials

Hello all,

For a little while now i’ve been tinkering with python and Boo, from my experience so far I certainly feel that the language it worth spending my lonely nights with.

I feel that the only way to increase Unity’s (almost non existant) community of Boo users is by making the effort to pass on what I have learned (not that much but enough to get started) and produce some tutorials; maybe written, maybe video. I see this as an ongoing thing hopefully enough to match the tutoirals that are out there for JS and C#.

Now, due my my limited experence in programming, I don’t really want to rush stuff out the door only to find I need to take it down due to amaturish blunders. For this reason I’m making a call to current users out there who would be willing to discuss, evaluate and maybe proofread ideas of what should go into the tutorials. I also would like to know from Boo curious users what they might like to see. Give me lots of ideas guys and as a result, hopefully, the 100,000 Unity users out there might consider Boo in tandem with or instead of the usual suspects.

One final question: Why did you choose C# or JS over Boo?

Thoughts?

I chose c# for few reasons.

  1. I used to code with C/C++.

  2. I like that C# is more efficient and advanced than JS or Boo.

  3. I can recycle some universal C# scripts to other platforms like XNA ( although this is going to be obsolete since Unity is coming for xbox360 also ).

  4. I can find much more (and much easily) help and tutorials for C# than Boo.

Hi, I’m using C# cuz it’s similar to Java which is sort of my ‘mother tongue’ programming language. And I like the fact you can port it to iPhone directly. Python has always been my favourite programming language. I used to do game programming with pygame and python-ogre, I really miss the simplicity and flexibility. I’m keen to start scripting with Boo with Unity too but there’s not enough resource available.

Why don’t you start with some code snippets you have? At the moment the resource for Boo is meager. I’m sure just about any example would be appreciated.

If you really want some structure, maybe you could follow the same flow of the C# tutorials on wiki.
:wink:

Really looking forward to it.

I think a lot of the reason Boo isn’t very popular is that it isn’t supported on the iPhone.

I’d love to see some Boo tutorials though.

Maybe start out just by taking existing Javascript and C# tutorials and translating them.

For the next level, you could translate some of the Unity demo packages to Boo.

That would probably be more than enough to get anyone up and running.

It’s probably it’s age and the total lack of documentaion, samples, support and tutorials that is the reason behind this. Python users who wants .NET support usually go with IronPython.

I’ve programmed in many languages for years, C++, C#, Python, IronPython, Boo among others.
I really love Boo but I would NEVER recommend it to someone new to programming. I think it’s a lot less headache to learn programming concepts with a well known, mature language as C# or Java-/Unityscript

I also struggled with finding any tutorials on Boo with Unity.

Sometimes you have to take the initiative.

I’ve spent the past few nights going through the Unity tutorials at 3dbuzz.com and instead of writing it with c# as they do, I’ve been writting it in Boo. With the Boo language reference guide to work out Boo syntax (suprisingly little difference to c# when you get the hang of it).

Generally all the function names are the same, it is just the formatting (and without all those {{{}}}}{{}}{}})

I love Boo now…

When I started with Unity in 2007, I had no programming background. I used JavaScript for a while because all the Unity examples/tutorials were in it, and it filled all of my needs. I learned about C#, as well, but it always seemed excessively verbose to me. Then, one day, last year, I found myself wanting to use jagged arrays, and switched completely to C# on the spot. Since then, I’ve been much happier coding, because there is actually a useful reference for the language, unlike JavaScript.

So, no Boo, because

  1. I only use Unity iPhone.
  2. Its documentation/reference is in the same non-existent land as JavaScript, but even more so. Boo is one person’s thing, and I don’t think that’s enough support.

Other than that, I like the look of it, from what I’ve seen. However, I indent lines of my code like crazy, because I hate line wrap or wide blocks. Would my style even work with Boo?

Actually Boo is much wider used than JS as JS is a unity only thing while Boo is a general thing (JS to my knowledge was developed by the dev of Boo, thats why it relies on boos libs )

But yeah since the existance of IronPython, the interest in something “like python thats not python” has likely dropped considerably.

I’m mainly referring to its use here with Unity.

Boo and Unityscript are in the same boat when it comes to outside documentation.

UnityScript isn’t going to see any real use outside of Unity. And though it has similarities to Javascript in syntax, the type of programming you do here is different than what you’d be using Javascript for outside of Unity.

I believe that lack of documentation in regards to Boo’s use in Unity is largely a result of the lack of demand. That lack of demand is a result of its inability to be used on iPhone. If that were not the case, I think we’d see a lot of Python people decide to use Boo in Unity. And thus, documentation for it would go up.

I can’t agree completely on the iPhone issue, because nobody used Boo before Unity iPhone, either, and now there’s a ton of Windows people, and they don’t use Boo either. That said, I do potentially fit into this synopsis. But even with iPhone support, I still wouldn’t use Boo in its currently-supported state. And like dreamora said, IronPython probably does make more sense at this point.

There weren’t all that many people using C# in Unity a few years ago. I think the scripting reference and tutorials being mainly in Unityscript have a lot to do with it.

Don’t get me wrong. I don’t think that Boo would end up with more than 25% of the user base, even if it was supported better. It’s actually so similar to C# that for newbies it just makes more sense to learn C#.

Though I will say that I’d much rather see Boo tutorials than Unityscript tutorials.

Well I think in light of these responses the best approach should be to get something rolling. If the result of which is luke-warm then I’ll just leave it there.

I agree with many folks here and think the iphone deal is a killer for many of people looking at Unity, even if they are not really that interested in it. However, to my eyes the real issue is in the non existent documentation. In regards to the ihone issue is this something that could change with enough of a BOO community or is there no possible way to work around it (any developers reading want to jump in here). I guess it all comes down to the demand vs the Unity manhours.

Concerning the 3.0 update will any of the new formats be unsupported? I’m putting my money on the ipad being a no no.

I learned Python before I learned Boo, at my experience level in programming there was no other way to do it especially with the current level of help on the Boo Codehaus website. To many out there however having to learn one language just so you can learn another is a put off, but for me at least I have uses of Python outside of Unity. I think by making Boo tutorials in the context of Unity people can quickly see first hand what it is capable of and see for themselves if it is the better option.

To start I think rather than translating code I shall put together some basic videos and written documentation (for those non English speaking folks with a little babel fish) covering the basics of variables, functions etc etc blah blah the usual suspects, so programmers (experienced or not) can play around at their leisure. It’s always difficult to gauge the users prior knowledge so I’m uncertain how basic I should keep it, I’d rather “Condescending Prick” didn’t adorn my epitaph. If that all goes well there would be lots of room to expand into more complicated tutorials, but one step at a time.

I could get carried away here so I think it would be best to focus and get something done.

Hi Monty i personally think that you should do some boo tutorials i would very much so like to use boo i do no a little c# but i used to work with python a lot back in the day but that was ages ago so when i came to unity i forgot every thing about python and i would much rather work with something like boo than c# as i have no interest in developing for iphone/ipod as i love computer games so please make those tutorials as i think alot of new comers to game development would rather be learning something like boo rather than unityscript or C# so i hope you do make them tuts.

Hey,

Yes please :.)
I’m new to the whole programming scene and python seemed the most logical place to start. I’d rather get to to grips with python before I move on to other languages and BOO is virtualy identcal.
It’s abit odd that Unity is using boo instead, I’ve looked at the home page it looks like it’s shrived up and died!!!

I’d like to bump this thread. I have been doing some coding in Boo and I find it to be pretty awesome. I get way less errors thrown my way, but there are little differences that are hard to find in the scripting reference.

Has anyone made any boo tutorials?

I think one of the difficulties of finding example code for Boo for beginners is that it is hard to copy/paste from the web into your editor due to the way that boo code is indent sensitive (many web sites convert tabs to spaces, etc). This is highlighted when you try and copy/paste boo code from the wiki, you lose the indentation (and you have to add it in manually).

For example, I thought about porting some of the Unity/C# scripts on the unify wiki into Boo (so that people can see the difference between each language) and I found the formatting quite challenging. I spent more time ‘fixing the formatting’ of the code on the wiki than I did on the code itself - quite frustrating so I gave up.

If anyone could suggest a better way to ‘share’ scripts on the wiki then that would be awesome.