Blong contents ( C++11, SDL2 )


Below you’ll find a list of all the tutorials with a list of part and a short description of each part.

Game programming in SDL2

A tutorial about making games. Focuses a lot on SDL 2, but also other topics related to game programming. Some parts are pretty extensive so that you’ll get a deeper understanding about what’s going on.

Part 1 – Setting up SDL 2

This part gives you a quick introduction to SDL 2. It’ll help you set up SDL2 including header files, linking and everything you need to get SDL 2 up and running. It also contains a bare-boned SDL2 program.

Part 2 – Your first SDL 2 application

Here we take a look at the two basic structs of SDL 2, SDL_Window and SDL_Renderer. It’ll help you understand what these do and how to initialize them and the basics of SDL2 correctly. We also take a look at how to set the render color ( which also works as background color )

Part 3 – Drawing rectangles

Here we take a look at SDL_Rect and how to render it with SDL_RenderDrawRect and SDL_RenderFillRect.

Part 4 – Making things happen

About events in SDL 2. How to get the events, how the event structure, SDL_Event laid out, and how we do we handle the event.

Part 5 – Collision detection and our first game!

We learn how to check for collisions and make a simple game out of it.

Part 6 – Let’s load some textures!

In this part we take a look at SDL_Textures and how to create them from image files ( bmp. ) We also look at how to render SDL_Textures.

Part 7 – Using PNG files

We look at, and set up, SDL_Image library. This is used to load png files which then can be rendered with the transparency layer.

Part 8 – It’s TIME for another update!

Here we look at a new rendering function, SDL_RenderCopyEx. The function lets us render textures rotated. We use it to make a simple analog clock.

Part 9 – No more delays!

Up until now we’ve used SDL_Delay to limit framerate to ~16 FPS. We look at how to render using a delta time.

Part 10 – Text Rendering

Text rendering in games can be tricky. Luckily, SDL2_TTF does this for us. This part talks about SDL2_TTF, how to set it up and how to use it.

C++11 Features

A series about the new features of C++11. I will try to explain everything thoroughly and extensively. The goal is to learn about C++11, how the various parts of it works and why you should use them.

I will cover both minor features like enum classes and larger ones like chrono

Part 1 – Enum classes

This is a very short part about the new version of enums, enum classes. It covers what they are and why you should use them as much as possible

Part 2 – Timing with chrono

This part is very extensive and covers the new timing features of C++11, chrono. It will help you when you’re dealing with timing in games and other applications.

My SDL2 Tutorial part 9 ( No more delays! ) also deals with chron but this part covers it more extensively.

Part 3 – Smart pointers in C++11

About smart pointers in C++11 ( unique_ptr, shared_ptr and weak_ptr ) what they are, how they work and how to use them. You should always use smart pointers unless you have a really good to.

Feel free to comment if you have anything to say or ask questions if anything is unclear. I always appreciate getting comments.

You can also email me :

Leave a Reply

Your email address will not be published. Required fields are marked *