Handmade Hero»Forums»Game
Adnan B
1 posts
Best way to start learning
Edited by Adnan B on Reason: Initial post
Hello All,

I was wondering if it absolutely necessary to start watching the handmade series from the beginning or maybe I can skip the beginning videos and not be completely lost? I sort of remember coming across a forum entry which talked about Casey starting to use OpenGL in some later episodes as opposed to using OpenGL from the start. So, would it make sense to start watching from the episode from where he starts using OpenGL and not be lost? If so, what episode starts using OPenGL?

Miguel Lechón
78 posts / 2 projects
Best way to start learning
Personally, I wouldn't skip much of the first 27 days. Maybe you can leave the sound-related stuff (days 7, 8, 9, 12, 19, 20) for later since it's relatively self-contained, but that's it. I think the rest is gold. You may want to check the episode guide before skipping an episode.

I think OpenGL proper starts on episode 235, but the basic graphics theory starts on episode 36.
Tucker Kolpin
8 posts
Best way to start learning
I think it depends on your experience level. When I first discovered handmade hero I was a self taught Unity user with half a year of CS classes under my belt. I watched the first 120 episodes without skipping around and learned a TON. Now I skip around a bunch as watching full episodes doesn't seem very time efficient.
235 posts
Best way to start learning
I guess it depends on what your ultimate goal(s) are. If you really want to be a good graphics programmer then I would definitely watch how the software renderer is implemented. He will often tie whatever graphics function(s) he implements back to hardware rendering so you will have a much better understanding of the kinds of problems openGL/GPU driver is solving and (roughly) how its solving it. It's what I'm currently doing and it's been incredibly valuable so far.

If your looking just to get some 2d textures up quick and be on your way then starting with the opengl vids is fine to, you'll still learn alot. Though take note that in the early opengl videos he is using some of the older function specs of opengl ( < opengl 3.3). But no matter what your goals I will second Debiatan in that the first 27 eps are essential (minus the sound stuff).
Jari Leskinen
1 posts
Kalix, Sweden
Best way to start learning
My way of learning from the videos is that I have a game that I'm working on and when I want to implement a new part of the system I search the video archive for the relevant videos and study those together with the source code.

For example when I wanted to implement the OpenGL renderer I searched the video archive for terms like "opengl", "renderer", "3d", "graphics" and then watched the videos that seemed to be most relevant. What I also did was to download the latest version of the source code and tried to understand the parts that had to do with the renderer. When I read the code the annotated source code (https://github.com/HandmadeHero/annotated_cpp/tree/master/md) has been a great resource to be able to jump to videos where Casey implements specific parts of the code.

Worth noting is that I had been programming for many years before Handmade Hero got started. I don't know your skill level and I don't know if this way of using the material is suitable for beginners.
5 posts
Best way to start learning
Any blackboard episode is great for an overview of the particular topic it covers. They are fairly self-contained. Like, I've recommended the to non-coders the math episode (41) to people interested in knowing the math needed for game programming.

That all said, the first 50 days or so worth of content is enough to go make a decent game demo with just that amount of knowledge. Like something along an Asteroids style game or something else that isn't too complicated. (This is what I did.) Casey's platform layer has a lot of power, and I think it's worth watching how he makes it. Once you got the concepts for that down, it's probably easier to skip around to the other stuff as needed. Good luck!