Search Unity

Learn Unity: where to start ?

Discussion in 'Getting Started' started by Myst7, Jan 4, 2017.

  1. Myst7

    Myst7

    Joined:
    Jan 4, 2017
    Posts:
    4
    Hi folks,

    I know similar topics exist on this matter, and I've already compiled a bunch of resources from it, but I wanted to make my dedicated topic in order to receive information directly related to my expectations and personal background.

    First, let me tell you a little bit about myself, so that you can orientate your answers accordingly.

    I'm a 29yo French male currently living in Asia. I'm passionante by languages and learned Japanese and Chinese, which I can now write/read/speak fluently. I've always been passionante by video games, and always dreamed of being able to create one, but I've mainly dedicated my time to languages rather than programing, and I kind of regret it now. I feel I'm a little too old to start learning programming now , but with unity and the possibility it offers, I've started to feel like it might not be too late for me to start learning.

    I'm very good at self learning, and I dedicated myself to learn about website creation about 2 years ago thanks to WordPress. At that time I was facing the choice of learning everything from scratch, starting with html5 and css, or directly dive into WordPress. I decided to dive directly into WordPress, and could learn all I needed to know to create a sexy fully functional website of my own after a few months (www.mystmagie.fr sorry it's all in French though). All the videos and thumbnails and logos on my website have also been created by myself thanks to free online tutorials. I eventually learned later on html and css basics, but found it a little bit too complicated for what I wanted to achieve.

    Now I'm facing the same question with unity: should I dedicate all my time learning c# and/or javascript first, or can I directly dive into unity tutorials and pick up on c# along the way. My goal for now is not to create a kick ass game, but to learn all the basics to start working on my own game without feeling I lack in knowledge. Luckily I have plenty of free time now, but I would really appreciate some guidance from you all :)

    Here is an example of what my ultimate goal would be in terms of what kind of game I'd like to create. I do not have any knowledge in 3d design, so I'd like to start working with free resources at first, and eventually work with a 3d artist, sound artist at a later stage. I feel it's a little bit too unrealistic to think I would be able to create such game, but I'd like to know your thoughts on that.



    So to summarize, my questions are :

    1) Is my project realistic ? Please do not hesitate to tell me if that's not the case

    2) knowing that I have no programming experience but I have plenty of free time and passion for self learning , should I dive into unity basic tutorials first, or c#/javascript tutorials ?

    3) In any case, what would be the best resources to start with ? Would you be able to provide me with a "planning" on how I should organize my next year or so in terms of learning ? Sorry I know this is a lot, but what self learning has taught me is that knowing how to learn is more important than actually learning.

    4) How much time would you estimate it would take for me to actually be able to start to work on my own game (one looking like the video I showed) ? 3 months ? 6 months ? A year ?


    Sorry for the long post, but I wanted to provide you with all the details about what I want to achieve and where I start from, so that you guys can provide with the most accurate answers :)

    Thanks for your time :)

    Myst
     
  2. Schneider21

    Schneider21

    Joined:
    Feb 6, 2014
    Posts:
    3,512
    Bonjour! Welcome to the forums!

    I'll give you the TL;DR up front: no matter what your background is, the place to start with Unity is the Learn section, specifically the tutorials found there.

    Q/A Time:
    It's not so much that your project plan is unrealistic, but you need to change how you're thinking of approaching it. If you've never spoken or read a single word of Icelandic before, you wouldn't start out trying to sing an interpretive musical version of the Icelandic Sagas to a crowd of 10,000 people at the Sydney Opera House, would you? You have to start small, learning things piece by piece. Like language, development has both syntax (the toolset you use) and style (how to use them) that determine how proficient you are. The syntax is fairly easy to pick up, but the style comes with experience, which takes time and effort... and there's no substitute I'm aware of.

    Start with the official tutorials, linked above. If you run into a concept you don't understand that isn't covered by the end of your tutorial, whether it's a Unity construct or a structure of the language itself, search for learning material on it separately until you feel more confident. Remember, you only need a working knowledge to feel good. The rest comes with experience.

    The official tutorials are structured in such a way as to guide your learning, and they're done very well. Additionally, the manual and documentation are great supplements when you'd like to know about a specific subject.

    I'm going to disagree with your last sentence there, though. Knowing how to learn is a great skill to have, but actually putting time in and learning -- learning anything -- is more valuable by far. If you'll pardon my French (attempt):
    Plus est perdu par l'indécision que la erroné décision. (More is lost by indecision than wrong decision.)

    It really depends. How much time do you have to dedicate to learning and (more importantly) developing? How much compromise are you willing to make on features, graphics, etc? How much money are you willing/able to spend to purchase assets that will save you dozens or hundreds of hours of effort reinventing the wheel?

    The best answer I can give is "a while." I'm not a savant by a long shot, but I am a professional programmer and consider myself a capable developer. With my limited time and sub-par work ethic, though, I've only made one rather basic game in the handful of years I've been tinkering with Unity. Your mileage (kilometerage?) will likely vary.

    Don't get bogged down in all that yet, though. Focus on learning the language and the tools, and practice using them. As your confidence grows, revisit elements from your game idea and see if you feel ready to approach them yet. If so, go for it! The worst you can do is fail! If not (or you fail at your attempt) go back and learn more, and try again later.

    Bon chance!

    Edit: I forgot: The one worrying thing you've said is that you felt HTML and CSS were too complicated for you to bother to learn them. HTML is a simple markup language, and CSS a style syntax... These are extremely basic things in the world of development.

    I'm assuming your WordPress site was built more or less entirely using a pre-built theme of some sort, which is fine for a site. But you're not going to be able to build a game that way, or at least, not the kind of game you're interested in making.

    Game development is hard. It's super hard. Totally doable, but so much harder than people believe before they start. If you're going to find any measure of success, you have to rid yourself of that mentality that anything is too complicated to learn. I can't stress this enough.
     
    Last edited: Jan 4, 2017
    Ryiah and JoeStrout like this.
  3. Baste

    Baste

    Joined:
    Jan 24, 2013
    Posts:
    6,336
    1) Any project is realistic! You should probably not start by making your dream game, though! Do some small projects that you can finish quickly in order to get familiar with game development before you start making The Game.

    You need to give yourself time to make the mistakes you're going to make! So it's not realistic as your first project. If it's more motivating, you can try to make a small part of it as your first thing, but be ready to throw that small part away once you realize everything you did wrong, instead of trying to build further on a bad base.

    2) First of all, use C#! Unity's "JavaScript" isn't the same as real-life JavaScript. There's very few resources for it, and very few people active on the forums that can help you with it. It's also a worse language.

    I would suggest learning to write scripts and work with Unity at the same time - but that's my learning style. I prefer learning stuff while using it. If you're the kind of person that need to fully dive into a single thing and really understand it, try learning C# first. If you're the kind of person that learns best when you see visible results, learn it as a part of learning Unity.

    3) Go through the tutorials in the Learn section. They walk you through making proper games, and give you the assets (textures, models, sounds, etc.) needed.
    Roll a Ball is the one intended for people with no prior knowledge of the engine. Start there.
    You can pick any of the other ones after that, but be aware that some of them are made for older versions of Unity - eg. the "Survival shooter tutorial", which means that some of the code and workflows are not the same. Be aware of that if you try to follow them, and check the attached upgrade guides.

    4) No idea! Depends on how fast you learn!
    I'd recommend first going through some of the tutorials. Then, create one or two really small projects. Finish them too! That'll make it a lot easier to get started.
     
    Schneider21 likes this.
  4. Myst7

    Myst7

    Joined:
    Jan 4, 2017
    Posts:
    4
    Thank you very much for putting the time to answer my questions Schneider21

    I indeed started with the "Roll a Ball" tutorial, but I felt like I was missing the basics of basics of Scriptings. Should I start with that or do you feel keep up on those easy game tutorials is the way to go ?

    This is exactly why I'm posting here, and this is what I meant by "Learning how to learn is more important". I want to have the right approach to this project, and plan ahead how I'm gonna learn, instead of jumping into learning and hope.

    For now, I can dedicate a few hours a day for the next incoming months. In terms of money, a few hundreds euros into the essential stuff if needed.

    This is absolutely not what I said. I said that I felt it was a little bit too complicated for what I wanted to achieve, which is the case. I wanted to be able to create a functional and good looking website, and although lot of people told me to start by learning html/css, I'm happy I didn't because I could perfectly achieve what I wanted by learning only Wordpress. I'm not saying those languages are not necessary, but they were not for what I wanted to achieve.
    Now, I do feel that learning that learning c# is necessary for making use of Unity, and I'm here to ask for the best way to approach it.
    I am dedicated to learn whatever is needed to achieve my goal, but I'm asking for guidance in order to maximize my learning curve :)
     
  5. Myst7

    Myst7

    Joined:
    Jan 4, 2017
    Posts:
    4
    Yes, I'm also the learn while doing type. I know that "purists" would say that it's best to learn all the theoretical basics first, but I'm happy to hear it's doable to learn while doing using Unity. My goal is not to become a master of programming, but to dedicate myself to learning programming basics and hopefully enjoy it to the point where I would have the tools to potentially work on a real game.

    Thanks :)
     
  6. JoeStrout

    JoeStrout

    Joined:
    Jan 14, 2011
    Posts:
    9,859
    I think you've been given good advice above. I just want to add that programming is a skill, like playing the violin. It's not something you either have or don't have, like a comfy chair. There is a huge spectrum between "able to hack together some working code for simple tasks" and being truly good at it, and you will continue to improve even after decades of daily study.

    Perhaps this is like language... 何年も日本語を勉強していますけど、まだ上手じゃないですよ。

    So, as others have said, you want to put your dream game aside for a while, start small, and do lots of projects. Your first "from scratch" project should be something on the scale of Doodle Jump or Flappy Bird, and even that will probably take you a month or more as you realize all the stuff you still need to learn. That's OK. Enjoy the journey!
     
    game_buddy likes this.
  7. Schneider21

    Schneider21

    Joined:
    Feb 6, 2014
    Posts:
    3,512
    It's a tough balance to find. On one hand, you want to make sure you're grasping the subject material. But on the other, development is one of those things I think you have to just do before you fully understand it, if that makes sense. As long as you have a general idea of why you're doing something when you're following along with a tutorial, and you're not afraid to tinker and break things to see how they work, you're fine to move on, I'd say.

    Understandable. But I still believe there's no such thing as bad learning. Even if you watch some tutorial that teaches things the "wrong" way, you're still making progress. I continuously identify bad habits and practices as I grow as a developer, and have no problem changing the way I do things going forward.

    This is perfect. Stick with it! Spend those hours each day, consistently! And don't push yourself so much that you burn out, either. Consistency is more important than sheer volume of hours.

    My misunderstanding. Pardonne-moi! I might still argue that understanding HTML and CSS would only benefit your ability to create and maintain a WordPress site, including customizing the theme to suit your every need, but that's a discussion for another time. ;)
     
    JoeStrout likes this.
  8. Myst7

    Myst7

    Joined:
    Jan 4, 2017
    Posts:
    4
    Yes, I understand. I will dedicate my next few months into learning the basics.

    Good luck with japanese, this takes years of dedication to learn. Be careful not to mix the different degrees of politeness. Your sentence should be

    何年も日本語を勉強していますけど、まだ上手ではありません。

    I'd be happy to help if you have any question about japanese language in return :)
     
    JoeStrout likes this.
  9. Ryeath

    Ryeath

    Joined:
    Dec 4, 2016
    Posts:
    265
    I just wanted to add that you are not too old to learn at 29. Many people start entirely new careers in their 50's. I just started myself about a month ago and I'm 52. If you start now by the time your reach my age you'll be a 20 year veteran.

    Good luck and have fun with it.
     
  10. Kiwasi

    Kiwasi

    Joined:
    Dec 5, 2013
    Posts:
    16,860
    Is that an actual saying the French use? Because if so I need it for my signature.
     
  11. Schneider21

    Schneider21

    Joined:
    Feb 6, 2014
    Posts:
    3,512
    I first heard it (in English) on The Sopranos. :p Just translated it to French to make that welcome mat as bright as possible.
     
  12. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    21,183
    It's only a partial quote. At least according to Google Images.

    cicero.jpg
     
  13. Kiwasi

    Kiwasi

    Joined:
    Dec 5, 2013
    Posts:
    16,860
    Yeah, I found the Cicero quote on google. Can't seem to find the original Latin anywhere though :(
     
  14. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    21,183
    Some links are available at the bottom of the Wikipedia page concerning his works. That's a lot to sort through though. :p

    https://en.wikipedia.org/wiki/Writings_of_Cicero
     
  15. Kiwasi

    Kiwasi

    Joined:
    Dec 5, 2013
    Posts:
    16,860
    I don't want to put that much work into a signature :p

    The French will be suitably mysterious.
     
    Schneider21 likes this.