Learn C++ Game Development

C++ game development course for beginners.
  • Lectures 43
  • Video 5 Hours
  • Skill level beginner level
  • Languages English
  • Includes Lifetime access
    30 day money back guarantee!
    Available on iOS and Android
    Certificate of Completion

How taking a course works

Discover

Find online courses made by experts from around the world.

Learn

Take your courses with you and learn anywhere, anytime.

Master

Learn and practice real-world skills and achieve your goals.

Course Description

Learn C++ game development is a course I made for everyone who knows how to program, but doesn't know where to start with game development. The course teaches you how to use the SFML library for C++, to start working with graphics, events and sound to create a 2D game. Everything is done step by step with the help of videos, so it's easy to follow along and learn. At the end of the course you will know what you need for game programming and will be able to start making your own games.

Warning: This course was published more than 2 years ago and the technology used in it progresses fast. The current most updated version of SFML (2.1) doesn't work out of the box with Visual Studio 2013 (or the express editions) and it requires more work to setup. If you want to follow this course easily, then you should use the 2012 or older version of Visual Studio (or the express edition) which can still be officially downloaded from Microsoft site.

What am I going to get from this course?

  • Over 43 lectures and 4 hours of content!

Curriculum

02:34

A welcome video where I explain what you need for the course, what you will learn and how it's going to progress.

Section 1: Lesson 1: Setup
12:55

A new video, where I will show you how to prepare you environment, so you can continue with the course using the latest Visual Studio 2013 and SFML 2.1. You can skip lecture "Installing Visual C++" and "Installing SFML" if you use this video.

Made because there were many questions on how to use the latest software with this course.

The microphone quality is a little bad and some words are muffled, but I hope this video will help everyone out there.

07:23

In this video I show how to install Visual C++ Express 2010.

Link to the site:

http://www.microsoft.com/visualstudio/en-us/products/2010-editions/visual-cpp-express

09:27

In this video I show how to prepare te library SFML to use it with Visual C++.


Link for the download:

http://www.sfml-dev.org/download/2.0-rc/SFML-2.0-rc-windows-32-vc2010.zip

Section 2: Lesson 2: The window
11:45

In this video I show you how to create the project in Visual C++.

08:06

In this video I show you how to create a simple window for the game.

07:24

in this video I show you how the basic game loop is constructed.

1.29 MB

If you want you can download the file, extract it and then open the solution with Visual C++ Express.

Section 3: Lesson 3: Events
09:59

In this video I show and explain to you how to use keyboard events in SFML.

11:41

In this video I show and explain to you how we can use a state based system to separate events from logic.

1.29 MB

If you wish you can download, extract and open the file to see how the project should look like by now.

11:34

In this video I show and explain to you how we can use mouse events for our game.


NOTE:

There is a faulty line of code:

int mouseX, mouseY;

Replace it with:

int mouseX = 0, mouseY = 0;
1.29 MB

If you wish you can download, extract and open the file to see how the project should look like by now.

Text
Here are some exercises for "Lesson 3: Events". These exercises will test if you understood how to use events and separate events from logic. The exercises go from the easiest to the hardest, but are all solvable with some logical thinking. After you finished the exercises or if you don't know one y…
12:58

In this video I show you the solutions for the exercises.

Section 4: Lesson 4: Drawing or rendering
15:32

In this video I show and explain to you how to draw simple shapes like a rectangle and a circle.

1.29 MB

If you wish you can download, extract and open the file to see how the project should look like by now.

09:31

In this video I show and explain to you how to create a simple image, load it and render it in the game.

Link to GIMP website:

http://www.gimp.org/

03:57

In this video I show and explain to you how to find an image and then prepare it for use in the game.

Link to OpenClipArt website:

http://openclipart.org/

1.64 MB

If you wish you can download, extract and open the file to see how the project should look like by now.

07:54

In this video I show and explain to you how to load and render fonts in the game.

I have gotten a notice so I will post this here. If you are planning on releasing your games in the future, then don't use Microsoft fonts, but find some free and open sourced ones on the web. They are really easy to find, and you can avoid licensing problems.

2.05 MB

If you wish you can download, extract and open the file to see how the project should look like by now.

Section 5: Lesson 5: Sounds and music
03:59

In this video I show and explain to you how to prepare the project in order to be able to use sounds and music in the game.

07:06

In this video I show and explain to you how to create a simple sound using a website and then load and play it in the game.

Link to site:

http://www.bfxr.net/

2.72 MB

If you wish you can download, extract and open the file to see how the project should look like by now.

05:10

In this video I show and explain to you how to find and prepare music to load and play it in the game.

Websites:

http://www.jamendo.com/en

http://media.io/

2.78 MB

If you wish you can download, extract and open the file to see how the project should look like by now.

Section 6: Lesson 6: Game mechanics
09:32

In this video I show and explain to you how to use what we have learned till now to create some simple game logic.

2.66 MB

If you wish you can download, extract and open the file to see how the project should look like by now.

12:42

In this video I show and explain to you how to create simple movement with events and rendering.

2.66 MB

If you wish you can download, extract and open the file to see how the project should look like by now.

08:59

In this video I show and explain to you how basic collision works.

2.66 MB

If you wish you can download, extract and open the file to see how the project should look like by now. 

Section 7: Lesson 7: Creating the game "Pong"
07:48

In this lesson we take a look at the resources we are going to use in the game. We also prepare our code and load eveything.

3.41 MB

Download the zip and extract it. In it you will find the data folder with the files and the project.

07:46

In this video we get the images on the screen using shapes.

3.41 MB

If you wish you can download, extract and open the file to see how the project should look like by now. 

15:12

In this video we add movement to the pad and the ball.

3.41 MB

If you wish you can download, extract and open the file to see how the project should look like by now. 

10:24

In this video we create a very simple AI for the 2nd pad, and we add collision check for the ball.

3.41 MB

If you wish you can download, extract and open the file to see how the project should look like by now. 

12:34

In this video we finish up our game.

7.03 MB

If you wish you can download, extract and open the file to see how the project should look like by now. 

Instructor Biography

Luka Horvat , Independent Game programmer, designer

Luka is an independent game programmer and designer with much experience from different projects and many different programming languages. He has been interested in computer science and programming from his early years. That, and a passion for games lead him into the field of video game design and programming. In 2011 he started making tutorials on game development, and has now moved to Udemy to continue teaching others how to make games.

Reviews

Average Rating
4.5
Details
  1. 5 Stars
    124
  2. 4 Stars
    44
  3. 3 Stars
    13
  4. 2 Stars
    5
  5. 1 Stars
    2
    • Austin Lee Covington

    Great for the beginner!

    This is a pretty damn good course for the beginners. I had very little programming experience before this course (3 years of high school experience in web design with the last year being Javascript and PHP learning through variables and if/else statements) so I didnt go into this course completely new, BUT on that same note Luka does an excellent job in explaining what he is doing and these topics and can really address to you the learner the elements your working on. The only gripe I have about this course is that the final project Pong has a bug where if the ball lands either on the top, top corner, bottom, or bottom corner it glitches back and forth between the shape of the paddle, which is annoying but hey you still made pong and learned a great deal of c++ in a short amount of time. One thing I highly advise students of this course to do is play around with the "settings" or attributes of the variables, i.e make shapes different sizes, make different speeds, change it up a bit. A fun thing to try to figure out is how to increase the ball's speed each round of pong, its a very VERY simple function and if your new to programming its a good exercise to test your knowledge on what you learned. Also try making the game 2 players. Again this is when you finish the course for the Pong examples but while going through the course play around with everything, it will help you a lot in the long run. Again this is a great course, just wish for the pong example it fixed the bug, but hey you learn very basic c++ and get the great reward of knowing you actually made something in a programming language which in itself pays for this course.

    • Aqdas Rauf

    Excellent course for beginners

    If you have any programming experience and looking at a starting point in video games, this is one of the better courses out there. Starts with basics and builds on it. My favorite part is the explanation behind almost every step unlike other tutorials and courses out there. However, I found the amount of content to be unsatisfactory. Perhaps a few more lessons to build on in continuation of the course? Suggest sprites, animation, alpha blending and few more basics, Hoping for more from this author.

    • Richard Patching

    Clear and Concise Introduction to SFML and C++ Games Development

    A very good introduction to SFML and C++ games development. Being C++ it would have been good if the author had shown how to architect the game into a more Object Oriented manner, hence the 4 stars instead of 5. Would recommend regardless!

    • Aaron Armstead

    Good course

    Well thought out and well made. Should be called Learn C++ Game Development with SFML as the material is specific to that engine. However, plenty of useful guidelines even if you won't be using SFML later on.

    • Bradley C Johnston

    Simple intro that helps with concepts

    This was a simple and easy to understand course with covers most of the basics (basic graphics, sounds and music, boundaries and collisions, and a bit of game play ). A good intro to games.

Show more reviews

What you get with this course

30 day money back guarantee

Lifetime access

Available on desktop, iOS and Android

Certificate of completion

Join the biggest student community

5,400,000

Hours of video content

21,000,000

Course enrollment

6,300,000

Students

Ready to start learning?
Preview this course