A downloadable game tutorial for Windows

Download NowName your own price

Ever wondered how are games programmed?

In this tutorial series, I will teach you how to make a game in C++.
Hopefully, you will learn the fundamentals of game programming and be able to make your own games by the end!

This series is beginner friendly, and I'll take a step by step approach, to make sure everyone can follow along. (But basic programming skills are recommended).

You can watch the whole tutorial series here on Youtube: https://www.youtube.com/playlist?list=PL7Ej6SUky135IAAR3PFCFyiVwanauRqj3

I hope you enjoy programming this game as well! :D



This license is supposed to be as permissive as possible. So attribution is not required, but appreciated. A donation is also appreciated :) .

This software is dual-licensed to the public domain and under the following license: you are granted a perpetual, irrevocable license to copy, modify, publish, and distribute the software and its source code as you see fit.

The software is provided "as is", without warranty of any kind, express of implied, including but not limited to the warranties of merchantability, fitness for a particular purpose and noninfrigement. In no event shall the author be liable for any claim, damages of other liability, whether in an action of contract, tort of otherwise, arising from, out of or in connection with the software or the use or other dealing in the software.


Download NowName your own price

Click download now to get access to the following files:

Pong - Complete Tutorial.exe 24 kB
Pong - Complete Tutorial - Source Code.zip 8 kB
Pong - Tutorial #5.exe 16 kB
Pong - Tutorial #5 - Source Code.zip 7 kB
Pong - Tutorial #4.exe 14 kB
Pong - Tutorial #4 - Source Code.zip 6 kB
Pong - Tutorial #3 - Source Code.zip 6 kB
Pong - Tutorial #3.exe 63 kB
Pong - Tutorial #2 - Source Code.zip 4 kB
Pong - Tutorial #2.exe 62 kB
Pong - Tutorial #1 - Source Code.zip 3 kB

Development log

View all posts


Log in with itch.io to leave a comment.

I really appreciate your work 😊.

I am really glad you liked it! :D

Thank you so much!  This really helped me a lot!

I do have a question.  How do you get the exe files?  I have tried to get them as a released exe but when I run it on my virtual machine, it gives errors.  Could you please let me know how you did it?

Hi Sypder!

When you build the project, there should be a "Release" or "Debug" folder inside the project folder (depending if you built it debug or release).

The .exe file inside this folder should be all your need to distribute your game!

Did the error occur when you tried opening this specific file? If so, what error appeared?

Thank you so much for your response!

I have gotten errors when I run the exe file when it is not in the same directory as the ddl files.  Since your game comes as just an exe, I was wondering how to do this as well.

That totally depends on the libraries you use to develop your game.

For example, if you use SDL2, you need to ship SDL2.dll with your game for the players.

If you release the game to Steam, you need steam_api64.dll.

And the list goes on...

For this small game, I used no dynamic libraries at all (no dlls), so I could just distribute the .exe!

But for bigger games, it is inevitable. If you open some of your favorite games' directories, you will most certainly see tons of dll's there.

So the best you can do is to create a .zip file with all the dependencies (which will probably also include assets such as .pngs, .wavs, etc) and distribute the .zip for players.

In itch, you can use the 'butler' build tool to send the folder directly, just like with Steam's Content Builder tool, but the idea is the same: pack all the necessary files in a .zip for players.


Thank you so much!   That helps a lot!  Thank you so much for helping me!

(1 edit)

I really appreciate what you've done. What you did was hard work for sure. I just finished tutorial #1 and moving on to #2. Thank you very much for your tutorials.

Windows API has always been very complex for me and I've tried working with it for many years. I still do not understand how it works. So I am actually worried that, even though I'm following along, I will not be able to work with the code on my own. I also want to spend my time working on the game and not always debugging the winapi code.

Anyway, I'm gonna try to get through the rest of the series and hopefully I can grasp the basics.

Excellent tutorial! You're a saviour for me when it comes to c++ game development!


Thanks so much for your kind comment, Noel! :D