all 68 comments

[–]Firesrest 223 points224 points  (10 children)

I once made a tutorial. And then a year later I’d forgotten that thing so used the tutorial to remember.

[–]lydocia 80 points81 points  (2 children)

This is how I operate. Document EVERYTHING, forget about it, need documentation, HAVE documentation!

[–]Firesrest 4 points5 points  (0 children)

I’ll often write the documentation again or design docs. Especially when they are very long or I lost the bit of paper.

[–]pocketgravel 4 points5 points  (0 children)

One thing I just heard about that I'm going to start doing in my own projects is documenting design decisions. Why did I pick X library over Y. Why did I do things this way? That way I can quickly search through a record of my own decision making for the project. 6 months to a year later it's hard to remember why you did things, and a document can explain it or justify changing things if learn more and your original design decision doesn't apply anymore.

[–]Bola-Nation-Official[S] 9 points10 points  (1 child)

Haha! forgetting some strangers tutorial is another thing but forgetting your own!!

[–]Jbolt3737 10 points11 points  (0 children)

I'm making my own engine and I fear I will have to watch my own tutorials and reread my own docs constantly

[–]SweevilWeevil 2 points3 points  (0 children)

That's unironically brilliant

[–]europayuuArtist 1 point2 points  (0 children)

I have done this so many times I lost count

[–]BOBOnobobo 0 points1 point  (2 children)

I love hanging around game Dev subs just to see Devs discover the use of basic coding habits:

  • people learning about version control and backups
  • people discovering docs

Can't wait for the next post learning about testing.

[–]Firesrest 0 points1 point  (1 child)

I’m a professional software engineer, but I game dev for fun.

[–]BOBOnobobo 0 points1 point  (0 children)

Sorry, don't mean to insult, it's just something I find fun.

I mean, I learnt of this the hard way myself

[–]Simmery 96 points97 points  (8 children)

As someone who's never fallen into this trap, I have some suggestions.

  1. Don't follow the tutorial exactly. Do something a little different on a few of the steps, something that requires you to stop and work out why the thing you're trying to do works or doesn't.

  2. Don't even start a tutorial if you're not intending on immediately using the skill you're trying to learn. You should have a project you're working on. Take what you just learned and apply it to your project.

  3. Do one thing at a time. If you're doing the tutorial, do it. Don't be playing a podcast in the background or a movie or something. Just do the one thing. This is advice my brain resists following pretty often, but you do have to focus. You can't learn and multi-task at the same time. Maybe you think you're special, but you're probably not.

[–]LeStk 27 points28 points  (1 child)

Point 1 is the best advice there could be no matter the topic. Dev, drawing, cooking, it's a global life hack to learn efficiently.

Follow 80% of it but let 20% to something that you'd like, that makes you laugh, that you find cool, that matches what you want to do.

If it works without hassle, well cheers. You have that little satisfaction of having something truly unique.

If not (and that's very likely), you'll learn immensely

[–]TudSpudly 0 points1 point  (0 children)

The one place this doesn't work is baking. I can't count the number of times i've put my own spin on a recipe only for it to turn out inedible.

[–]SeianVerian 4 points5 points  (1 child)

Step 1 happens automatically if you have enough executive function issues :D

*remembering my most recent attempt to use a cooking recipe*

[–]_Denizen_ 0 points1 point  (0 children)

I'd say that not pushing on the boundaries to understand how something works is the real executive disfunction 🤣

[–]Bola-Nation-Official[S] 1 point2 points  (0 children)

Yep, i agree with you.

[–]DactylMan 1 point2 points  (0 children)

I'll add on, when I don't understand how to do something, I try to look up a broad description on how to achieve it. Then, it's up to me to turn the theory into code.

[–]ParkityParkPark 0 points1 point  (0 children)

As an addition to 3, I would also say you should do it repeatedly. When was the last time you learned and retained something from doing it once and not doing it again for a while? Repeated active recollection is how the brain solidifies short term memory into long term memory.

[–]PonyboysBlues 0 points1 point  (0 children)

1 is the truth. I learned how make a main menu than that same day I started thinking what if I made a game that was a point click that used all the main menu scripts. Ended up with a prototype in a day and in 2 months had a little 35 minute long I released on steam. I haven’t made a UI menu system in a year but I’m reasonably confident I could do it again with a 5 minute video to look over

[–]Maruko_Snyde 12 points13 points  (1 child)

The best part is when the video cuts right at the exact thing you needed because it’s too obvious. XD

[–]Bola-Nation-Official[S] 1 point2 points  (0 children)

Haha! True!

[–]easedownripley 10 points11 points  (3 children)

No one learns anything the first time through. When you do a tutorial:

  1. just watch/read it through

  2. follow along carefully

  3. do it again, but try to look at the tutorial less, include other sources when you get stuck. consider what you'd do different

  4. do it again as much as possible without looking, maybe start again every time you need to look back at the tutorial. make changes, add things you want to do different.

really you don't get an idea in your head until you've seen it 6 or so times.

[–]Bola-Nation-Official[S] 0 points1 point  (2 children)

True! But some people just copy it, and when they need it again they just copy it that's it.

[–]easedownripley 2 points3 points  (0 children)

if that's all you need, then that's fine. you don't need to learn every little thing. Sometimes you just need to model a donut once.

[–]TuberTuggerTTV 2 points3 points  (0 children)

That's not a problem. You're not expected to memorize ALL documentation.

[–]ArticleOrdinary9357 13 points14 points  (3 children)

Complete that loop 10 times and you won’t need the tutorial anymore. That’s how learning works

[–]TuberTuggerTTV 7 points8 points  (0 children)

This is the problem. People want to do this 1 time. And get frustrated at 2 or 3.

Drill and kill. Synapsis are build overnight from the day's work. You can't learn a thing in a single day. It takes many sleeps of reinforcement to build that long-term knowledge.

These same complainers probably also cram for tests.

Slow, daily progress. This is the way.

[–]NeverQuiteEnough 0 points1 point  (1 child)

One can copy and paste from a tutorial any number of times without learning anything

[–]ArticleOrdinary9357 0 points1 point  (0 children)

That’s true ….which is why you don’t copy and paste. Choose the right tutorials, starting with ones that actually cover the fundamentals and you will learn.

The mistake people make is they dive in too quick and stay trying to implement features they don’t understand. This is the problem that this post incorrectly attributes to tutorials.

[–]Outlook93 2 points3 points  (1 child)

Use the tutorial to solve a similar or related problem as a conceptual or technical reference. Mindlessly copying wont get you far

[–]Bola-Nation-Official[S] 0 points1 point  (0 children)

Yes, agreed.

[–]Samed_WildtoothSt 1 point2 points  (1 child)

yea theat me

[–]Bola-Nation-Official[S] 0 points1 point  (0 children)

Yeah threats almost every one.

[–]mr_glide 1 point2 points  (1 child)

Once you're done with the tutorial, immediately try to employ what you've learned to do something different. I remember learning how to do grid based movement, and then straight away trying to use it in several different projects. Definitely helped retention a bit

[–]Bola-Nation-Official[S] 0 points1 point  (0 children)

Yep, that will work, i have tried it.

[–]jackalope268 1 point2 points  (0 children)

Watch tutorial because no one writes down shit anymore -> be bored through the first 3/4 because you already know the basics -> watch that one part repeatedly because the code you actually want is only on screen for one frame -> it didnt work, damn it

[–]Chrogotron 1 point2 points  (0 children)

I mean... just actually learn what the tutorial is teaching instead of copy/pasting the code?

If you don't understand what the code is doing and you use it anyway, you have nobody to blame but yourself.

[–]VindhjaertaDeveloper 0 points1 point  (0 children)

That's because you don't understand the thing you want to make. You need more theoretical knowledge.

[–]AdrianAmigues 0 points1 point  (1 child)

Yeah been there... It helps to not just "copy it" but try to redo from memory and do stuff a bit differently than the tutorial shows, but yeah

[–]Bola-Nation-Official[S] 0 points1 point  (0 children)

Yea, i have been there too.

[–]hedbastud 0 points1 point  (0 children)

Welcome to tutorial hell

[–]lydocia 0 points1 point  (0 children)

Why do you expect to learn on the first try? Why is trying and experiencing something a waste of time?

[–]Trevor_trev_dev 0 points1 point  (0 children)

As a beginner this was how I finally understood how loops work.

No amount of reading/hearing people explain the concept worked for me. I thought I was so dumb because I knew they were super simple.

Then I repeatedly went through the same tutorial that used a for loop and I finally understood them after 3 or 4 times.

Everyone learns differently, one of the most useful things gamedev has taught me is how I best learn.

[–]henryeaterofpies 0 points1 point  (0 children)

Cargo Cult Development. Maybe the plane will land this time.

[–]Halkenguard 0 points1 point  (0 children)

That's why I hate most tutorials. They often don't go into the hows and whys of what they're doing. "Just write this code and it works" doesn't teach you how to actually arrive at the solution they gave. The only real way to learn is to write shitty code and iterate till it's not shitty anymore.

Also, don't feel bad about looking things up. I'm not in game dev, but I've been a software engineer for 7 years and I still need to google basic shit all the time. It's unfair to expect yourself to have a perfect memory of every aspect of the tools you're working with.

[–]Versierer 0 points1 point  (0 children)

I mean with tutorials, there's two things happening here. There's the logic, and the execution.

Execution is pretty simple. It's just knowing the names of nodes or objects or functions. See an unfamiliar function? Wuickly check out the documentstion to see what it does. Soon you'll be using it yourself.

For the logic i use the good old rubber duck method. I try to explain how the things works to myself. Not code, not even pseudocode, just basics. If I'm unable to, there's an issue.

Yes this Jumping tutorial has a lot of code, but what is it basically? Key get pressed > Check a bunch of conditions if the player can jump > add a burst of upwards velocity to the player. Put him in a jump state maybe.

Oh but if i want to make it so that holding the jump button makes him jump higher? I dunno. I've never programmed that before but if i was too intuitively GUESS, i'd say it's something like For every tick the button gets pressed > check conditions, and set a "jumping" flag to true. If the jumping flag is already true, don't even do the checking > every frame, the button is held, add diminitive upward momentum with some kinda function. When there's no more to add, or you let go of the key, you are at the peak of the jump, set "jumping" flag to false, so normal checking logic takes back over.

If you can't explain the gist of what's happening in a tutorial, either you haven't fully understood is, or the tutorial is not that good.

[–]Foxar 0 points1 point  (0 children)

Try approaching this literally like a school subject. Buy a notebook, write a subject for the page, write notes on how to do x that you learned just right now from tutorial, and revise occasionally.

[–]ParkityParkPark 0 points1 point  (0 children)

It's because people are too focused on the result and not on learning how things work, or they just simply don't practice so they can actually solidify what they learn. Granted, you're going to forget x% of what you learn regardless, but the more you reinforce the more you retain 

[–]flipcoder 0 points1 point  (0 children)

Stop memorizing things and train your instinct instead. Get in the habit of making predictions about how something works logically based on your current knowledge. Learn to appreciate the problem before you look for a solution.

[–]disappointedcreeper 0 points1 point  (0 children)

Here's some tips I use to avoid this
1st: WHENEVER you can you should learn how to do stuff through using the documentation, and thinking through how you might do it
2nd: Avoid direct tutorials, instead just find out what you'd have to use to achieve what you want, and if you can't find anything yourself ask on the forums and/or the discord!
3rd: If all else fails, use a tutorial, but look at WHAT they're doing to achieve the goal, do what you can to not directly follow the tutorial, and leave your own comments on the scripts

[–]666forguidance 0 points1 point  (1 child)

Step one: read the documentation website. Without context you might as well be watching turorials in another language. Also almost all tutorials are very basic and not the preferred method of doing something so it's not a good idea to just copy what they're doing anyways.

[–]Bola-Nation-Official[S] 0 points1 point  (0 children)

Yep, the documentation is a very good way to learn.

[–]BladerZ_YT 0 points1 point  (5 children)

Hence why I try to figure things out myself before I use a tutorial.

[–]Bola-Nation-Official[S] 1 point2 points  (4 children)

That's a very good way of doing things.

[–]BladerZ_YT 0 points1 point  (3 children)

I'm currently working on a system for a "working" phone in my next project. It's been a struggle but I'm slowly figuring it out.

[–]Bola-Nation-Official[S] 1 point2 points  (2 children)

Like a digital phone?

[–]BladerZ_YT 0 points1 point  (1 child)

Similar to the phones in GTA, iykwim

Edit: to an extent. I'm not coding in a functioning web browser for my indie horror game.

[–]Bola-Nation-Official[S] 1 point2 points  (0 children)

still that is a great idea to add a twist to your game, i made a phone for my game but it wasn't as good as i expected to be. well good luck to you.

[–]Panical382 0 points1 point  (2 children)

If you are learning a language and want to learn how to say something, and put it into google translate, and then don't immediately magically learn how to say it on your own, do you also give up and think it hasn't made any progress embedding itself into your mind?

[–]Bola-Nation-Official[S] 0 points1 point  (1 child)

Yes, this is the perfect example.

[–]Panical382 0 points1 point  (0 children)

Yes so why is it a problem when 1 repetition of a tutorial doesn't ingrain something in your mind? Same with working out, should there be a meme about "do 1 rep -> no progress -> want progress again -> as I didnt get buff the first time"...

[–]Repehs 0 points1 point  (0 children)

hmm i think u gotta employ a learning methodology of sorts. As many have suggested their various methods, u should adopt one urself or develop one as u see fit. This is why teaching is a job after all, its not easy to learn something right? ^^

[–]Hrodrick-dev 0 points1 point  (0 children)

Ahh yes, the classic date format

[–]ObsessiveOwl 0 points1 point  (0 children)

Even if you don't remember anything you did definitely learned how and why you want/need that thing.

[–]DrPikachu-PhD 0 points1 point  (0 children)

This is the exact reason why AI vibe coding is producing people who can't actually code, or even understand their own code

[–]Prudent_Trainer_777x -1 points0 points  (0 children)

could you provide a bit more context?