I always recommend books, never tutorials. Simple reason is that tutorials aren't as detailed as books on the same topics. If a book doesn't exist and a tutorial is your only option, then I would approach it with extreme skepticism.
They do have advantages:
- They give beginners a good notion of all the required expertise when implementing a specific game
- They give a good insight on different ways of tackling different problems (different devs, different approaches to game dev)
- They give a good notion of what's required to implement a speicifc game design
That is all with the assumption the tutorial is written by a person that actually knows what they are talking about. Then you also have to work on the assumption they cover everything without leaving out steps or vital information.
I just think it's wrong to say those tutorials/content is bad for a programmer then blame it soley on the users of the content that doesn't put the time and effort in.
Sorry, you are right. I shouldn't blame the tutorial for the lazy part of the audience. Instead I should focus on the fact that, as I stated, tutorials don't go into as much detail as books do. Depending on the writer, it may be erroneous in facts and details that are covered. I used to spend my days trying to help sites correct their tutorials, hoping to make them useful to beginners, but the things I ran into regularly were tutorials that promoted one or more of these: bad programming habits, bad programming styles, erroneous code, poor project layout, misuse of terms and jargon, misrepresented concepts, and advice that contradicted documentation or standards. So I'm anti-tutorial, pro-book, pro-mentor, and pro-team to learn.
If you want to collect tutorials then go ahead and find them, but as I said, be skeptical about them or run the risk of learning something that you may have to unlearn later.
To a certain degree, I agree with this point. That said, I am a tutorial author ( I run the earlier mentioned site, GameFromScratch.com ) and a lot of why I created that site was because of the appalling state of tutorials out there. On the other hand, to pull it off, it's a stupid amount of work. Some of my larger tutorials are, word count wise, larger than many books I have purchased. On a lark, I actually converted my Blender tutorial series into a book and it weighed in at around 300 pages.
Put simply, there are three ways of creating tutorials (successfully) IMHO.
1- focused tutorials. These can be quite concise because you can assume a lot about your audience. For example, if I write a tutorial about say... texture atlases in Three.js, I can assume a great deal about the reader ( they know JavaScript and Three.js being two of them ) and just focus on dumping information.
2- detailed tutorials. Here you need to establish your audience up front, and if your audience is beginners, you are in for a hell of a lot of work, because the amount you can assume is smaller. This is where most tutorials fall on their face to be honest, and where step by step tutorials become less useful. If you have say... a 10 step tutorial, and step 6 is missing, you've lost the majority of your audience.
3- reference tutorials. In this kind of post, you aren't really trying to teach how to do something, you are simply showing how *you* did it. For a more experienced audience, these are probably the most useful, or at least, efficient tutorials. For a beginner though, they are obviously much less useful.
Really, it's a matter of managing the audience and expectations going in. It's also a matter of anticipating failure points and writing/providing for them, even though that topic can be boring as hell. As an example, in my C++ series, I KNEW hands down the thing that was going to lose the most people was project configuration. It's a nasty process in C++, so I completely understand why. As a result, I covered the configuration process AND provided downloadable projects each part of the way. This encouraged users to try it on their own, but if they got stuck there was a fallback plan. On the other hand, it was SFMLs horrid handling of supporting users ( lack of precompiled binaries, CMake system, complete lack of support for SFML 1.6, even when it was the official version, that basically made me give up on that library as a beginner recommendation ).
What I didnt touch on was Video tutorials...
This is an area of some danger in my opinion. In the right hands, video tutorials are invaluable. I could learn more watching someone model in Blender than I could reading 100 pages of a book for example. On the other hand, there is such a low barrier of entry that anyone can jump in and creating sprawling tutorial series... New Boston comes to mind here.
Personally what I would love to see is a tutorial ranking site. That said, it would never ever work. Here is the tragedy of it all... the only people really qualified to judge the quality of a tutorial are the people that dont need it. There are hundreds of people that have learned Java through New Boston for example and they certainly know more than they did. Unfortunately, they don't realize the damage it's done to them until much much later. On the other hand, the people that do know a subject well often cant project themselves through the lens of the target audience.
All that said, I obviously see value in tutorials. In fact, I am swaying AWAY from being pro-book and becoming vastly more pro-tutorial, now that I have written both books and tutorials. Books go stale fast, aren't interactive, can't contain rich media and perhaps more importantly, are only available to those that can pay for them. In this way, a *quality* tutorial series is better in most ways.
Now... we just need more quality. ;)