Beginning C++ Game Programming - Part 2
3.0 (1 rating)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
38 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Beginning C++ Game Programming - Part 2 to your Wishlist.

Add to Wishlist

Beginning C++ Game Programming - Part 2

Learn C++ and start building your very own games
3.0 (1 rating)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
38 students enrolled
Created by Packt Publishing
Last updated 6/2017
English
Curiosity Sale
Current price: $10 Original price: $125 Discount: 92% off
30-Day Money-Back Guarantee
Includes:
  • 3 hours on-demand video
  • 1 Supplemental Resource
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I Learn?
  • Get to know C++ while simultaneously learning game building
  • Learn more advanced C++ topics such as classes, inheritance, and references
  • Get ready to go and build your own unique games!
View Curriculum
Requirements
  • Stretch your C++ knowledge beyond the beginner level and use concepts such as pointers, references, and the Standard Template Library to add features—for example, split-screen coop, immersive directional sound, and custom levels loaded from level-design files.
Description

This video course is all about offering you a fun introduction to the world of game programming, using a fun, fully-playable game. The game is an addictive frantic split-screen multiplayer puzzle-platformer.We will go through the key C++ topics, such as OOP (Object-Orientated Programming).While building the game, you will also learn exciting game programming concepts such as directional sound (spatialization).

Stretch your C++ knowledge beyond the beginner level and use concepts such as pointers, references, and the Standard Template Library to add features—for example, split-screen coop, immersive directional sound, and custom levels loaded from level-design files.

About the Author

John Horton is a coding and gaming enthusiast based in the UK. He has a passion for writing apps, games, books, and blog articles about programming, especially for beginners. He is the founder of Game Code School, which is dedicated to helping complete beginners get started coding using the language and platform that is best for them. John sincerely believes that anyone can learn to code and that everybody has a game or an app inside of them, and that they just need to do enough work to bring it out.

Who is the target audience?
  • This course offers a fun, example-driven approach to learning game development and C++. In addition to explaining game development techniques in an engaging style, you’ll learn the key C++ topics by building a game in a practical (not theory-based) way, with multiple runnable/playable stages in each section.
Students Who Viewed This Course Also Viewed
Curriculum For This Course
25 Lectures
02:45:05
+
Abstraction and Code Management – Making Better Use of OOP
5 Lectures 40:33

This video provides an overview of the entire course.

Preview 03:05

To keep our game simple without losing the challenge, we will have the task of creating the need for two players to Play cooperatively. We also need to make sure the game is not too easy. This video shows us the basic features and the assets we need to create our game.

The Thomas Was Late Game
10:57

One of the problems that has been quite pronounced so far is how long and unwieldy the code gets. OOP allows us to break our projects up into logical and manageable chunks called classes. Let's see how we can make a big improvement to the manageability of the code.

Structuring the Thomas Was Late Code
03:50

As discussed earlier, we will code a class called Engine that will control and bind together the different parts of the Thomas Was Late game. This video guides you in building the Engine class, which will hold all other functions.

Building the Game Engine
20:44

Coding the Main Function
01:57
+
Advanced OOP – Inheritance and Polymorphism
6 Lectures 38:58

We have seen how we can create objects from the classes of the SFML library. But, what if there is a class that has useful functionality, but is not quite what we want? This video will teach you how you can inherit from the other class.

Preview 04:52

Polymorphism allows us to write code that is less dependent on the types we are trying to manipulate. In this video, we'll take a look at what polymorphism means in its simplest form.

Polymorphism
02:33

An abstract class is a class that cannot be instantiated and therefore cannot be made into an object. So, is it code that will never be used, then? Let's find out.

Abstract Classes – Virtual and Pure Virtual Functions
04:07

Now that we know the basics about inheritance, polymorphism, and pure virtual functions, we will put them to use. In this video, we'll build a PlayableCharacter class that has the vast majority of the functionality.

Building the PlayableCharacter Class
13:13

Now it's time for us to use inheritance for real. We will build a class for Thomas as well as Bob. They will both inherit from the PlayableCharacter class we have coded. Let's see how we do that.

Building the Thomas and Bob Classes
05:43

In order to be able to run the game and see our new characters, we have to declare instances of them, call their spawn functions, update them in each frame, and draw them in each frame. Let's do that now.

Updating the Game Engine to use Thomas and Bob
08:30
+
Building Playable Levels and Collision Detection
5 Lectures 29:49

There are different levels in a game. In this video, you will learn about the different levels in our game.

Preview 04:12

We need to add levels to the levelmanager class that we will create. This video will guide you through that.

Building the Level Manager Class
11:21

For using the level manager class that we created earlier, we need to code for loading the level in the engine class.

Coding the loadlevel Function
03:16

After adding classes in engine, we will update the engine in order to make final changes in the view of our game in this video.

Updating the Engine
02:49

To detect if our players come in contact with other things in the game or each other, we need a collision detector.

Collision Detection
08:11
+
Sound Spatialization and HUD
6 Lectures 27:39

Spatialization is making something relative to the space it is a part of. It gives the game a real-world feeling. In order to do that, we must first understand spatialization and how it works.

Preview 05:49

To manage all the sounds that will be used in our game, we will create a class and manage all our sound effects through that.

Building the SoundManager Class and Adding it to the Game Engine
06:39

When a player nears a particular tile, a sound is emitted from the tile which makes it easy for the player to identify the type of tile they are going toward. This helps in creating a real-life effect in the game.

Populating the Sound Emitters
03:01

Now that we have all the functions for sound effects in the appropriate places, we will code for playing these sounds according to the time and place.

Playing Sounds
03:30

In order to interact with the player, we require text in our game. The HUD class helps in that.

The HUD Class
04:41

To let the player know about his score, health, and even position, we need to know how to use the HUD class.

Using the HUD Class
03:59
+
Extending SFML Classes, Particle Systems, and Shaders
3 Lectures 28:06

The Drawable class has just one function. It has no variables either. Furthermore, its one and only function is pure virtual. This means that if we inherit from Drawable, we must implement its one and only function. This video will guide you how we can solve this problem.

Preview 05:15

We will use the particle effect in our game. When a character Dies, he will explode in a starburst/firework-like particle effect. Let's see how we can achieve that.

Building a Particle System
13:27

Open Graphics Library is a programming library that handles 2D and 3D graphics. This video explores how OpenGL works.

OpenGL, Shaders, and GLSL
09:24
About the Instructor
Packt Publishing
3.9 Average rating
7,297 Reviews
52,158 Students
616 Courses
Tech Knowledge in Motion

Packt has been committed to developer learning since 2004. A lot has changed in software since then - but Packt has remained responsive to these changes, continuing to look forward at the trends and tools defining the way we work and live. And how to put them to work.

With an extensive library of content - more than 4000 books and video courses -Packt's mission is to help developers stay relevant in a rapidly changing world. From new web frameworks and programming languages, to cutting edge data analytics, and DevOps, Packt takes software professionals in every field to what's important to them now.

From skills that will help you to develop and future proof your career to immediate solutions to every day tech challenges, Packt is a go-to resource to make you a better, smarter developer.

Packt Udemy courses continue this tradition, bringing you comprehensive yet concise video courses straight from the experts.