Escaping Tutorial Hell
Welcome to hell
If you have been wanting to get into Game Development, Programming or even anything with a reasonably high learning curve, you will be familiar with the term ‘Tutorial Hell’. For the uninitiated, Tutorial Hell describes the state that beginners can often find themselves in, where they jump from tutorial to tutorial, trying to learn how to do something, whether it be making games or simply learning to code, and feeling lost because they don’t know how to do anything that wasn’t taught in the tutorial.
There are a few reasons this can happen. The main reason is that when following tutorials or courses online, you can often find yourself just copying what the instructor is doing and not properly committing what is being taught to memory and comprehending what is actually being taught. I have definitely experienced this after doing Unreal Engine tutorials, where I had completed a tutorial and then went to start my own project and felt completely lost on how to even begin. Unless you make the same thing that was in the tutorial or you have your hand held through the process, it can be hard to understand what to do. How do we solve this?
The answer to this comes down to how you follow tutorials and how you go about working on your own projects. Tutorials and courses are often aimed at the complete beginner, since, statistically, there are more people at level 0 than level 50. But how do you get to level 50? Or even Level 100?
Starting from Level 1
Starting with a new tool after not doing any tutorials can be extremely daunting. Opening up a game engine for the first time and not understanding anything about game development is a recipe for quitting. I remember the first time I opened up Unity Engine in 2010 with a military shooter style demo project and being so incredibly confused about how to do anything that I was scared to even touch the project out of fear of breaking it. Because of this. Doing some tutorials is definitely beneficial to at least understand what you are looking at.
Understanding and getting a firm grasp on fundamentals is crucial to working autonomously without the need for tutorials. This can mean learning what the editor can do, all the menus and functions. You don’t need to learn everything before you start working, but at least get a firm grasp of what tools are available to you to get something from nothing to something and keep using those tools until you are ready to learn about new ones. In the context of coding, you need to understand the fundamentals of data types, conditional statements, loops, etc., as well as some of the functionality of whatever framework you are using, whether it be Game Engine-specific functions and classes, language-specific syntax, lifecycle hooks (update, start, etc.), etc. This also applies to other programming fields, not just Game Development. You could take that same list and apply it to learning React or .NET.
The key thing to know is that in the beginning, you don’t have to do things the correct way, or even the fast way. You just need to be able to get from nothing to something in your own messy way. Once you have become familiar enough with this, you can start branching out in your tool, find more functionality that can help you speed up your workflow or make it more efficient. Learn about best practices and start applying them.
Breaking the loop
If you are still struggling with this, then a tip I have for you is to find a tutorial that is too easy for you, preferably one that has you building a project. Something that goes over the same concepts you already know. It can be a tutorial you’ve already followed and completed. The reason why you are going to do this is that you are going to change your approach while following the tutorial. Instead of following what the instructor is telling you to do, you are going to use your understanding of what you know to do it better than what the instructor is telling you to do, you are going to run ahead and do things before they tell you to, and you can even add additional features to the project. As I mentioned earlier, most tutorials are aimed at beginners with no understanding of how anything works, so they explain things in a way that makes it easy to understand. This can mean doing things inefficiently to help guide understanding, but you aren’t that beginner anymore. You already know how to do it efficiently, so skip ahead. Do it the right way the first time.
The reason I’m suggesting you do this is two-fold. Firstly, it’s really satisfying to see how far you have come and to show yourself that you do actually know a lot more than you think. The second reason is that this trains your brain to move away from blindly following to actually problem-solving and thinking about how to tackle problems on your own.
After you have done this little exercise, it’s time to make your own project that focuses on the skills that you have learned. Don’t go from following a simple tutorial on how to make boxes move around in 2D space and start trying to make Skyrim. Try to build something adjacent to what you just learned. Try to make Snake or Pong, or Tetris. There will be enough problems in these projects that you won’t know how to solve as it is, and they will be a lot more manageable to solve and actually make progress with than if you are working on a project with way too many unknowns. Keep things simple and build your way up. If you come across a problem you don’t have an answer to, you can try looking it up and working it out, or if you are feeling really stuck, consider looking for a tutorial that handles your specific problem, and use the techniques I mentioned earlier to adapt them to your own project.
It’s ok to feel stuck
If you are feeling out of your depth, it’s OK to take a step back and try to learn more about your tooling to help you work it out. Maybe your project was too large a leap for you, and you need to think of something simpler to work on in the meantime. There are a lot of skills involved with programming; it’s OK if you occasionally feel stuck. Just know that there is an answer out there for your problem, you just don’t have the right tool in your tool-belt to solve it just yet.
Now I haven’t mentioned using AI at all in this post, and I think I will save that for another one. Using AI to assist in your problem-solving is totally fine; however, it’s important to recognise whether you are using it effectively. The goal here is to be learning and not substituting AI for Tutorial Instructors, where you just follow everything the AI says because you couldn’t find a tutorial that solves your problem. AI is a powerful tool to help you problem-solve, but you need to be focused on improving your problem-solving skills while using it; otherwise, you are just climbing out of one hole and falling into another.
Conclusion
In order to actually escape Tutorial Hell, you need to work on your ability to solve problems autonomously and gain a concrete understanding of the fundamentals of your tools so that you know how to get from nothing to something. Build up these skills iteratively and avoid making large leaps that will make you feel stuck. Focus on getting the most out of your use of tutorials and AI to make sure that you are still learning along the way, and challenge yourself to gain a better understanding of your tools when you feel stuck. Hang in there, keep learning, and in time, you will find yourself at level 100.