Good step-by-step development tutorials/books

Started by
29 comments, last by vinnyvicious 9 years, 8 months ago

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
Advertisement

The issue I have with step-by-step tutorials is that they don't usually promote the programmer taking time to understand it, but rather encourages them to take shortcuts and simply copy and paste the code to get the game done. This leaves them running into the same issue until they stop and try to figure it out themselves or get guidance from another programmer who won't give them the answer right off. That is just my personal opinion on them though.

This is the exact problem I'm running into. I'm to a point where I can recognize someone's patterns, but they're still mum as to methodology.

I've been really hurting for guides that stop and explain the programming equivalents of "hey, if you're microwaving food, arrange it around the edges of the plate so it heats more evenly," or "yeah, you could drive that screw into the wall with a hammer, OR you could use a screwdriver because it works WITH the screw."

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

The only ones that get that advantage are the ones who actually bother understanding the code in the tutorials. Unfortunately, the number of 'beginners' who are impatient and want to go from 0 to 60 now is steadily increasing.

So, the fault lies in part of the audience, not the author of the tutorial or the intended audience. This is a whole different discussion, and has nothing to do with people who enjoy reading tutorials with a specific purpose. Take the SFML book mentioned in this thread: not only the author gives a great insight into all the required expertise for creating a whole game, inspiring the reader to go the extra mile after reading the book, but it also gives great C++11 tips and game design tips. It's a wonderful book, impossible to get bored while reading. Now, how many programming/game dev books you slept while reading?

There is different content for different people. And some enjoy working on full projects, with clear objectives, and have a helping hand going through it all.

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
The only ones that get that advantage are the ones who actually bother understanding the code in the tutorials. Unfortunately, the number of 'beginners' who are impatient and want to go from 0 to 60 now is steadily increasing.

Then that is a totally different argument and nothing to do with the actual content that he original poster is asking for. While I do agree with you, you will only get out of those tutorials by how much effort you put in. Though if you actually put in the the time and effort, like it seems the orginal poster wants to do, then those tutorials can be of great benefit.

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.

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.

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. ;)

I'm currently working through this book to learn Game Development:

http://www.amazon.com/Game-Coding-Complete-Fourth-Edition/dp/1133776574

It's an excellent book which takes you through the basics of architecting a game, to writing the game and tools itself. The authors also update the code as people find issues with it, and respond to posts on their boards.

I heard bad comments about that book, but i'm not sure about the edition people were talking about. Does it give a good architecture overview? Is it standing the test of time?

Game Coding Complete ACCU Review: http://accu.org/index.php?module=bookreviews&func=search&rid=1724

Even on the Amazon.com link, the only 1 star review was by a guy, who reading his review, makes it sound like he was expecting a book that held his hand through the development process from beginning to end (his quote below).

I'm not sure why this book is so highly rated. It's a smattering of mostly useless information which does little to help one actually program games. It reads like a compilation of blog articles rather than a thoughtful and well organized progression of information. This was a true waste of money.

I enjoyed the book and its "smattering" of information. I also enjoyed SDL Game Development and SFML Game Development. That isn't saying much though as I also enjoyed reading Programming: Principles and Practice Using C++, C++ Primer, The C++ Standard Library, The C++ Programming Language, Microsoft's Code Complete, Programming Game AI by Example, Beginning COBOL for Programmers, etc., etc., etc. I may have little confidence in my abilities to program, but that doesn't take away from my joy of reading and learning about programming, game development, or other programming and web languages or to help others. I've got quite a large library, but outside of Game Coding Complete, SDL Game Development, and SFML Game Development most of them focus more on the C++ language, OpenGL, DirectX, or Game Engine architecture so, while I enjoyed reading them, I wouldn't recommend them for this thread. I think those three (GCC, SDLgd, and SFMLgd) are the best books for what you are looking for in the OP.

This topic is closed to new replies.

Advertisement