Search Unity

Need help please.

Discussion in 'Getting Started' started by hardline, Jan 27, 2015.

  1. hardline

    hardline

    Joined:
    Jan 27, 2015
    Posts:
    2
    I have a little question. What would be the first thing I need to learn to start programming. Do i have to learn binary code first or something? Thanks for the help.
     
  2. angrypenguin

    angrypenguin

    Joined:
    Dec 29, 2011
    Posts:
    12,055
    Nope, go get yourself a book on your programming language of choice and start at the front.

    I hear that the C# Yellow Book is highly recommended, perhaps start there?

    Also, on a related note because it will come in handy, "How To Ask Questions The Smart Way" is a great read for people starting out in technical fields where they'll most likely want to discuss what they're doing with others online.
     
    SteveJ likes this.
  3. hardline

    hardline

    Joined:
    Jan 27, 2015
    Posts:
    2
    Ok thanks.
     
    angrypenguin likes this.
  4. angrypenguin

    angrypenguin

    Joined:
    Dec 29, 2011
    Posts:
    12,055
    No problem. Best of luck! And if you stick with Unity make sure you hang out 'round here, there's plenty of helpful people and fellow learners.
     
    zombiegorilla likes this.
  5. Kiwasi

    Kiwasi

    Joined:
    Dec 5, 2013
    Posts:
    16,487
    Its very rare anyone goes anywhere neat binary these days.

    I'd suggest going to the learn section of this website. Open up the scripting tutorials. Watch every single one in the beginner section. This will give you the basic outline.

    This is decent advice for programming in Unity, not so much for general programming, there are a few Unity quirks.
     
  6. angrypenguin

    angrypenguin

    Joined:
    Dec 29, 2011
    Posts:
    12,055
    Which is why I strongly recommend also getting a general programming text. A lot of what's taught for Unity (though I haven't checked out the official resources in ages) is more about getting you doing stuff quickly rather than teaching you how to do things properly. And the fundamentals you can miss out on this way can cost you severely in the long run if you don't fill in the gaps yourself.
     
  7. SteveJ

    SteveJ

    Joined:
    Mar 26, 2010
    Posts:
    3,038
    I've preached that C# Yellow Book many times too. It's a BRILLIANT introduction for newcomers looking to get into programming.

    EDIT: AND IT'S FREE!!!!!!!!
     
    angrypenguin likes this.
  8. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    14,550
    angrypenguin likes this.
  9. angrypenguin

    angrypenguin

    Joined:
    Dec 29, 2011
    Posts:
    12,055
    I think that's how I learned of it in the first place. Thumbs up for the solid advice.
     
    hardline likes this.
  10. SteveJ

    SteveJ

    Joined:
    Mar 26, 2010
    Posts:
    3,038
    One of the few books to mention the all-important point:

    I think the biggest mistake new programmers make is thinking all about the fact that they're going to learn C#, or Java, or whatever and NOT about the fact that they're going to learn to PROGRAM.

    </end-semi-rant>
     
    angrypenguin likes this.
  11. Kiwasi

    Kiwasi

    Joined:
    Dec 5, 2013
    Posts:
    16,487
    Totally true. This method requires a fair bit of googling and reading in other places to close the gaps. But its possible to go to far the other way, and have to do some unlearning to fit into the Unity framework.

    That said I'm off to download a copy of the yellow book. Probably about time I killed a few bad habits.
     
  12. angrypenguin

    angrypenguin

    Joined:
    Dec 29, 2011
    Posts:
    12,055
    What have you had to "unlearn" to work effectively in Unity? I'm tempted to respectfully disagree, but it's easily possible there are examples I'm overlooking...
     
  13. SteveJ

    SteveJ

    Joined:
    Mar 26, 2010
    Posts:
    3,038
    I don't think it's "unlearning" so much as just thinking a little differently. The biggest hurdle for me with Unity was getting my head around the "Behaviour" way of thinking. That a "Unity program" (in most cases) is really a bunch of smaller programs, all controlling the specific behaviour of particular "things", and that those things may have limited or non-existent interaction with each other.

    e.g. door.cs - It's a door, and maybe that's all it is. It doesn't necessarily interact with anything else and maybe nothing else interacts with it. It's just a door that opens and closes automatically every 5 seconds.

    Anyway, probably a crappy example, but you know what I mean. It's a very different way of thinking compared to writing a Windows Forms application for example.
     
    Ryiah and Kiwasi like this.
  14. Kiwasi

    Kiwasi

    Joined:
    Dec 5, 2013
    Posts:
    16,487
    @SteveJ captured what I was trying to say better then I could. Occasionally I see programmers who struggle to click with Unity's way of doing things. You pretty much have to run with a component based approach. You have to use the Update loop. You have to use the magic functions. You can't use constructors. Some design patterns can be very difficult to implement in Unity.

    I personally haven't had to unlearn anything from a programming background. I learned most of my programming from the learn section and google. I have had to do some unlearning of the bad habits Unity promotes. Most obvious is making every variable public. There are others.

    I'd still suggest learning Unity first if you are simply in this for fun (as I am). If you really want to make a serious game, then learning programming formally is a good idea.
     
  15. SteveJ

    SteveJ

    Joined:
    Mar 26, 2010
    Posts:
    3,038
    That's what I was trying to say :)
     
  16. Deon-Cadme

    Deon-Cadme

    Joined:
    Sep 10, 2013
    Posts:
    288
    There is a slew of books but there is also a ton of information online. The easiest way to put it... be prepared for a lot of learning, experiments and failing until you get the hang of it. Many people spend years perfecting their skills and specialize in different areas of programming. Also remember that programming isn't the only thing done in games, there is also 2D/3D art, sound and music etc...

    Unity got their own learning section:
    http://unity3d.com/learn/tutorials/modules

    Start with watching the videos about the editor and tinker with the features on your own until you feel a bit at home in the editor.
    Then go on to the programming section and watch the videos about C#, then watch them again. Don't forget to try out things on your own.
    Youtube also got lots of tutorials about programming in Unity if you search, some of them walk you step by step through projects. That can help you to figure out how pieces are connected, when to connect them and how.

    Also, keep the things that you are trying to accomplish as small as possible... to many problems will just make you tired... Get a cube to move, make it collide with other cubes and so on... it will take time but it gives you a chance to succeed without suffering from burnout... it might feel silly but it will be fun every time you do something and it actually works.

    We all walked this path, grew in our own way and developed our skills until we got where we are today.
     
    hardline likes this.