Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. We have updated the language to the Editor Terms based on feedback from our employees and community. Learn more.
    Dismiss Notice
  3. Join us on November 16th, 2023, between 1 pm and 9 pm CET for Ask the Experts Online on Discord and on Unity Discussions.
    Dismiss Notice

Learning C# And Advanced Unity 3D Dev Through Online Courses?

Discussion in 'General Discussion' started by PjTheIndieDev, May 5, 2017.

  1. PjTheIndieDev

    PjTheIndieDev

    Joined:
    May 5, 2017
    Posts:
    17
    Hello,

    My name is Pj Mischuk. I've recently decided to take on a huge project with only the basics under my belt. I am planning to create a complete medieval world as a hobby and I was wondering if anyone knew the best courses online to learn everything inside and out when it comes to C# programming within Unity 3D. Perhaps some courses on Udemy can allow me to learn C# inside and out within Unity 3D.

    My goal is to program a game with advanced or beyond advanced features. Would I need to program C# outside of Unity? For example, I am going to create real life NPCS with daily tasks, first-person battles with catapults and hundred thousand NPCS attacking a castle being defended by roughly hundred thousand NPCS with realistic accuracy. Can anyone help me equip the knowledge I would need to tackle this project?
     
  2. schmosef

    schmosef

    Joined:
    Mar 6, 2012
    Posts:
    851
    For Unity, I like the Udemy courses by Ben Tristem: https://www.udemy.com/user/bentristem/.

    His comprehensive Unity course is very popular: https://www.udemy.com/unitycourse/.

    I like how Ben organizes his content and I like how he regularly assigns "homework" to make you practice the theory and techniques covered in each section. He always reviews in detail the possible solutions to each assignment.

    The thing about Udemy is that the courses are kind of expensive but they regularly (every few weeks) go on sale. Just create an account and wishlist the courses you like. Pretty soon you'll get an email telling you about a sale they are running.

    Good luck with your project.
     
    Last edited: May 8, 2017
    Ryiah likes this.
  3. CptDustmite

    CptDustmite

    Joined:
    Jun 17, 2014
    Posts:
    61
    I don't think you realise just how massive what you described is.

    If you learn Unity for another week I'm pretty sure you'll realise how big your scope is and reduce it by 100x. Then you'll learn Unity for another week and reduce it by another 100x, and so on.

    Dunning-Kruger effect.

    Just focus on learning Unity for a few months and then re-think your scope. I think you'll find it quite different to what you've just described.
     
  4. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    20,150
    Just going to throw this out there to allow for a sense of scope. Dwarf Fortress is similarly an attempt to create a complete fantasy game world. It has been in development now for over ten years and the author has gone on record as stating that it will likely take at least another ten.

    Tarn Adams had prior experience with game development too. Realistically let's add a few more years for someone new.

    http://www.bay12games.com/dwarves/

    You're going to need more than simply knowledge. You're going to need experience. Once you've learned the basics I highly recommend you create a simple game followed by several progressively more complex games before you dive head first into a massive undertaking that will easily take a quarter of a century to build.

    By the way to add to what @schmosef listed I recommend checking out the official tutorials too.

    https://unity3d.com/learn/tutorials
     
    Last edited: May 8, 2017
    schmosef and Socrates like this.
  5. PjTheIndieDev

    PjTheIndieDev

    Joined:
    May 5, 2017
    Posts:
    17
    Thank you, I've picked up some learning resources. Great courses!

    I realize how massive the scope of my game is. I don't want to shy away from creating it either. If people love the idea and would want to play it. I'm sure more people would come on board.
    I am already familiar with the basics, I'm looking for the next step to allow me to code with master knowledge of C# Unity 3D.

    Thank you for all your replies, everyone!
     
  6. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    20,150
    First answer of the following Stack Exchange question sums it up nicely.

    https://softwareengineering.stackex...ow-can-i-really-master-a-programming-language

    The article "Teach Yourself Programming in Ten Years" is pretty spot on too.

    http://norvig.com/21-days.html

    Becoming a master of programming - let alone a master of anything - is a very involved process if it can be achieved at all.

    You essentially need to grok the language. Grok is a jargon term that was coined in the early 60s which means to become so familiar with something that it becomes a part of you. It isn't a process that can be achieved by simply learning it. It requires extensive experience with it.

    http://catb.org/jargon/html/G/grok.html

    After having spent over twenty years programming I can say with confidence I am nowhere near mastering any of it.
     
    Last edited: May 9, 2017
    Socrates likes this.
  7. mysticfall

    mysticfall

    Joined:
    Aug 9, 2016
    Posts:
    649
    Actually, I'm also trying to do something similar as your plan, but even though it took me only an hour to acquire working knowledge of C#, I still expect to spend the next 10 years before I can complete the work. So, I'd suggest you to start small, and do a lot of little experiments until you get accustomed to core concepts of the language and the platform.

    And it might be a good idea to spend some time and money on Asset Store too, because there are a lot of high quality items which will potentially save you tremendous development time, if you know what you need.
     
  8. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    20,150
    Is that as a hobbyist? Or a full time developer? One thing I neglected to mention about Tarn Adams earlier is that he isn't working on his game as a hobby. He's doing it as a full time developer (he became full time a couple years after starting).
     
  9. mysticfall

    mysticfall

    Joined:
    Aug 9, 2016
    Posts:
    649
    I'm a hobbyist, at least for now. Only recently, I've found that creating video games is what I really want to do with my life, but I have quite a demanding full time job and I'm already over 40.

    I only wish I could work on my gaming project full time... well, maybe someday ;)
     
  10. schmosef

    schmosef

    Joined:
    Mar 6, 2012
    Posts:
    851
    @PjTheIndieDev, your game idea reminds me a little of this game.

    I don't know anything about the game. I think some videos for it came up on Reddit or my YouTube feed recently. I didn't actually watch them.

    Anyway, dealing with large numbers of agents is an interesting comp sci problem with many theories and possible approaches. You might want to see if the developers of UEBS have a blog or dev diary or if they've given a post-mortem talk to explain how they devised their solution.

    Good luck on your project. You've set yourself a big challenge.
     
  11. Mogitu

    Mogitu

    Joined:
    Nov 13, 2013
    Posts:
    40
    Ryiah was pretty much spot on actually in her earlier post.

    So with all due respect, but; you might understand the scope of your game but you do not seem to understand the scope of the work involved.
    A better idea might be to divide your game into much smaller, more manageable, features and build a small game around each of them. When you have that experience you can carry over this knowledge to your original plan. That way you can work on things you like whilst still starting small.

    I will however steer you into one possible option for your NPC's with daily tasks. Look into GOAP(goal orientated action planning).
     
    Samuel411 and Ryiah like this.
  12. Socrates

    Socrates

    Joined:
    Mar 29, 2011
    Posts:
    787
    If you want to learn, create small games. I have learned more from doing "game a week" or "game a month" size of small projects than I ever would have if I had just pointed myself at my "dream game" and started working. Those things that I have learned then serve me well in doing the next project better and faster.

    I have seen several post-mortem or during-development presentations on games where it was clear that the people creating the game had thrown away huge amounts of time and/or huge amounts of work because they were learning while doing. If you are learning through small projects, your scope and scale are more focused, the parts you have to throw away are smaller, and you (as they love to say) "fail faster".)

    This applies even to developers with prior experience. While I am no professional, I see that resonance in my learning as well; I studied programming in college and worked on a published game years ago, before going on to do something else to pay the rent.


    If you're looking for a decent video course with a bunch of smaller projects, I agree with one of the above posters about the Ben Tristem course located here. With patience, you can get it under $20 US. Just watch Udemy for a while and it will go on sale. Heck, I bought it on sale and then it went on to a slightly better sale a week later.
     
    Ryiah likes this.
  13. schmosef

    schmosef

    Joined:
    Mar 6, 2012
    Posts:
    851
    LOL! :D
     
  14. PjTheIndieDev

    PjTheIndieDev

    Joined:
    May 5, 2017
    Posts:
    17
    I bought the best Udemy Unity 3D design and coding courses for $15! I hope it begins to sharpen my skills. Thanks for all the help.
     
    schmosef likes this.