Search Unity

  1. Unity 2019.2 is now released.
    Dismiss Notice

Intermediate Scripting Tutorials

Discussion in 'General Discussion' started by Wolfie, Dec 9, 2009.

  1. Wolfie

    Wolfie

    Joined:
    Nov 23, 2009
    Posts:
    210
    Feel free to correct me if you dissagree, but something I've been noticing recently is that people who aren't already familiar with Javascript, on a whole, tend to find the learning curve extremely steep for Unity. I mean, the whole WYSIWYG thing is great, I learnt that in less than a day (there are some great tutorials out there for that), but it's always the scripting that's a pain in the arse at the end of the day. Something else I noticed is that although there some good scripting tutorials for absolute beginners, after learning the basics the content seems to suddenly skyrocket to a point which just goes straight over my head. Course, it might just be because I'm thick or something, but judging by other user's comments I suspect that it might be because the guys who are writing the tutorials tend to already be experts, and because it comes as second nature to them it makes it a real challenge to explain it to others, simply because you're not automatically aware of what the reader already knows.

    Now here's the thing (I'm making no guarantees of course), but does anyone thing it'd be worth my time, as a new user, to write down everything I learn as I go along in the form of a tutorial? I figured that the plus side would be that it would (theoretically) end up being everything a new user would need in order to understand using Unity, because it was all of the stuff I needed to learn Unity. Also it would be in simple language that even I can understand. The downsides however would be that, because I'm still learning, I would likely go ahead and recommend things which weren't necessarily the easiest or best way of doing something, and also progress would be very slow (as I could only write the thing at the speed that I learn it all).

    Anyhoo, it's just a suggestion, but I figured it'd be nice to give something back to the community. Any thoughts or suggestions?
     
  2. Redbeer

    Redbeer

    Joined:
    Nov 1, 2009
    Posts:
    402
    I actually think this is quite a good idea, with the following two notes:

    1)You'll need to have a thick skin yourself and be open to suggestions. If this is the case, you'll do the community even MORE good, because in addition to what you provide for help to some directly, you'll indirectly be helping many others by listening to suggestions on how you could have done things differently.

    2) It will help to expose how beginners/intermediate users approach things, and this will in turn help people write better tutorials. It's hard to know what a beginner needs to learn, it's even harder to know what an "intermediate" user needs to learn, for two reasons that I can think of:
    a) As you advance to "intermediate" (whatever that is defined as) the number of specific possibilities increases with the obvious increase in complexity of what people are looking to do. Leading me to say that what intermediate users need to learn is more "general" logic/thinking/planning skills, and that is much harder to teach anyone.
    b) The inability to clearly define what "intermediate" truly means, makes it difficult to determine where to start, and where to go, with a tutorial/instruction.

    I say you go for it. I've seen this type of thing before in other programs, sometimes it's excellent and comprehensive, other times it dies out way too fast, hopefully yours will be of the former type, which essentially requires that you stick with it through thick and thin. :D
     
  3. Wolfie

    Wolfie

    Joined:
    Nov 23, 2009
    Posts:
    210
    Those are some good points, for #1 I see what you mean, but like you say, by trying to remain objective and accepting of constructive criticism I think it could go well. Perhaps I could put them up in parts using the forum so that people such as yourself could critically appraise them prior to giving each one the go-ahead? The other benefit of that would be that I could learn some new, or easier ways of doing things so it should theoretically be a win-win scenario.

    As for #2 I must say I hadn't thought of it that way. I guess that even if my tutorials are a flop, at least other people can look at my mistakes and use that. Also, it may well be the case that instead of it being the quality of tutorials out there than inhibits learning progress it is instead the transition from following instructions to free-thinking, so to speak. Combined with the ambiguity of 'intermediate', how about if I cover all bases and start from scratch (absolute beginner level)? This way it could smooth the transition without excluding anybody.

    But yeah, thanks for the well thought out feedback, it much appreciated!
     
  4. WinningGuy

    WinningGuy

    Joined:
    Aug 10, 2009
    Posts:
    884
    I have a general comment.

    The learning curve for scripting in Unity isn't extreme.

    It's the learning curve for learning to program at all that may seem extreme. This doesn't have much to do with Unity.

    Introductory scripting tutorials may seem cool at first, but all you really end up doing is just learning a few commands and how to implement those commands. But you don't really get to delve very deep into the concepts of programming.

    Look at programming as a set of tools. Your goal is to build a house. Unity provides all the raw materials you need to build the house. They even give you some preconstructed parts.

    With your set of tools you dive into the tutorials. Hmm... this one teaches you how to use a hammer. Awesome. Now this other one teaches you how to use a screwdriver. Cool. Etc... Through these tutorials you've built a chair, computer desk, and a book shelf.

    Now you know how to use a bunch of the main tools.

    Next step... build a house? Probably not.

    Will more tutorials on how to use the tools help? I suppose a little. Build a shack?

    But then when you build your house it will probably just look like a bigger version of that shack.

    What you need to do is study some architecture and construction. Then you'll be able to more easily and effectively create a plan on how to build that house.

    You still have the same set of tools. You still are using them in a similar way. But now you know WHY you are doing what you're doing.

    So what I'm trying to say is, learn programming concepts. Once you get the concepts down, then the higher level stuff will be easier. If you don't get the concepts down, you could do all the tutorials in the world, but once you get to something you haven't done before you'll be stuck.
     
  5. KaelisAsur

    KaelisAsur

    Joined:
    Apr 9, 2009
    Posts:
    361
    Forgive me for this digression, but id just like to say that this is perfectly normal and to be expected. Unity Tech. clearly states that their product uses C#, JS and Boo for scripting, instead of a proprietary language. Hoping that Unity docs will teach you one of these common programming languages would be silly. So if someone is having a hard time with scripting because of his lack of fluency with the language he uses, he should be going back to basics instead of complaining about the docs :wink:
     
  6. Eric5h5

    Eric5h5

    Volunteer Moderator Moderator

    Joined:
    Jul 19, 2006
    Posts:
    32,145
    I do think users should have a solid understanding of how to program before using Unity. The API in Unity is huge enough as it is without trying to learn two things at once. This was me when first learning Unity:

    ::write line of code::
    ::look up stuff in docs::
    ::write another line of code::
    ::look up stuff in docs::
    ::write another line of code::
    ::look up stuff in docs::
    etc.

    I did learn Javascript (or rather, Unity's version, which is quite different) while learning Unity, but that's just syntax and is pretty trivial if you already know how to program. (And I still have to look stuff up in the Unity docs occasionally....)

    --Eric
     
  7. Wolfie

    Wolfie

    Joined:
    Nov 23, 2009
    Posts:
    210
    @WinningGuy - That's a fair point. I guess I was lazy in choosing my words, but what I was trying to say is that, although I realise scripting is made easier by Unity, and that the learning curve for scripting in Unity is accordingly low, there are a lot of people out there who have never scripted before and want to use Unity basically as a learning tool. Those are the people I was thinking about as, like you said, it's learning to program at all that seems extreme, but for them that's just what they're trying to do.

    As for the tools and furniture analogy, my thinking is that the best way to learn to build a house is to start with tools, then furniture, then a room, then a shack, then a house, at each step repeating the exposure to it until you have good tool usage, then good furniture, then a good room and so on before moving to the next level. Obviously the first time round the house is going to look pretty shoddy anyway, but my thinking is that perhaps a tutorial that helps walk you through more than simple tool usage could still be useful. Personally I would have thought that learning this way is quite a good method of gaining overall understanding of game development, but being new to all this I honestly don't know for certain.

    What do you reckon might be the best way of learning these general concepts?

    @KaelisAsur - I'm sorta glad that it's normal to struggle at this point, it makes me feel a bit less like I'm just incompetent :D But please don't get me wrong, I'm not saying there's anything wrong with the existing Unity documentation, in fact it's very good. I know that asking Unity to teach me how to use Javascript is a bit like asking UT to teach me 3D modelling or animation, or musical composition for soundtracks and so on. It's just not their responsibility to do so, but what I was suggesting is that because it's not their responsibility it might be useful for me to try and help out people with a tutorial. Kind of for people who just want to make a few games for a laugh instead of a career (in which case they'd probably have studied programming properly in University).

    Thanks for the comments guys!
     
  8. Wolfie

    Wolfie

    Joined:
    Nov 23, 2009
    Posts:
    210
    @Eric5h5 - Haha, again it's good to know that even you were once where I am now XD

    Of course, although I never expected there to be an easy road to learning how to make games with Unity, perhaps the only way to learn from this point is simply by slogging through reference material and trying things one line at a time. Maybe because I found it so easy to learn the early stuff with the help of tutorials I just assumed they'd help more than they really would for the next stage in learning too? Aw well. Can't have everything I guess...
     
  9. HiggyB

    HiggyB

    Unity Product Evangelist

    Joined:
    Dec 8, 2006
    Posts:
    6,183
    This is always a tough line to walk. We want to provide as much material is possible but we (a) can't do it all, and (b) still have a long way to go. The toughest part is deciding how much time/resources do we spend teaching basic scripting concepts versus Unity/3D/game specific concepts. Sure, folks coming to Unity often will need help with scripting basics but we're not here specifically to teach you the basics of JavaScript or C#, so instead we've focused on a "now that you have some base level of knowledge, now what?" sort of approach. As time goes on we do plan on expanding the range of what we have to offer, shoot, our Resources area has lots more stuff than it did a year ago, but in the end we'll never be able to do it all. Hopefully we cover enough to keep you and any future noobs hooked, learning and improving!

    If you have specific suggestions you want us to consider then do not hesitate to toss those our way:

    http://feedback.unity3d.com

    Features, docs, improvements, whatever... use your voice. :)



    Oh, and rock on!
     
  10. WinningGuy

    WinningGuy

    Joined:
    Aug 10, 2009
    Posts:
    884
    Personally, I feel that the general focus on UnityScript for beginners is a mistake. Not on Unity's part mind you, but on the part of the learner.

    If you are already familiar with Javascript, then UnityScript will feel very comfortable. You just have to learn the API, which is enough in itself.

    If you are familiar with pretty much any object oriented language then UnityScript will seem somewhat comfortable. You'll be able to read the tutorials and jump in.

    I think that when Unity is giving advice to brand new programmers, or making really simple, "how to program" style tutorials, they should use C# or Boo.

    The reason I say that is because the beginner could search 3rd party resources and find basic examples that they will be able to translate into use in Unity. They could go into Google and type "learing C# programming", "c# programming tutorials", "learning Boo programming", "Boo programmin tutorials". BAM! A ton of info, that if studied, will be useful.

    If they look up advice on "learning Javascript" they'll be hit with a TON of info... but hardly any of it is applicable to Unity. After weeks of spending time and energy on Javascript tutorials they'll still be left lost. Then they'll wonder why Unity doesn't have better tutorials for beginners.
     
  11. Wolfie

    Wolfie

    Joined:
    Nov 23, 2009
    Posts:
    210
    @HiggyB - I get what you mean, it's almost like asking the guy who built your piano to teach you how to read music. You need to know that in order to use the piano to it's fullest, but it's not up to them to teach it. At the same time it's in the piano maker's best interests to have many people knowing how to use them. Almost a catch 22... Anyway, for what it's worth I think that the documentation on use of Unity itself is actually very good. I've found a lot of stuff, and the program's layout is pretty logical. On top of that, as this thread demonstrates, I've found Unity Forum users to be friendly and helpful, so really I've got nothing to whine about. Thanks for the link though, if I come up with anything a bit more concrete I'll be sure to post it there.
     
  12. technicat

    technicat

    Joined:
    Nov 22, 2006
    Posts:
    1,278
    Wolfie, I think writing an as-you-learn tutorial is a great idea. At the very least, it'll help organize your own thoughts on Unity and is a way to give back to the community - if people find it helpful, that's great, if they have suggestions, even better, if they don't like it, hey, it's not like you're charging them.

    At least that's my rationale - I'm doing something similar on http://www.technicat.com/games/unity.html - there are gaping holes (so you can tell which areas I'm not familiar with) and it's partly obsolete every time there's a new Unity release, but for my own sake I like to try organizing what I know (and what I think) about a topic in one place, and publishing it forces me to spend at least some time updating it.

    If you go ahead with a tutorial, be sure to add it to the Unity tutorial reddit list - http://www.reddit.com/r/unity_tutorials/ Another way to go is blog what you learn in a "developer diary" format - there are many Unity user blogs and another reddit list - http://www.reddit.com/r/unity_blogs/
     
  13. asterix

    asterix

    Joined:
    Aug 1, 2009
    Posts:
    245
    Ya you understand exactly what is the problem. Those who created Unity think it is SO easy to learn. But you are right, they can't really place themselves into beginners shoes. That is the problem with ALL books and tutorials. Here is a new tutorial, ya right. No one really explain how to find your way into feeding ourselve digging into the scripting reference. The biggest joke in my oppinion is that Unity is presented as so easy to learn UnityScript cause it is called JavaScript. And many have read book on JavaScript tell in forum, that it din't help them at all. Somehow it is not fair to not tell in the "Blazing fast .NET-based JavaScript and C#, with rich libraries and great documentation. Read more" or " Flexible and Easy". Well it is so easy that the forum is full of question on scripting. They should be honest somewhere and say to user in those add: Knowing C#/Python is a requirement (I expluded JS cause it have not much to do with UnityScript, where not much documentation for beginner can be found). cause without that you can only dose some primitives, trails, particles. I am not sure if they know how many beginner there is here. It is a good investment, cause if the noobs can master Unity, there is a better chance they will get the pro.
     
  14. KaelisAsur

    KaelisAsur

    Joined:
    Apr 9, 2009
    Posts:
    361
    Because Unity itself IS easy to learn. Ive been able to do simple games after a week of learning Unity. If thats not easy, i dont know whats easy.

    What are you complaining about is general programming, not Unity.

    I honestly have no idea whats the problem. In fact everytime someone is saying that the docs are not good enough im shake my head in disbelief, since theyre one of the best among game engines, and ive seen my fair share.


    It is? Huh, i didnt know that. Do you mind providing a reference?

    Please show me a game engine forum where there are no questions about scripting/programming...

    But thats really obvious. If its clearly stated that Unity uses C#/dialect of JS/Boo for scripting, then of course youll need to know at least one of those to script. Maybe im missing something but to me thats a no-brainer...
     
  15. Eric5h5

    Eric5h5

    Volunteer Moderator Moderator

    Joined:
    Jul 19, 2006
    Posts:
    32,145
    That's not an honest requirement, because I didn't know C# or Python before using Unity (or Javascript, neither web Javascript nor Unity's version). I did, however, have programming experience with other languages.

    In fact Unity is easy to learn. Nowhere does it say it's a programming-free engine; it's quite up-front about needing scripting to use it.

    --Eric
     
  16. asterix

    asterix

    Joined:
    Aug 1, 2009
    Posts:
    245
    Good for you if you find it easy. I have no OOPOBJECT ORIENTED PROGRAMMING experience, that is why it is hard. But I do have Linear prog. ex. but it have nothing to do with OOP.
     
  17. Lab013

    Lab013

    Joined:
    Oct 22, 2008
    Posts:
    405
    It seems to me that its kinda obvious that you are going to have to program stuff when using a game engine.

    Your idea is very good though, hopefully it will be helpful to the community!
     
  18. WinningGuy

    WinningGuy

    Joined:
    Aug 10, 2009
    Posts:
    884
    I'll have to second this statement.

    It's pretty obvious that you do need to know some programming. It states that it uses UnityScript, C#, and Boo. But if you're familiar with programming, you could pick up these languages fairly quickly.

    I don't recall anywhere where they state that you don't need to know programming at all. In fact, every time someone has asked that question on the forums they are told by many people that you do need to program.

    It's like if I said that basketball was an easy game to learn. Then someone came by and was upset because I didn't teach them how to walk.
     
  19. HiggyB

    HiggyB

    Unity Product Evangelist

    Joined:
    Dec 8, 2006
    Posts:
    6,183
    That's why we're here on the forums, that's why we talk with users everywhere we go, that's why we continue to involve newer users on our betas and not just experienced veterans, etc. We definitely realize that it's hard, possibly impossible, for us to ever go back to original "new user" points of view and so we do a lot to try and keep ourselves on track. Not sure if you're on a bashing attempt here or what, but know that we try hard to balance things out. :)


    Wrong. :) There is nothing that requires C#/Python for you to use Unity, at all, period, end of discussion. There are tons of people doing all JavaScript/UnityScript development just fine. I'm just not sure on where you're coming from with that so if you have any specifics to share then I'm all ears. You're calling us out as dishonest and I take issue personal issue with that as we try very hard to be up-front and honest in our marketing and promotion as well as in our dealings with developers.
     
  20. asterix

    asterix

    Joined:
    Aug 1, 2009
    Posts:
    245
    @HiggyB

    I am just calling to tell that pub should mention that knowing C#/Python/JavaScript is required, like XNA/C4 dose respectivly. It would make things clear for the beginner. I am sure that Unity is easy to program when you have those basic knowledge, if everyone write so.

    My background as programmer is Linear programming like Basic, not OOP, if you want to know. What is your programming background HiggyB?
     
  21. HiggyB

    HiggyB

    Unity Product Evangelist

    Joined:
    Dec 8, 2006
    Posts:
    6,183
    Fair enough, you'll notice that your (still unedited) original post seems to have omitted JavaScript as if you were saying that C#/Python were required and that JavaScript knowledge wasn't sufficient. If you truly mean what you're now saying then please edit your original post for clarity, thanks.
     
  22. Eric5h5

    Eric5h5

    Volunteer Moderator Moderator

    Joined:
    Jul 19, 2006
    Posts:
    32,145
    None of those are required though...I didn't know C# or Python or Javascript before using Unity. Mostly what I was using at the time was Perl.

    --Eric
     
  23. asterix

    asterix

    Joined:
    Aug 1, 2009
    Posts:
    245
    It should be clarified, to make it obvious to beginner in here http://unity3d.com/unity/features/scripting
    that if they don't know how to program OOP, they have to learn about it first. There is nothing wrong to tell that from the start. And like XNA dose, you should put links: if you don't know how to program consult this link or any reference to guide the beginner. It is all at Unity community advantage.



    Source:http://forums.xna.com/forums/t/9181.aspx
    Question: I know what XNA is, I have everything installed, but have never programmed before, do I need to know that? How do I get started?

    To get started making games with the XNA framework, you are going to first need to learn the basics of programming in C#. You will not have to become an expert, but getting a fundamental grasp of programming and the C# syntax is going to be required before you can start working on your game. If you apply yourself, it shouldn't take too long before you know enough to begin making simple 2D clones like Pong.

    Here are some FAQs to help get you started on learning to program.

    * How do I learn to program? http://forums.xna.com/forums/p/333/1384.aspx#1384
    * What are the recommended books and sites for learning C#? http://forums.xna.com/forums/p/3324/16573.aspx#16573
     
  24. Wolfie

    Wolfie

    Joined:
    Nov 23, 2009
    Posts:
    210
    Just a thought, but if you had to pay for Unity before you could start using it then I could understand the need to know definitively about the importance of scripting knowledge prior to forking over a shed-load of money, but considering there's a free trial, as well as the Indie, I can't see a problem there. If people don't work it out themselves within a few minutes of using Unity (for free) then all you've lost is a few minutes of your life, which is approximately equivalent to obtaining and reading some documentation that'd tell you the exact same thing as you'd just worked out for yourself. Regardless, isn't a lot of this all just arguing semantics anyway?

    All I wanted to know was if there were any newbies out there who thought a new tutorial from a somewhat weird perspective could be helpful to them, or otherwise see if any experienced users had any suggestions for how best to go about it. I didn't really intend for it to turn into all this (interesting as it might be) :D

    Haha, nonetheless I've decided to go ahead and give it a shot to see what comes out of it. It'll help organise my ideas if anything. Thanks once again for everyone's input!

    Ooh, and one last random thingy - in the future, would it be plausable to have use of a snippet manager option, like in HomeSite for example, where you can place pre-made editable parts of code from drop down menus? It'd make life a lot easier for scripting newbies like myself (it's also a good way of learning the skills to code), but wouldn't detract any of the flexibility or potential from the existing means of starting from scratch. Or would it? I dunno, it's just a thought.
     
  25. KaelisAsur

    KaelisAsur

    Joined:
    Apr 9, 2009
    Posts:
    361
    This is actually a very good point asterix is making.

    Now that non-pro Unity is free, im sure we will keep seeing absolute newcomers to game engines or even to programming. In light of this, the features page and documentation in general could (and should) be more clear on the topic of scripting. For one, a person unfamiliar with game engines doesnt realize that its necessary to script/program in order to create anything more advanced than a simple walkthrough. One has to delve deeper to actually realize this. And quite deep, i might add - ive tried dozens of 2d and 3d engines and have general experience with programming, yet even after reading the entire User Guide i was still unsure how much scripting will i need to do. The features page does not make this any better, listing scripting as just one of the (seemingly optional) components. A decent faq for newcomers to game development would also be a good idea.
     
  26. WinningGuy

    WinningGuy

    Joined:
    Aug 10, 2009
    Posts:
    884
    It will likely be helpful to SOMEBODY. Heck, even if it's only helpful to one person, that's still cool.

    And probably most of all, documenting your learning process will be helpful to YOU.
     
  27. Harissa

    Harissa

    Joined:
    Nov 13, 2008
    Posts:
    136
    I think it's a great idea. In my opinion Unity is definitely still lacking some advanced scripting tutorials. What's really needed is something similar to Colin Moocks "Advanced Actionscript" which doesn't just tell you one way of doing things - it tells you several, compares them and mentions common problems you might have.
    I've just finished my first unity project and despite having twenty years programming experience these issues gave me the most grief.

    - Getting a reference from one object to another. I started with the idea that it would be best to hide everything in the scene and then only make it visible when its needed. Bad idea - you can't get a reference to a hidden object.

    - Making a central game controller. You need a Singleton and there's some examples on the Wiki but they're not that general purpose

    - Multiple levels. I got this working but not in a particularly flexible way. Ideally you want each level to contain the elements which repeat across all levels (such as the player character) during editing so you can see how things look. However you then need to set up the scripting so these elements aren't duplicated when actually playing the game.

    Best of luck with your tutorials.
    BTW I've noticed lots of people telling you to use C#/JavaScript etc. My advice is to use whichever seems easier at the start. Once you know what you're doing its fairly easy to translate from one to the other, just a bit time consuming.

    J
     
  28. Eric5h5

    Eric5h5

    Volunteer Moderator Moderator

    Joined:
    Jul 19, 2006
    Posts:
    32,145
    You can if it's not hidden at the very beginning, but is turned off in the first frame. Or if it's directly referenced by dragging it onto an appropriate variable in the inspector.

    --Eric
     
  29. Joseph-Ferano

    Joseph-Ferano

    Joined:
    Jul 18, 2008
    Posts:
    165
    I have to comment on something here that I have been noticing for a while.

    The language you choose has absolutely NOTHING to do with what makes Unity easy or hard. All programming languages do the same stuff. It's the API that creates the learning curve. I know both C# and Actionscript, which follows the exact same syntax of Javascript, and I have no clue what I am doing in Unity.

    Scripting knowledge is just the tip of the ice berg. There are several things that you can do to help you out. First, knowing game algorithms helps, but even then, not always.

    I knew how to make the spaceship in Asteroids shoot, move, and everything in Actionscript. I knew the algorithms, but things change in Unity.

    So what is the answer to this? Advanced language features will not help one bit. What people really need is a book or a long series of video tutorials that are entirely and only dedicated to UniScript that can skip programming basics(you can get that anywhere and apply to Unity) and just explain how to make the top 10 most common games. Show game programmers how to do things the Unity way.

    That is currently the problem I am facing so I need to just scour the forums and check out random, unrelated tutorials to pick up what I need. I also need to read a Flash game book to learn some new gaming algorithms that can be applied anywhere, but eventually I have to learn how to translate it to the Unity API.
     
  30. Joseph-Ferano

    Joseph-Ferano

    Joined:
    Jul 18, 2008
    Posts:
    165
    Here are my suggestion for the games;

    1.) RPG
    2.) Street Fighter
    3.) Racing Game
    4.) Platformer
    5.) Tetris
    6.) Card Game
    7.) Physics Puzzle Game
    8.) Trivia Game (Learn Databases)
    9.) Football Game
    10.) First Person Shooter

    I truly believe that if an extensive book can cover ONLY the programming to get most the game specific code of all theses games to work, you will probably have more than enough knowledge of the Unity API to be able to make ANY game you so desire. Anything more and you could probably just get it by yourself using the documentation.

    Plus, just make any one or two of those with online capabilities and you have networking covered.
     
  31. SisterKy

    SisterKy

    Joined:
    Dec 6, 2009
    Posts:
    30
    Well... if you're just playing around, then yes. But if you have a deadline to meet (like end of Semester) it does make quite a difference on how you plan ahead.

    I back that statement, as I am one of these absolute newcomers.
    I did a virtools-project last semester and worked into it quite fast with nothing but the Helpfiles on my hand (wich was lucky as their community-site is pretty ugly and you don't want to hang out there :? )

    Though I knew from the start that this would be more manual scripting, I somewhat expected it to work out the same way... take the API and the Tutorials on the Page, force yourself through it and you get what's going on... but... well... not quite ^^'

    The tutorials are really nifty to figure out, WHAT you can do (which is truely important as a start off) and don't freak the average newbe out with too much in-depth.

    But at some point they leave you with too little info as to HOW they do it (the FPS-Tut quits half way through with explainations on the scripts and the comments aren't quite enough to figure it all out... especially as there are ways-of-doing-things in there, that had not been covered in the explained parts, like self-referencing on classes <- not sure, if I say that right).
    And WHY they to it the way they do it. (Lerpz is a bit better about this)

    I'm not saying you need to provide the Tutorials on basic object oriented programming, but a link to some page that does certainly would be great... :roll:

    I don't know if that's true or false for *scripting* in Unity. I tend to believe it, actually, as I managed to do one thing or another by copying sniplets and recombining them and by doing so figured out a few things...

    But scripting knowledge most certainly definitly positively DOES do something for you, when talking to other people about it! Which you will have to do, to *learn* scripting.

    Especially important in my opinion: simple explaination of all the freaking terminology!
    That we newbs can *begin* to understand your answers...
    like:
    "Wait, is 'function' now a function or is it a method? Or is it only a function if it's 'Function', not 'function'? Or can 'function' be a variable, since it's written in lower case? After all, other words that will get a funny color like 'translate' can be variables, too?!
    Or wasn't it a function at all, but a behaviour? Or are those two synonyms? Or are those 'almost synonyms but the details would only confuse you so I'm not saying what the differences are'?
    Or was that about classes? No, wait. A class is a script. Except if your script has several classes...." @_@ -.-
    (Seriously, I'm not exagerating here ... :( it's freaking confusing and I have not one answer for any of the questions above ^^' Maybe I'm just stupid but... meh :/ I do have the vanity to refuse to believe it :p )

    Greetz, Ky.
     
  32. Joseph-Ferano

    Joseph-Ferano

    Joined:
    Jul 18, 2008
    Posts:
    165
    @Ky

    I edited the post, I see how that came off a little wrong. Of course you need scripting knowledge, but what I meant to say in my post is that it's just the beginning. The API and the algorithms are the real challenge.
     
  33. SisterKy

    SisterKy

    Joined:
    Dec 6, 2009
    Posts:
    30
    Well, depends on what people read 'scripting knowledge' for, I guess...

    Of course you need some rough understanding of some fundamental concepts and thus I never thought that's what you ment by 'scripting knowledge' (so no sweat ;) )

    I read it pretty much for 'terminology'... and that indeed does nothing for scripting itself, I'd say.
    You don't need to know wether "function" is a function/behaviour/method/whatnot itself or wether it only turns the Word you put after it into one. You can simply use it...
    So technically, even if it's not how you ment it, you were right :D ^^

    Well, but I guess we all agree that - nevertheless - we'll need even those to talk about it... ^^'

    Greetz, Ky.
     
  34. Joseph-Ferano

    Joseph-Ferano

    Joined:
    Jul 18, 2008
    Posts:
    165
    Did you look at my idea though? I truly think that a book along those lines, that focuses on practical real game world scenarios is what is truly missing. There is some of that available, but it is currently pretty scattered and not as complete as it could be.
     
  35. SisterKy

    SisterKy

    Joined:
    Dec 6, 2009
    Posts:
    30
    Well, I'd say that's a matter of course that more books would be great ;) ^^

    But I have to admit I'd prefer to see some more in-depth information like Harissa asked over a handy collection of many small tutorials.
    You may be right that it's hard to find some nice starting points for different genres, so your book would be pretty, too...
    But I find it even harder to get to the juicy bits of comparison of pros and cons of different techniques and I'm the kind of person who'll rather try to figure out the practical how-tos on her own, once the tools are clear.
    Well, it's probably just a matter of personal preference, but to me the other way round (just starting and figuring out which technique has its quirks and which works fine) appears to be excessively harder by comparison..

    Greetz, Ky.
     
  36. WinningGuy

    WinningGuy

    Joined:
    Aug 10, 2009
    Posts:
    884
    I found an excellent Object Oriented Programming primer online.

    You don't need to know any existing programming languages. It will help if you know simple things such as "What is a variable". But other than that, this pretty much holds your hand and keeps things pretty generic. It's not specific to a language, but instead it lets you understand the concepts that will be important when you learn a language.

    http://www.exforsys.com/tutorials/oops.html