Search Unity

i'm afraid i'll never get the hang of programming

Discussion in 'General Discussion' started by isanvel, Aug 2, 2019.

  1. Billy4184

    Billy4184

    Joined:
    Jul 7, 2014
    Posts:
    6,023
    Actually I think videos are great for a beginner. In the beginning, the only thing that is necessary is for the person to write code and see a cool result, and before that happens, there is the risk of motivation running out, and habits not being formed.

    Videos can be like those rpg games where you meet some sage somewhere that tells you to go and do something. Sure, you can go and do it anyway, but it's much more motivating to have someone come along and give you a good feeling about it, and give you some clear steps to follow.

    I think a lot of programmers think about learning out of the context of a beginner. Now, videos are generally annoying to me and I want to see clear, concise text, preferably in code format. I don't need motivation and I know how to get what I want from the code. That's not really the case for beginners though.
     
    Antypodish likes this.
  2. Antypodish

    Antypodish

    Joined:
    Apr 29, 2014
    Posts:
    10,776
    If you got genetically defect of hearing, or simply specific mutation, you won't be able reproduce same quality of sound, as other person do. May be better, or may be worse. That is only one thing, where genes may play significant part, in certain skills development. If person hearing never existed, his / her perception of music will be completely different.
    But that not stops fortunately from game dev.

    Consider your fingers and haptic feedback. Imagine is nothing to do with that. So technically you can't use fingers either. These are such complex devices. Same as keyboard is designed so you can feel and hear strokes, to get feedback. And same for any touch screen and joy pads devices with vibration and sounds, as feedback output response. We just take this things for granted, without realizing. :)
     
  3. Antypodish

    Antypodish

    Joined:
    Apr 29, 2014
    Posts:
    10,776
    Not only that. Videos, sounds collected and written data, are crucial part of engineering world. This way process of learning and problem solving is much faster.
     
  4. Billy4184

    Billy4184

    Joined:
    Jul 7, 2014
    Posts:
    6,023
    Personally, I favor videos for anything that I don't have a background in. If I have the background, unless the person making the video is specifically targeting it at my skill level or above (which is hardly the case for tutorial videos these days, because the creators know the biggest audience is beginners), then it gets tedious and it's annoying to be skipping around trying to track down some piece of information.

    In short, videos are great when you can't afford to miss anything in them, and especially when the biggest priority is to do something without worrying about why.
     
    frosted, Kiwasi and Antypodish like this.
  5. Owen-Reynolds

    Owen-Reynolds

    Joined:
    Feb 15, 2012
    Posts:
    1,998
    Anyone can get a pretty thorough description of Learning Styles from a Search. Just those 2 words are good enough to get the best results. But it sounds like we agree they're wrong -- that the previous poster who claimed some people learn better from video tutorials was using wrong science. There aren't any tutorials that we're "colorblind" to how good they are, since we don't have a visual learning style.

    As far as preferences, that's assuming things are nearly equal. I'm saying video tutorials are extremely low content. They often have 1 example, not chosen very well, without much theory or explanation. But if you find the audio version of a decent textbook, sure, preferring that is perfectly reasonable.
     
  6. Owen-Reynolds

    Owen-Reynolds

    Joined:
    Feb 15, 2012
    Posts:
    1,998
    That's what's known as a "Survey" video. It's meant to show you what's possible, give an overview, provide general motivation and so on. It gives a survey of the areas. The same idea as the survey class where a professor from each discipline gives a pitch for their area with a cool lab demo. It doesn't teach anything, since that's not the point and it's a bad format for teaching.

    Then if you decide programming is interesting, read a book. There's also a long tradition of programmers on simple boxes getting excited just making the lights flash in a certain way, or printing the correct answer or ASCII art. Having to add the extra stuff to make code do 3D stuff is often a boring job, it what you really you want to do is learn programming.

    The thing is, even little kids can get interested in things that don't seem very exciting. A normal adult, once motivated to learn something, doesn't require constant reinforcement.
     
  7. Billy4184

    Billy4184

    Joined:
    Jul 7, 2014
    Posts:
    6,023
    Not exactly, I'm thinking more of an instructional video. Like "do A, B and C and you'll get D" with a little bit of context provided. That's the best way to start imo.

    As long as you're writing code, then sure, getting your instructions from a book is fine. I mean, I think videos are good for this but as long as the text is giving you actionable steps, it's just a matter of preference.

    But don't read theory when you're starting off. I think that's a good way to drown interest and motivation especially when your goal is to utilize what you've learned, rather than just learning just because you like absorbing knowledge.

    I think the key is the difference between the practice and the goal. Remember games seem exciting to make for many people who are not at all motivated to program. So I would say that once an adult is substantially motivated to learn a skill specifically for that skill (which is usually a function of past success) then sure. But before that, it may be very hard to motivate oneself to learn necessary skills even when one is motivated to reach a goal. The same thing goes for programmers making art, who envision some complicated and beautiful world of stuff but aren't really motivated to learn to be an artist (hence attempts to program it out of nothing!).
     
  8. AndersMalmgren

    AndersMalmgren

    Joined:
    Aug 31, 2014
    Posts:
    5,358
    Haha, true :) and a crappy written game can be a success. Though it's hard to scale a crappy written game.
     
  9. AndersMalmgren

    AndersMalmgren

    Joined:
    Aug 31, 2014
    Posts:
    5,358
    I always prefer text to video, much easier to scroll a text for relevant info than a video.
     
  10. SamohtVII

    SamohtVII

    Joined:
    Jun 30, 2014
    Posts:
    370
    I must admit, I am a front end developer of 5 years and you wouldn't believe the basic S*** I have to google on a daily basis. You don't really learn everything you just learn how to understand it. Once you've got that there's no shame in googling and stack overflowing.
     
  11. Deleted User

    Deleted User

    Guest

    Googling is a professional skill. When I'm doing consulting/contract work I joke that I'm getting paid to google, but I'm not joking.
     
    OCASM, xVergilx, Ryiah and 3 others like this.
  12. Oldie, but goldie:

    - Why should I hire a Software Engineer when I can just copy code from the StackOverflow?
    - Well, it does still worth it, breaks down to this:

    - Copying code from StackOverflow: $2
    - Knowing which code should be copied: $100,000+/year.

    (Obviously it's a joke, shouldn't copy code from StackOverflow)
     
    xVergilx, Kiwasi, Ryiah and 4 others like this.
  13. Martin_H

    Martin_H

    Joined:
    Jul 11, 2015
    Posts:
    4,436
    I recommend reading "Peak", if you want science on learning.

    Every working composer will tell you that the skills of composers are at an all time low and today "all you need to score a movie is a pulse" (slight exaggeration, but not by much). Both environment and formal education systems no longer create people of a calibre that will be remembered in 200 years. We seriously F***ed up on that front.
     
  14. Antypodish

    Antypodish

    Joined:
    Apr 29, 2014
    Posts:
    10,776
    Technically, we could also say same about programming, and 2D/3D artists and ...
    We just got more better tools in hand. We can do cooler stuff, without worrying about low lever details, I would say.
     
  15. Martin_H

    Martin_H

    Joined:
    Jul 11, 2015
    Posts:
    4,436
    No, not remotely to the same degree. What is the last movie theme that you could sing/hum the melody of, that wasn't composed by John Williams?
     
    frosted likes this.
  16. Antypodish

    Antypodish

    Joined:
    Apr 29, 2014
    Posts:
    10,776
    You got the point. But because John Williams used same theme of music across multiple films. Is a bit chap move I would call it. Even tho music fits well to such.

    I can humming some of Hans Zimmer and Steve Jablonsky scores. But I am also fan of films, where their composed for.
    Where on other hand, I am not that fan of Star Wars. Is just been fed so much on every advert for years. Hard not to be familiar with :)
     
    Martin_H likes this.
  17. AndersMalmgren

    AndersMalmgren

    Joined:
    Aug 31, 2014
    Posts:
    5,358
    This thread brings back memories from the code license thread :D
     
  18. angrypenguin

    angrypenguin

    Joined:
    Dec 29, 2011
    Posts:
    15,620
    And you can do Ctrl-F on text, then hit pause and take as long as you need to examine and absorb what you want.
     
    AndersMalmgren likes this.
  19. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    I got the hang as a child without books or anything, it was hard to stop me from experimenting. Then I got a couple of beat up computer magazines, and back then there were listings you could type in, and I rapidly just taught myself. The key here is that tutorials aren't really teaching you anything IMHO.

    What you need is a GOAL. Something that keeps the fire burning. Your brain is easily competent enough to wire up what will get you to that goal. What you need to do is pick something like a simple version of space invaders. Have 1 alien move left and right, then have it shoot.

    Stuff like that will force you to quickly understand how to do that, how to manipulate numbers for a result. Things like that, the true basics, are all you need. Once you understand those simple things you realise that's the same for a blockbuster 3D title, just drawn differently, and more of it.
     
  20. AndersMalmgren

    AndersMalmgren

    Joined:
    Aug 31, 2014
    Posts:
    5,358
    Yepp, only benefits. Video docs are for the new generation :D
     
    Ony likes this.
  21. angrypenguin

    angrypenguin

    Joined:
    Dec 29, 2011
    Posts:
    15,620
    Yeah, if you look at how teaching works at schools or universities, the "tutorials" are only one part of an overall learning strategy. There's also time dedicated to theory, and there's often time dedicated to self-driven learning. The teacher-led activities ("tutorials") are only one component, and they're usually where the theory which you've previously covered gets made more concrete through initial practical application.

    Most internet tutorials I've seen are just the "how to" component of what would normally be a larger learning program, with maybe a bit of theory sprinkled in there so that it can make sense. For some stuff that's fine, but I wouldn't want to learn a theory heavy topic like programming from that alone.
     
    Ryiah, hippocoder and Antypodish like this.
  22. AndersMalmgren

    AndersMalmgren

    Joined:
    Aug 31, 2014
    Posts:
    5,358
    I made sure never to miss a class, I learnt much quicker when the professor was deriving mathematical expressions and similar.
     
  23. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    For self-motivated individuals, I think it totally matters to have a goal, as frankly making games in Unity is so easy that anyone could pick it up. There's this stigma that people think programming is only for the smartest people, when really, programming is like anything else, can be simple or as complex as one wants to go.

    People also think "how long will it take to learn..." which of course is how you immediately fail since there is no cap on this.
     
  24. frosted

    frosted

    Joined:
    Jan 17, 2014
    Posts:
    4,044
    It really sucks that video guides are pretty much the new standard for content.

    I gotta set the talkspeed to like 1.75 and skip around for a minute just to maybe, hopefully, find the 2seconds where the guy actually has the code on screen ... then I realize he's a moron and need to find the next link.
     
    hippocoder, xVergilx, Ony and 4 others like this.
  25. deliquescator

    deliquescator

    Joined:
    Apr 30, 2016
    Posts:
    57
    I agree.
    The problem is that a lot of people struggle to stay on track and follow through with a successful project right till the end.
    Most folks just get 10 ideas do 5 different prototypes and they never get anywhere because they can't stick with one idea and work on it until the end.

    What people fail to understand is that it isn't particularly difficult to make a game, but to finish it and stick with a project and work on it for hours even when you feel like you sometimes cannot be bothered, is what this is about. If you can stay super motivated throughout the whole process that's great.
    But for most, it's a struggle and requires a lot of self management, which is the real reason why this is difficult.
    And when you combine that with the fact that you have to learn many new concepts and skills as you go along, it takes it that extra bit further.

    To sum up with a motivational message, it's going to be difficult and it will not always feel great, heck it will feel miserable at times but if it didn't, everyone would do it.
    And that's what makes it special and rewarding! :D
     
    Martin_H likes this.
  26. Owen-Reynolds

    Owen-Reynolds

    Joined:
    Feb 15, 2012
    Posts:
    1,998
    Ah...following steps is still in the fun motivational stage -- you "wrote" this cool program, since instead of cutting and pasting, you hand-typed it by watching a video. That's not computer programming -- you haven't actually done or learned anything. Look at some of the Q's (Unity Answers has lots) where someone grabbed some code but doesn't know how to modify it the way they need. That's when you decide to learn programming, and realize you need some theory, so you can know what they were thinking when they wrote it.
     
  27. Billy4184

    Billy4184

    Joined:
    Jul 7, 2014
    Posts:
    6,023
    It depends on whether someone wants to learn. Even when I was a beginner with Unity, if you gave me some code as a starting point, with a bit of experimentation and looking up the manual I could figure it out. Learning by yourself is a skill of course (mainly one of patience and diligence), and not one that I first developed with programming.

    I'm not saying videos are good to teach you everything, or are good for theory. They are simply good for motivating you to follow a few steps and get some code working, which is a necessary first step. The brain is a pattern-identifying machine that is very good at what it does as long as it is not overwhelmed and is exposed to constant practice. Which is why people can become fluent in a foreign language without any education at all, as long as they live in a place where they are required to use it. If you don't give your brain this chance to do its natural work (which teachers are often averse to) your biggest asset and resource will be wasted.

    Supplementing this with theory is ideal, and I agree that theory is best presented in a format where each part is easily navigated to, such as a manual. The best thing Unity did was make pretty decent documentation, along with the ability to open the exact right part of the online manual by highlighting a syntax and hitting a keyboard shortcut (I think this disappeared along with monodevelop). But I used that a LOT at the start.
     
  28. angrypenguin

    angrypenguin

    Joined:
    Dec 29, 2011
    Posts:
    15,620
    Indeed. And it's harder while you're learning, because you think your goal should be easy, but early on you just keep finding reason after reason that it's harder than you think.

    I definitely agree that goals are important, but I think it's important to stipulate that they should be achievable goals. A formal education sets a bunch of short term goals for you along the way (write a statement, write a for loop, write a function, write an algorithm, write a small program...), and those goals are picked by people who are theoretically good at setting goals which help people learn the relevant skills.

    People setting their own goals tend to jump straight to things like "make specific game", which is a fine mid-term goal if the game is small enough. However, they don't know what short term learning goals would help them along the way*, and that's a real stumbling block.

    @isanvel, do you want to learn programming for the sake of programming, or is it just that you want to make games and this is required to do that? I've said this many times... programming is its own set of skills and knowledge which should get its own dedicated study. Game programming is a specialisation of that, as opposed to a subset, so I strongly recommend that people learn the fundamentals of programming before specifically trying to use those to make a game.

    With that in mind, I keep recommending The Yellow Book to people. It's not game specific, but neither are programming skills. That said, once you understand the fundamentals of programming then games are just a type of software you can make with it, and Unity is just an environment where you can program stuff with your code.

    * Because they're in the first or maybe second stage of competence. They're aware there's a knowledge gap, but they probably can't articulate what is needed to fill that gap.
     
  29. Owen-Reynolds

    Owen-Reynolds

    Joined:
    Feb 15, 2012
    Posts:
    1,998
    I hope I'm fairly getting the gist here:

    So no books or videos to learn ... you're telling the OP to look at more projects and self-learn? That's certainly not a repeat of any other advice here.

    When Unity started, that was what they did -- made a sample project for people to look over. I remember the Robots one (a top-down shooter with a maze). But that's generally for someone who already knows it. If you know arrays, you can see how they used one to store the lasers; but it's going to be real hard if you've never seen an array, or a loop, and so on.
     
  30. Owen-Reynolds

    Owen-Reynolds

    Joined:
    Feb 15, 2012
    Posts:
    1,998
    Pretty sure that's the book UnityCo recommended way back. It was in the Education Forum area under the list-of-resources thread. I recognized University of Hull. The post is gone now, replaced by one pointing to Unity resources. When I looked at the book, first few chapters, a few years ago, it was average. Described the bare rules, but missing examples showing the techniques, the same as most other modern textbooks.
     
  31. Billy4184

    Billy4184

    Joined:
    Jul 7, 2014
    Posts:
    6,023
    I think you misunderstood.

    Videos: very good for starting out, procedural learning, motivation.

    Books: OK for starting out, not so good for motivation, can be hard to separate action from theory unless book is well designed. Very good for theory/advanced learning.

    Experimentation: required, all the time.

    My recommendation for fun and consistent learning:

    - Start off with videos, follow everything and get something working.
    - After that, go through each part, read the documentation on key syntax, and experiment with different values to make cool/weird things happen.
    - Repeat until competent.

    It's really as simple as that. Unless not knowing how to reverse a linked list keeps you up at night, that's all you need imo.

    Now that's not to say that structured courses and advanced theory (which is best presented in text form imo) is not useful, but it's really only necessary when its necessary. Courses are great for starting a career, and advanced theory is great for specific advanced problems. The key point is that for the goal-driven approach (i.e. I want to make a game of type X) you can easily bootstrap yourself into having more than enough competence to get it done.
     
  32. Antypodish

    Antypodish

    Joined:
    Apr 29, 2014
    Posts:
    10,776
    It is impossible to cover everything in books, theory, or videos.
    Learning programming process, is to look up for solutions, what you try and what you see. Then look up for key words.
    I remember seeing for the first time List in some script example. Then just typed in the internet, how list works.
    Tons of examples and explanations.
    Then have seen talks about GetComponents. Repeat search process for finding more about it.
    Then interfaces. Etc etc.

    Want some solutions. Looking for samples. Try, test, experiment and play.

    Then repeating process of seeking for answers.

    That what @Billy4184 referring to most likely.
     
    deliquescator and Billy4184 like this.
  33. angrypenguin

    angrypenguin

    Joined:
    Dec 29, 2011
    Posts:
    15,620
    I think the key there is that it's a textbook. It's the written theory part of a larger educational program. Skimming the book again now, I agree it could use more examples. In the context it was written for those examples would probably be delivered in the classroom.

    The main reasons I continue to recommend it is that it's free, covers the fundamentals of programming from first principles, and doesn't jump to anything game specific.

    Plenty of people find programming tricky on its own. Trying to learn that mixed in with all of the other stuff that goes into game development can't be particularly helpful for a beginner. To clarify, I'm not saying you can't learn both at once. Just that while you're learning both I see a lot of value of giving each its own dedicated time.
     
  34. Billy4184

    Billy4184

    Joined:
    Jul 7, 2014
    Posts:
    6,023
    On the other hand, game development provides a 'physical' reality in which programming logic operates, which can make it easier to learn for people who struggle with dealing directly with abstractions, or find it very boring to do so.
     
  35. Antypodish

    Antypodish

    Joined:
    Apr 29, 2014
    Posts:
    10,776
    Maybe a bit diverting from Unity, but for someone who is completely beginning in programming and not yet familiar with basics as loops, I would probably recommend fun and practical way of learning.

    For example using scratch. Young people learn much faster this way, than trying digest wall of text from books. It has proved way to get good background, how logic works between different parts of program. Then jumping on typed in programming is much easier. It is just additional learning tool, which wasn't available few decades ago.
    https://scratch.mit.edu/ideas
     
    Deleted User likes this.
  36. iamthwee

    iamthwee

    Joined:
    Nov 27, 2015
    Posts:
    2,149
    I honestly don't get async programming, I can look at this all day long and it is still like wtf?

    https://alligator.io/js/async-functions/

    and



    I wish nodejs seemed clearer. Fortunately, it isn't actually 'threaded' like c++ or c, but even so... really confusing.
     
  37. BIGTIMEMASTER

    BIGTIMEMASTER

    Joined:
    Jun 1, 2017
    Posts:
    5,181
    Persistence wins every time.
     
    angrypenguin likes this.
  38. iamthwee

    iamthwee

    Joined:
    Nov 27, 2015
    Posts:
    2,149
    oh gawd and state management with flutter? Why so complicated?

     
  39. angrypenguin

    angrypenguin

    Joined:
    Dec 29, 2011
    Posts:
    15,620
    It can make it easier to get visual stuff happening, sure, but it's adding a bunch of stuff between them and the fundamentals they're attempting to learn.

    I'm not saying it can't work, just that if the focus is on the programming part then it's not the straightest path.

    As a concrete example...

    This example is from The Yellow Book. To fully understand the following line there's relatively few things you need to know:
    Code (csharp):
    1. glassArea = 2 * ( width * height ) ;
    The example it comes from is mostly self contained (it uses the Console, but that's pretty much it) with minimal external dependency, so almost everything you need to understand in that example is right there above that line.

    On the flip side, there's actually a heck of a lot you need to know before you can fully understand even a trivial (looking) example from Unity:
    Code (csharp):
    1. transform.position += new Vector3(0, 1, 0);
    The example code in this case might even be shorter overall, but what is "transform" and "position" and where do they come from? What does "." mean? What is "Vector3"? What do (0, 1, 0) mean? What is "new"? The X, Y and Z components are assumed knowledge there, but not explicitly mentioned. None of that even scratches the surface of why this causes an on-screen change (assuming your scene is set up correctly, a whole other can of worms!), and if this is the first example we've jumped the gun on important fundamentals like "what is a variable?"
     
    Last edited: Aug 7, 2019
    Kiwasi and Billy4184 like this.
  40. iamthwee

    iamthwee

    Joined:
    Nov 27, 2015
    Posts:
    2,149
    if google think flutter and dart is gonna take off for web they got another thing coming imo

     
  41. AndersMalmgren

    AndersMalmgren

    Joined:
    Aug 31, 2014
    Posts:
    5,358
    Its really easy actually. Async programing is just none blocking operations. Classic methods are blocking, a long running operation will block the calling thread until it completes. While a async operation will not block and you can continue working. Before tasks an async operation would look something like this in C#

    Code (CSharp):
    1. client.SendCompleted += sendCompleted;
    2. client.SendAsync(message);
    You listen to the send completed event. And then you the non blocking SendAsync method. When the message have been sent sendCompleted will trigger and you can act on that. In .NET 4.0 they introduced tasks and compiler support for async programming, so above would translate to.

    Code (CSharp):
    1. var result = await client.SendAsync(message);
    For the await keyword to work you need to declare the method body as async.

    Code (CSharp):
    1. private async Task SendMessageAsync()
    2. {
    3.    var result = await client.SendAsync(message);
    4.    //act on result
    5. }
    Unity didnt support Tasks until lately, their solution before that was Coroutines. They used the IEnumerator compiler support introduced in .NET 3.5.

    Code (CSharp):
    1. private IEnumerator SendMessage()
    2. {
    3.    var result = client.SendAsync(message);
    4.    yield return result;
    5.    //act on result
    6. }
     
    Ryiah, frosted and iamthwee like this.
  42. iamthwee

    iamthwee

    Joined:
    Nov 27, 2015
    Posts:
    2,149
    Nice man, trying to get it to work in nodejs with async db calls and file read/write
     
  43. Owen-Reynolds

    Owen-Reynolds

    Joined:
    Feb 15, 2012
    Posts:
    1,998
    Why do you think that? How is watching someone change slowly type a program teaching anything? I'm sure you'd like video tutorials to be good, but try to find one that is .. I can't.

    How is a video tutorial motivating someone to learn the details of coding? What might be good is a video of gameplay showing a monster avoiding rocks, followed by a quick shot of the 20 lines using raycast that do it. But if won't help for part II to be someone typing it while they read parts of the manual.
     
  44. Martin_H

    Martin_H

    Joined:
    Jul 11, 2015
    Posts:
    4,436
    Overall I prefer text too, but as an absolute beginner's lesson/overview, I found this video very helpful:



    Don't think a text could have done the same thing for me.
     
    Antypodish and Ryiah like this.
  45. Antypodish

    Antypodish

    Joined:
    Apr 29, 2014
    Posts:
    10,776
    Visuals are such important elements, of daily learning process. It gives constant feedback.
    This is important, specially when teaching young people, but not only. Personally I know kid, which was able to recognize certain letters of alphabet on billboards, before wes even able speak simple sentences. And that thanks to visuals, sound and touch feedback, using Leapfrog device. That is relatively something complex, without any boring school theory. Yet thought with almost 0 effort. Fun way.

    Here is simple gif, with single paragraph explanation of flood algorithm, conveying so much information in less than a minute.

    Superior visualizing method, over any text book will ever be able to do.


    https://en.wikipedia.org/wiki/A*_search_algorithm

    From that point, we can dive in into implementation, or theory, if given example, is not sufficient for understanding.
    But principles are already learnt and recognizable.
     
    Martin_H likes this.
  46. Billy4184

    Billy4184

    Joined:
    Jul 7, 2014
    Posts:
    6,023
    The Unity Learn tutorials for the 2D space shooter were great, those are the ones I remember the best.

    You don't read the manual while you're typing it, you read the manual afterward. That's the whole point. You act out the steps required for a successful result, and only afterward, when your motivation is high, you read the manual and other such things, combined with experimentation.

    Obviously a video can be bad, a gameplay video followed by a nanosecond screenshot of code is not going to be of any use to anyone.

    Another important thing that videos are good for is showing you some basic things you'll be repeating often but which would be tedious to spell out every time, and which would be annoying to have to backtrack and find if they are only spelled out the first time in a text. Especially editor navigation, menus etc.
     
  47. angrypenguin

    angrypenguin

    Joined:
    Dec 29, 2011
    Posts:
    15,620
    That'd be a badly designed video. While I'm not into tutorial videos at all myself I still see how they definitely could have value.

    The raycast, for example, is a piece of complex (to most people) math which can indeed be represented visually quite well. When debugging raycasts I often throw in a quick visual representation so that I can see whether or not they're doing what I expect. Using a similar visual representation to explain what raycasts are and how they work in a video makes a lot of sense. You can do things like alter the values being passed in and show how that changes what the cast does. Many people would find that really useful.

    On the flip side, using a video to show the code without using any visual representation of the underlying principles or knowledge is, at best, a waste of the medium. It's a "worst of both worlds" thing - it's presenting text in a poor way while failing to use the strengths of the medium.

    The point is that it's not "video" which is a problem, it's people not understanding how to teach. Given the option I'd still rather a good manual over a video, but for learning conceptual stuff both of them can get the job done quite well.
     
    Martin_H, Antypodish and Billy4184 like this.
  48. I usually (!) like Sebastian Lague's video tutorials for example. https://www.youtube.com/user/Cercopithecan/videos
    Reasons are: he usually covers non-trivial problems or experimentation, he starts with a summary, then he explains the problem and the method he chose to break down the problem (with visual aid, like drawing, animation whatnot), and then he goes through the steps how he did it with explanation why he chose what and where to achieve the thing.
    Again, with visual aids, which sometimes can be lacking in text (although sometimes it can be decent if you're willing to put anim gifs in your tutorials or mini, interactive apps like Amit Patel does https://www.redblobgames.com/).

    (also I am biased, I learn easier when I hear someone explaining the problem and some guidance how to solve it, I am much slower when I have to read through a wall of text, it applies both English and Hungarian, my first language, as well)
     
    Last edited by a moderator: Aug 8, 2019
    Antypodish likes this.
  49. Owen-Reynolds

    Owen-Reynolds

    Joined:
    Feb 15, 2012
    Posts:
    1,998
    Those are good examples of my point. The A* video would be better as a few pictures. You could choose only the interesting ones. That would let you add labels explaining the equation at several points with the arrows making it. One set could focus on a single step of the iteration. That's how books do it.

    The Neural Net video is mostly extra stuff. At the start, just say "there are lots of ways to write a 3 with a pencil, and 8's can look like 3's". Through-out there's lots of motion not showing anything - just moving to avoid a still image. All of those lines between layers constantly shimmering. Old AI textbooks showed how they worked in a few pictures. Strangely, I remember the book pictures as _better_. They showed each layer from an angle, so you saw they were 2D, and how each node might examine the 5x5 area below it.

    A video showing examples of raycasting might be fine, but it's a game concept. The OP is trying to learn the programming to use it. For raycasts that's parameters, overloads, return-by-ref, and so on. Likewise the previous two are concepts, not coding. I'm sure Sebastian Lague's videos are fine, but they assume that once you understand the idea and see some pseudo-code, you can program them yourself, right?

    I'm saying there are no good video tutorials to learn basic programming. If the nearest good videos you can find are that far away, you're pretty much agreeing with me.
     
    Martin_H likes this.
  50. iamthwee

    iamthwee

    Joined:
    Nov 27, 2015
    Posts:
    2,149