I want to clear up the misunderstanding of Jazon Yamamoto's book. It teaches you SDL version 1.2 but then at the end of the book it shows you how to modify your code to make it SDL 2. All of Jazon Yamamoto's tutorials have SDL 1.2 and SDL 2.0 versions. I would say that the book is very well written, and he does what he says he'll do: teach games programming. Definitely a good book but I have my frustrations with it. I'm currently trying to work out how to compile example code from chapter 11 and can't get it to work with Visual Studio. I'm told by Anri that Jazon Yamamoto made the code so that it pretty much only works with Code::Blocks, not necessarily Visual Studio. This is weird because I thought C++ was portable but it seems there are quirks with how you build a project. What Jazon built, I cannot build on my system using Visual Studio. Use online tutorials, they're free!
Learning SDL For Game Development
It's a very good idea to learn low-level game development at some point. But I usually recommend beginners start by getting a grasp on the high-level (more abstract) concepts of game development. If you don't know what it's like to work in a fully realized game engine, you're going to have a very difficult time building your own.
Making a ton of small games in an easy to use environment like Clickteam Fusion is, in my opinion, a much more natural and pleasant way to learn game dev than slogging through making your own engine right from the get go.
Well, my experience was different. I have written it here: http://www.gamedev.net/topic/677275-where-to-start-programming-games-c/#entry5282811
Everyone learns differently! But it's still my belief that learning high-level development is the better place to start for most people, because it's a more rewarding experience, and it gives you an idea of what game development should be like before you delve into the low-level world (which needs to be done eventually if you want to be any good) where nothing at all is spelled out for you. Granted Unity is not the most accessible engine; I would recommend Clickteam Fusion, Game Maker, or Construct as a good first engine to learn. Everyone is always eager to jump straight into 3D development but I guarantee it's a much more difficult path.
It's a very good idea to learn low-level game development at some point. But I usually recommend beginners start by getting a grasp on the high-level (more abstract) concepts of game development. If you don't know what it's like to work in a fully realized game engine, you're going to have a very difficult time building your own.
Making a ton of small games in an easy to use environment like Clickteam Fusion is, in my opinion, a much more natural and pleasant way to learn game dev than slogging through making your own engine right from the get go.
Well, my experience was different. I have written it here: http://www.gamedev.net/topic/677275-where-to-start-programming-games-c/#entry5282811
Everyone learns differently! But it's still my belief that learning high-level development is the better place to start for most people, because it's a more rewarding experience, and it gives you an idea of what game development should be like before you delve into the low-level world (which needs to be done eventually if you want to be any good) where nothing at all is spelled out for you. Granted Unity is not the most accessible engine; I would recommend Clickteam Fusion, Game Maker, or Construct as a good first engine to learn. Everyone is always eager to jump straight into 3D development but I guarantee it's a much more difficult path.be like before you delve into the low-level world (which needs to be done eventually if you want to be any good) where nothing at all is spelled out for you. Granted Unity is not the most accessible engine; I would recommend Clickteam Fusion, Game Maker, or Construct as a good first engine to learn. Everyone is always eager to jump straight into 3D development but I guarantee it's a much more difficult path.
Well, I did have experience with Unity, Unreal Engine. Even I learned about Game Maker for at least 1 month. My conceptual understanding about game development was there. But then I thought of going low level! So I've already done what you say.
But now that I am in this low-level world, I think I am disrespecting what those engines thought me, which is wrong!