How to NOT learn game development.

Поделиться
HTML-код
  • Опубликовано: 25 ноя 2024

Комментарии • 52

  • @xananacs
    @xananacs 5 месяцев назад +19

    Hey! Very good advice. I do have some minor criticisms, not really directly about the advice itself (it's very good), but about some parts of the delivery.
    As a teacher: you *do* want to just copy at first, and telling people to try to "understand" right from the start is likely to be discouraging. Just like you can't "understand" the letters or words of a new human language or musical notes in the beginning. You just need to fill pages and pages of "mama ate the apple". One huge hurdle to get through when learning to code is being able to visually parse, and write, the esoteric and weird syntax.
    Learning follows a [ Copy -> Customize -> Create ] model. I prefer [ Copy -> Modify -> Remix ], but it sounds less nice; nonetheless, the principle is: you do need to mindlessly copy in the beginning. However, and that is important, *manually copy*, not copy paste. Actually writing out everything is paramount because coding, in the beginning, is almost all skill ("learn by doing").
    This is not at all to detract from the points in your video, which are all very valid. Just... As a second step. It's totally fine, and necessary, to just copy. You say at the end that you had a revelation and started trying to understand. That's great, but I bet you wouldn't have been able to without the preparation in copying code before.
    As another, smaller caveat, I also take contention with the usage of "totally" understand, this can also provoke some anxiety in the learner. Rather, I would recommend to understand "as much as you can", and move on with the bits you don't. All programmers operate with enormous gaps of knowledge, because computers are complicated. There isn't really a qualitative difference between not being sure how scons compiles Godot and what `move_and_slide()` does, just a difference in depth. The depth to which you can go increases over time, and where you choose to stop is arbitrary. Trying to understand "everything" is an unproductive rabbit hole and will send people tumbling into weird corners of the internet. The right frame of mind is similar to the concept of flow: do what's familiar, and push the boundary *a bit*. Every time, push the boundary a little more.
    So, to TLDR, I would recommend people *consider* trying to understand as early as possible, but it's fine to copy. And that people *try* to understand always as much as they can, but to not get hang up when they don't. It's very similar to the advice you give, but the difference is to consider the standpoint of absolute beginners and potential cognitive overload.
    Everything else is on-point, good video!

    • @kartopod
      @kartopod  5 месяцев назад +7

      Very valid points, thanks for the input xananax!

    • @Chareidos
      @Chareidos 5 месяцев назад +1

      I agree to this. Though I also had to learn to not rely on tutorials it was quite helpful to watch them ALL and to follow one or two through.
      The thing you need to understand is, that there is always a lot to still learn, but that is what I got into my head after comparison of different 3rd Person Controller videos. There was always something different and some were more elaborate than others.
      Some tutorial playlist would take you by hand and bring you through several stages of game dev, that helped to get an overview and what to learn to do in "correct" order.
      I am now watching Battery Acid Dev exploring the many things you can do with a statemachine, where he is reflecting/reviewing on what he learned during his time playing around and making extra tutorials after he understood enough to actually teach some concepts that delivers results or help organizing/planing for a "more dynamic" animation-statemachine.

    • @alexc7075
      @alexc7075 4 месяца назад +2

      I'm replying to restate what @xananacs said and to add my own advice: write stuff down and use your choice of AI as a secondary teacher and last resort in some cases.
      Copying IS a good learning mechanism for beginners.
      There's no other way (that I can think of) that leads to quicker results. Starting to learn by.. idk, reading all the Unity C# documentation, for example, is a discouraging task and a huge detour.
      By following along a tutorial you get exposed to all the things a begginer game dev NEEDS to learn. Simple concepts, like how to move your player and make him die/respawn, how to setup camera follow, etc.
      By following along a number of tutorials, you get to see and use different ways of doing the same thing, which is exactly what you need when learning (though if you don't have at least a basic understanding of how programming works, a game making tutorial is not the place to start).
      But here is where I want to underline @kartopod's point about truly understanding what you're following along with.
      Sit down with a notebook of your choice (digital/paper), play the tutorial, write down code and take notes in as much or as little detail as you need, make drawings, use symbols, whatever. Stop when you don't understand what a setting does, what a line of code does, why it's written a certain way, so on.
      Stop and Google/ChatGPT it. Just go straight for GPT actually, in all seriousness. You give it a piece of code and it can give it back to you with detailed comments on every single line, it can break down any line of code you ask it to and explain every single syntax element, and how it's used in relation to the others, particularly or generally. You still don't quite get it? Ask it to simplify the explanation. Still unsure? Ask it to dumb it down some more and write down what you need to. It's incredible how much light it brings to the learning process.
      Only after you've watched the whole thing and explained to yourself WITH NOTES why they used this piece of code, why they chose that value for this variable, why this setting and not that, only then you start the "copying" (manually, as xananacs advises).
      You should now be able to reproduce what you've seen with a clear direction in mind and even come up with your own ideas. You get stuck somewhere, refer back to your notes, which are sure to be in a shape, form and language that you understand best, cause they're written by yourself.
      All of this makes copying tutorials make sense. Sure, you'll still run into some thins you just can't understand, maybe mathematical concepts, physics, who knows. That's when you use GPT as a last resort, or even just straight up copy paste code from tutorials. But having a background of intentful copying, active learning and understanding, you will have a much easier time with unknown concepts, debugging, organizing, etc.
      If you play a tutorial and pause-reproduce-play-repeat you'll forget most of it by next week and are left with not much. So, take notes and try to understand as much as you can before trying to reproduce.

    • @ovagamundo1715
      @ovagamundo1715 4 месяца назад +2

      A great addition to the video (and the video made great points as well). It´s similar to how I´ve learned how to draw by copying it at first and only once I got used to some basic patterns i was able to modify or even create my own drawings and after that learn other concepts more in depth. Great content and comment!

  • @LumiLunar
    @LumiLunar 3 месяца назад +4

    Followed my first Godot tutorial series and made a moving character, map with objects and collision boxes, learned how to make the character walk behind and in front of objects, and created an enemy with a basic health and combat system.
    I believe the tutorial was about 4 hours but it took me almost 10 days. About 30+ hours to finish it.
    Takes me about 7 times longer than the videos themselves to implement because I’m experimenting, debugging, and trying to figure out syntax to do other cool things while I’m testing.
    The most frustrating thing happened when I couldn’t figure out why a function wasn’t running. Took me four hours to figure out there weren’t any parenthesis after the function but Godot didn’t catch it.
    This isn’t easy but damn did I learn a lot. Love game dev because ir challenges me in new ways and makes me use skills I haven’t used in such a long time.

  • @extremegamer4422
    @extremegamer4422 2 месяца назад +1

    great work brother , thank you !!

  • @jmvr
    @jmvr 5 месяцев назад +5

    Really, what my solution to everything is:
    Step 1: get diagnosed with ADHD
    Step 2: take prescribed meds so I can actually focus on the things I want to do
    Step 3: profit

  • @jolty404
    @jolty404 3 месяца назад +2

    This channel is crazy. The content is pretty high up there in terms of quality compared to what I‘ve seen scattered around RUclips. How do you only have 1200 subs? Idk, but I’m gonna add 1 to that count. Not only is your content incredibly helpful, it‘s also super fun to watch which makes it much easier to stay focused. Keep it up ❤

  • @Antantic_
    @Antantic_ 5 месяцев назад +13

    I can relate so much to this video. Learning game development has been a real struggle for me too. I'm currently working on a minimalist 2D platformer and it's been tough. I've made countless mistakes, from blindly following tutorials to not knowing how to properly troubleshoot errors. It feels like every step forward is met with two steps back. What's the one piece of advice that really turned things around for you?
    Your video really hits home. I appreciate how you go through the common mistakes, like not googling the right way or just accepting solutions as-is. It's encouraging to see someone else go through the same struggles and come out the other side. Thanks for sharing your experience-it's really motivating!

    • @kartopod
      @kartopod  5 месяцев назад +2

      The biggest turning point for me was just the simple realization that I had been approaching learning incorrectly. I had done hundreds of hours of tutorials and courses up to that point, but not once did I even try to understand what was 'really' going on. This is not to knock on tutorials or online courses, I am extremely grateful for those as they were really helpful, but one thing they don't really teach you is the problem solving aspect of programming.
      In a course or a tutorial, what you see is the final polished code that has already been tried and tested to work by the creator. This is understandable, because the course would simply be too long if the creator dwells on every single tiny aspect. So a course might help introduce new concepts and show you new things, but a course usually does not teach you problem solving ability.
      It is up to you how you exercise the problem solving muscle. You do this by questioning every single little thing about what you're doing and trying to figure out, and trying to make things on your own. Break the tutorial down into the smallest steps and try to understand each step. One thing that personally helped me a LOT was to run a parallel 'homework' project alongside any udemy course i was doing, once every 5 videos or so (You can pick your own varying cadence depending on the complexity of the course or your understanding) I go back to the homework project and attempt to get to where the main project is WITHOUT looking at the code. Very often in programming, we think we've understood something theoretically, and we're able to problem solve it during the tutorial and memory will last you a couple of days, but once we come back to it after a few days, that knowledge is completely lost. Doing the homework project was extremely helpful to me since it lets you problem solve and come to the same conclusions as the course did, but this time, on your own.
      For one, this will help you understand the reasoning as to why they course might have done something in one way where it could've been done in another, while at the same time you are also forced into the environment of having to think of alternative methods, since you might not remember what the course exactly did. Coming to a solution on your own is when you've really internalized a concept, not when you 'understand' it the first time you discover it. I do take help from the course again if I'm too stuck, but if I needed substantial help with it, then I would go back a third time to try again once more. (I leave couple of days in between so that I dont rely on memory, but i do on understanding)
      This understandably increases the time you spend on a single course by possibly 3 times or even more, i will not sugarcoat it and say it is easy. Having to go back to do a boring section of the course again and again is painful, but it is absolutely necessary, for me atleast.
      If you're going to go through with what I'm suggesting here, from hindsight, here's something I'd also do while doing it: Learn to use Version Control as soon as possible, you can use git, plasticscm, perforce, whatever, doesnt really matter. I say this for 2 reasons,
      1. You will have to learn about it eventually, even though it might seem as a confusing and boring thing to learn about. It really isn't that complicated to get a grasp of the basic idea atleast. All the flashy features can wait until later.
      2. This will help managing the parallel project infinitely easier. I used to just create a copy of the whole project folder, and switching projects and managing that is really cumbersome and just adds more friction to already difficult task of learning. Being able to just create a branch for the homework project is much easier to manage, and you can create additional branches from any point to keep redoing a part of the course without having to create 3 or more copies of the whole project manually.
      3. You get an opportunity to directly practice using version control doing this. It will be invaluable when you set out on working on your own projects.
      Good luck!

    • @Antantic_
      @Antantic_ 5 месяцев назад +2

      @@kartopod wow, what a wonderful response! thank you!

  • @raysandrarexxia941
    @raysandrarexxia941 5 месяцев назад +14

    I found my icon buddy!

  • @roundninja
    @roundninja 5 месяцев назад +1

    It's true, I understand a tutorial so much better when I change a few things as I go along and try to understand beyond just following each step, and combine it with what I learned in other tutorials. The animation of combining different chairs is a great way to demonstrate this. On the other hand, I also think it should be remembered that not everyone learning game development is aiming to primarily be a programmer. Things like graphics, level design, story, and music are also extremely important.

  • @AlrhadenJavier
    @AlrhadenJavier 8 дней назад +1

    Underrated Channel... after watching Godot Control Node (UI) Masterclass... Your vids helped a lot

  • @borb5353
    @borb5353 4 месяца назад +1

    you whipping up the movement code made me pause the video and read up what input.get_axis does and even learned that godot has in editor documentation, so when i came back i actually understood what you rapid fired afterward.
    also i just feel really proud for starting with godot like 2 days ago, copying step by step brackey's "how to make a game" and after it was done i went back and added a roll ability all by myself! :3 yippii

  • @sushiman_
    @sushiman_ 5 месяцев назад +1

    This clearly deserves more views (and all begginers should be shown this video)

  • @marl3x
    @marl3x 5 месяцев назад +6

    This does not only apply to game development but to programming in general. I teach programming to students at work, and probably the most common thing I see is actually the "not reading the error" problem.
    READ THE ERROR. If you don't understand it, google the things you don't understand, try to figure out what's wrong. The same applies to tutorials. They are great, but you have to understand what the person is doing, why they are doing it, and what else you may be able to do with their solution.
    Programming is problem solving, and if you don't learn to problem solve, you won't get far.
    I know it's hard, but you'll get there 😉

  • @doubletapp5660
    @doubletapp5660 5 месяцев назад +3

    These are all very good tips. It's very easy to overlook a lot of these when starting out, as your more focused on getting a result than learning. Loved the chair example and animation!

  • @dortuff
    @dortuff 5 месяцев назад +4

    This video is awesome, but damn that stuff with the cards and folders around the end looked very cool and fun to play with.

  • @adhidwipa6027
    @adhidwipa6027 5 месяцев назад +1

    I am not very good at creating video explainer but sure enough I progressively made a way to deliver a game this time.

  • @cohomologygroup
    @cohomologygroup 5 месяцев назад +1

    I'm going to bookmark this video for my repertoire of tutorials to give out in #godot-4-chat

  • @Anifix123
    @Anifix123 5 месяцев назад +17

    visuals r AAA but audio quality/script is like an indie game that no one heard of

    • @kartopod
      @kartopod  5 месяцев назад +7

      Can't tell if the second half is a praise or an insult LOL

    • @willd2609
      @willd2609 5 месяцев назад +1

      @@kartopod pretty sure it's a big compliment

    • @iamgoo
      @iamgoo 5 месяцев назад +3

      @@willd2609it’s not, audio is a bit grainy but non unbearable. Great video but I wish the mic was better, hopefully the channel income makes it work

    • @peanutbuttervr
      @peanutbuttervr 5 месяцев назад +1

      Yeah, if you were to possibly get a better mic setup, people will definitely watch you more. Keep up the good work nonetheless!

  • @iansantos3080
    @iansantos3080 5 месяцев назад +2

    I am in tutorial hell right now, you have showed me what I was doing wrong, thanks for the help :)

  • @bikutoso
    @bikutoso 2 месяца назад +1

    While i'm still following a tutorial (a long one), i feel playing around and experimenting with stuff have helped me. Like question what is taught and try and improve and add new features

  • @clarksunsetsgd7878
    @clarksunsetsgd7878 5 месяцев назад +1

    Damn. You make really great analogies. It's so much easier to understand your point. Great video!

  • @mft-zipy
    @mft-zipy 5 месяцев назад +1

    Very good video! I'm really surprised this only has

  • @MrImranmatloob
    @MrImranmatloob 5 месяцев назад +2

    this video is so true, as a comp sci student, I can confirm that you only learn when you actual look and read what is happening in code.
    example, there's a game called snake,
    people can do it in around 150 lines of code - it took me the best part of 20 hours to get the snake to move, because I was dealing with a linkedlist, and setting veribles and pointing and moving x and y values.
    only use youtube tutorials if you want something to work in a project and you need it to work fast.
    but if you want to actually learn what is going on in a 4 loop or how to correctly deal with pointers.
    than you've got to put in the hard yards

  • @Volt-Eye.
    @Volt-Eye. 5 месяцев назад +19

    1:43 Middle one has very Human Design.

  • @ProbablyM_S
    @ProbablyM_S 5 месяцев назад +4

    the animation look great! and thanks for the tips :)

  • @InnerEagle
    @InnerEagle 5 месяцев назад +1

    Me, for everything irl, and everything I do, I should just accept my fate and understand why

  • @andoreixd4116
    @andoreixd4116 5 месяцев назад +5

    underrated! you deserve more subs!

  • @Ocdib
    @Ocdib 5 месяцев назад +1

    I love your 50 tip videos. I'm gonna get one of your courses on Fiverr :-)

  • @I2ed3ye
    @I2ed3ye 5 месяцев назад +2

    My favorite thing is when someone is trying to do something very specific and there's one really well made tutorial that explains everything step by step and they say they already saw it and it's too much work 🥴

  • @minhuang8848
    @minhuang8848 5 месяцев назад +2

    Man, I get that this is just them not having learned how to learn - which has to be remedied, ofc, but folks asking questions without as much as the bare minimum of information to go with it... oof, that's a real one. Honestly not an issue if you accommodate it, especially with LLMs being useful for quickly parsing the overall form of a Discord comment or something; just tell people to specify whether they had error messages and whatever prerequisite information we need to know. Still, it hurts seeing people do that.

  • @KatouMiwa
    @KatouMiwa 2 месяца назад +1

    i know this is crazy. my dream game is making a nazi zombies portable clone , which is a remake of call of duty zombiees xD nice videoo !

  • @kathyButFluffy
    @kathyButFluffy 5 месяцев назад +1

    me personaly, i will never use code in my games that I don't understand.

  • @KyuubiYoru
    @KyuubiYoru 5 месяцев назад +1

    I would almost say, for the beginner questions ask chatgpt, but only gpt4 or gpt4o, gpt3.5 is "useless" for complex stuff.
    Edit: Same applies, ask how/why something works instead of just coping the code.

  • @darkrozen4110
    @darkrozen4110 5 месяцев назад +2

    Thank you for this very interesting work. though I do have one question. Why does my code not work?

    • @kartopod
      @kartopod  5 месяцев назад +1

      -you had one job-

  • @chungo.
    @chungo. 5 месяцев назад +1

    i like the visuals they're really cool

  • @OrangeChair
    @OrangeChair 5 месяцев назад +2

    My brothers 1:43

  • @well-phaser
    @well-phaser 5 месяцев назад +1

    eyyy its here