The Pros and Cons of Game Dev Tutorials
Table of contents
No headings in the article.
Game development, especially for indies, is an ongoing journey of learning, experimentation, and creativity. When starting out, one of the most popular types of resources that developers naturally gravitate towards is tutorials. With guided instructions, all necessary assets, and a specific end result, tutorials are an easy way to dive into game development. Are they truly the perfect method for learning though?
Tutorials provide a visual component to learning game development that documentation and other written tutorials can not always capture. Seeing how another developer navigates the space of a game engine and explaining how tools can be leveraged can be incredibly useful at an early stage.
This will certainly show up on every other point too, but this pro can largely depend on the tutorial. Finding videos where code, assets, etc… are fully explained while being implemented are extremely beneficial. If you find yourself walking through a tutorial where the developer simply asks “to paste in this simple code,” consider typing it yourself and breaking down each line.
Seeing how each bit of code is structured or how assets are imported and tweaked will help build those habits. This makes it easier to move beyond tutorials at a later point because you have done more of the work on your end.
Tutorials provide a workable project that you can easily experiment with. This is super valuable because you can edit values or code directly and see how that changes across the game. You tend to learn more from this as you learn how each piece of the engine interconnects.
For those that are just beginning, I would highly suggest sticking with the tutorial and not copying the full project up front. After each video, take some time to experiment with the newly added features before moving on to the next lesson. As you add more features the complexity easily becomes overwhelming, so going more slowly between steps is easier to manage. It creates a nice moment of reflection to ensure you understand all of the newly working pieces of the game.
One issue I often see within game dev communities (and the technology field as a whole), is the struggle to ask the right questions. I see a lot of new developers who innocently ask for help with their project “not working” with no other details given. While many people are willing to help, asking vague questions about a project only seen by one person is not exactly easy to solve.
With tutorials, even though this trap is still possible to fall into, I have found that the comments tend to ask more direct questions. This is because the individuals following along are able to provide line numbers, exact errors, etc… that they know other users have already seen. When they receive detailed responses, it helps reinforce the idea that asking direct questions with detailed steps already taken and info provided yields better support.
Essentially, using tutorials can help shape the way you ask for assistance within the game dev community, making troubleshooting a less painful process.
It is quite easy to fall into the “tutorial pit” - a place where developers spend more time searching for the perfect tutorial for their game instead of just working on it. Tutorials can provide an excellent launching point for learning game development, but the truth is that there is no tutorial out there that will create your game. If that were the case, it would already be made!
If you find yourself spending too much time searching for a tutorial, consider moving away from that for a bit of time. This is where you get to apply your new skills! Break down the feature or system you want to create into different steps and then search for guidance on the steps that are still confusing.
My best personal example of this was when I made conveyor belts for my game Echolite. There are some scattered videos about making conveyor belts in Godot, but they are not top-down, do not process items the same way, and are difficult to expand upon. At this point, I knew I had to build everything from scratch. I found that looking for smaller tutorials along the way, such as scene instancing, tweens, etc… both saved time and was more rewarding.
Tutorials provide a working solution, but it may not be the best solution. This point comes down to time as smaller games do not need to be as optimized or compartmentalized. For medium to large scaled games however, tutorials are not equipped with setting up projects that can easily be managed long-term.
One way of navigating this issue is to spend time after completing a tutorial trying to change the approach while still getting the same result. There are so many ways to achieve the same goals with the numerous tools provided through game engines, so finding alternative solutions can help you grow accustomed to tackling complex problems differently.
This helps a ton when expanding your game as you have a more in-depth understanding of the inputs and outputs for each subsystem. The more comments you can add into your project as well, the better!
Tutorials can set an unrealistic expectation for approaching game development. When you work through a tutorial, you aren’t seeing the many hours of planning, testing, etc… that went into it. This can create the illusion that developers simply open their engine, drop some pre-made assets, copy over some pre-existing code, and they are done. Maybe a developer out there can do this, and uh…the rest of us are jealous!
Part of the tutorial process should be considering how you would approach the system before you see how others do it. For instance, when attempting to build an inventory system, try writing out how you would approach it and then compare the differences. The tutorial may be a cleaner, more obvious solution, but it at least gives you a realistic idea of how game developers should approach problems before solutions.
Tutorials work best when you work alongside them. Rather than copying every single step, try attempting the problem beforehand. Then, as you learn more, continue to experiment and reflect so that the information you learn is critically consumed rather than blindly followed. Even though tutorials won’t build your entire game, they can serve as a strong launching point for becoming a smarter game developer.