Youtube C++ SDL2 Series

Hey all, I've started a new tutorial series on Youtube about SDL2 and I need some opinions/guidance.

So, within the month I hope to revisit these and try to make a fresh run-through that goes smoother. I'm aware of the typing errors since they pop up almost immediately when I try to compile. I'm more interested on whether I'm on the right track with these vids.

- Do I have enough information each video? - and is that info accurate?
- Do I present the information in a watchable manner?
- Do you feel like there was a set learning goal each video that was met?
- By the end of the video did you feel like progress on your end was made?
-> And was all the above worth the time it took to watch?

Here's the main playlist.

I'll make a quick list of the available videos that I have:

1. Installing SDL2 - Basically just skip this video, It is only useful if you have a linux system using DNF as your installation manager.

2. Opening the Window SDL2 - Useful introduction to SDL2, otherwise very easy to skip. The code is reused as a window template in the next video and is viewable from there.

3. Drawing an Item SDL2 - While all that really gets drawn to the screen is a moving rectangle, what we've really set up is the beginning of a framework which we will be adding bit by bit to as the series progresses.

4. Animation - We jump right into drawing an animation. We check out one or two resources online, do a quick check of copyrights on one of them, and snag it to create Bob, the dancing dog. Thank you Nemezees for your creation. We don't quite set up an animation class in the item framework, but that is in the works for an upcoming video.

5. Hardware Acceleration - We change up how items are drawn to the screen. In this episode we adapt the item class to utilize hardware rendering which puts drawing of objects into the graphics card rather than bogging down the CPU. One of my shortest episodes thanks to the advice of poteto below.

6. Moving the Animation - We move our animation into the framework, it inherits from the base class and gains the ability to move around with the move command. We set main up so that the arrow keys can be used to move Bob like he's a character.

7. Create A Plugin System - This one I'm excited about. In the video we create a plugin which is a test object which inherits from our base item class. We set up main to load this library at run-time and call functions from within that class. A future episode is planned in which the program will search a local folder called plugins, check that the plugins have the correct interface, and automatically loads them into itself all without human intervention. (Just add features/levels/enemies to your program by dumping a .dll or .so file in the plugin folder) - That's going to be awesome!
Last edited on
Guys, anything would help. Criticize, point out bone-head ideas, break it to pieces and throw it at me. I want to remake these videos and to do so I need to know what you really hate about them, what at the core, is the worst aspect of these videos.

<please don't say it's me>

And, you know, a compliment at the end to round out the gut-tearing violence of your responses would be appreciated and taken to heart.

And the crickets are chirping...
OK. Maybe the lounge isn't the right place.
Maybe isn't the right place since SDL is written in C.
Maybe I need to stop refreshing my screen every minute and actually get to work on implementing the series better.
I will be back.
Last edited on
Your voice is great but your videos feel like it was made in a day, on your first take. I think there are minor things you could do like setting your profile picture, the names of the videos (you seem to have already noticed a mistake in your own recording), and the big part is just being objective of getting something done in the code, while not making a video too long or boring (which is very difficult with programming, but you could try).

I haven't watched the entirety of all the videos, since I stopped after I saw a blitting function for software rendering (software is for SDL1.2, not SDL2, there is no reason to use it, not even lazyfoo teaches it).

I also think a website like reddit or gamedev or just asking an active IRC channel what they think of your youtube videos are like, not because of C but because we aren't filled to the brim with game developers (90% of topics are people doing homework and codechef).

A good way you could improve your videos is to finish your code completely first then break that down to make the videos.

Also don't forget to upload your code github or something. Maybe if you are lucky someone might submit a bug into it for you to be notified.

And most people like using windows and wont switch OS's. Consider making the part 1 episode have 2 versions (or do it all in one video) for setting up both OS's (windows should have an example for mingw or VS, and just link directly to lazyfoo's setup tutorial if people have any problems or IDE preference or Mac).

Overall it is great to see that you are moving quickly. I think you should have fun with it and be experimental with how you make videos, like maybe you can start off a video with what the end result of the code looks when you run, maybe some parts of the code are gritty so you copy and paste it in, and the rest you type it, maybe do something with the code to make a twist to how the normal game is played, maybe even take 2 steps to make the art in your game more appealing. You might even give links to helpful tutorials that are related to the specific episode, but this all takes quite a bit of time.

Good luck. But take my words with salt, I don't make videos.
Yes! Thank you.
I'm working on this on my own, so yes, it is very rough on the first run-through. I haven't done vids before so I'm still trying to get talking-while-programming down. I think I could get it with a bit more practice (much of the mistakes filmed are because I'm trying to multitask).

I was considering not even showing the first video; I feel like there's plenty of install directions available for each OS, and there's nothing really useful there since they only have to redo it if they buy a new computer. I like your idea of giving resource links, I'll just place a link to sources for install instructions under a vid about opening their first window (and mention those links in the video).

I'm not a game developer either, that's why I like the software rendering, SDL_Surface allows direct access to the pixel buffer so I can programmatically change it's contents. (I've been able to play with Bresenham's algorithm for drawing a line among others) You're very right that sending it to the graphics card would be much more valuable for a game programmer. (I haven't looked into texture rendering yet, so I'll be doing some reading today)

"A good way you could improve your videos is to finish your code completely first then break that down to make the videos. "
- Definitely, You got me thinking about the process: I'll do a dry run first, print out the results, then film with those as notes. I will set in highlighter things that need explaining.

OK, Thank you again Poteto. I'll get into research until I get textures down and try to get a texture rendering tutorial up instead of (or alongside) blitting. Research first.

I'll be back.

Edit: Note to self;
Yes, I can still access the contents of a hardware texture, more research required but it looks like a softwareRenderer may draw to an SDLSurface...? So episodes producing fractal images may not be outside the scope of the tutorials... I want at least one psychedelic video.
Last edited on
closed account (E0p9LyTq)
Document the steps you did to create the complete example code. Use those steps to "script" the video.
So Episode 5 is up.
I spent 4 hours straight lining it out, researching and I even did a practice run first

I had notes this time, but typing and talking means both hands and brain were occupied, so I couldn't flip through the cards.
So, printed material is kind of out the window until I figure out something. But the amount of preparation did result in a much quicker smoother video, and I do feel more accomplished afterword.
Thank you guys, and any other input is greatly appreciated.

I'll be adding a thank you in the video descriptions.
Last edited on
Alright, Episode 7 is up, 8 is on the way. We have got a plugin system up and running.

I kind of bit off a lot on episode 7. Plugins are definitely a more advanced topic, but definitely worth researching if you want to make your program extendable by the community. It's a way to open up your program to mods and enhancements.

Edit: I've hit a snag with episode 8. I have to re-film after I do a bit more research. I hope to make it a short episode because it's mostly going to be about setting up an interface between a plugin and the program so auto-loading can be done. I'll post again here when 8 is actually up.

Any suggestions on what you want to see next?
(Should Bob do a back flip? A.K.A. image rotation?)
Last edited on
Episode 8 is done!
In it we create an interface between the window and the plugin.
My next video is going to be about Drag and Drop in SDL2, and it's going to continue the Plugin arch as well.

Do you see where I'm heading?

Hint: can you imagine dropping a character directly into a game?

It's going to take me a couple of days to film this, please comment in episode 8 if you get there before me,
Yes, that is a challenge! Go!
Was this thread moved!?
I remember it being in the lounge
Yeah, I decided to move it. (Edit topic at the top of your own thread and change the forum)
In my last couple of posts I am shamelessly pumping for views, but I really do respect the community here.

I don't feel like this counts as spamming, I am doing my best to only bump when I have a new episode to announce, or a question that I'd like help with, otherwise I just update one of the older posts with an "edit:" heading (no bump).

I'm a bit less nervous about the series since poteto got me inspired to really research SDL2. I've been actually digging into their source code to get a good understanding of how things work. I still plan to remake the entire series by the end of April, I have to make many improvements. Soon I'll go back and restart from the beginning so any advice/suggestions you guys have is still needed and very helpful.

Episode 9 is now up, I'm still sick so filming took forever and I was trying to get it with as little coughing as I could. The best news is that I'm going to finish episode 10 then start re-shooting from the beginning. I plan on taking things a bit slower for each and really getting things the way they should be. I'll watch similar videos to try and get some different filming styles down... I do plan to start adding little easter eggs from time to time now.

(OMG Guys! I just got my first subscriber ever! I'm so excited! Exclamation marks all over the place! YAY!)
Last edited on
Registered users can post here. Sign in or register to post.