Tags
Language
Tags
May 2024
Su Mo Tu We Th Fr Sa
28 29 30 1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31 1

Complete Game Development Series 04 - Making A Game With C++

Posted By: ELK1nG
Complete Game Development Series 04 - Making A Game With C++

Complete Game Development Series 04 - Making A Game With C++
Published 11/2023
MP4 | Video: h264, 1920x1080 | Audio: AAC, 44.1 KHz
Language: English | Size: 17.88 GB | Duration: 37h 58m

Learn the Fundamentals of C++, Git, CMake, and Make a Game from Scratch

What you'll learn

Learn the Fundamentals of C++

Make a Complete Game with C++

Learn C++ Application Development Proces

Adapt to Git and GitHub SCM

Adapt the CMake Build Tool

Requirements

Time and Dedication

Passion to Game Development

Experience with programming is a plus, but not required.

Description

In this comprehensive course, students will delve deeply into the fundamental aspects of C++, explore the language's core concepts, study the principles of Object-Oriented Programming, and achieve mastery over the intricacies of memory management. The curriculum goes beyond theoretical knowledge, extending to the creation and practical utilization of C++ libraries and executables, equipping learners with tangible, applicable skills. Emphasizing tools relevant to the industry, the course seamlessly integrates Git and CMake into the workflow, ensuring that students acquire essential instruments widely employed in software development.Having established a robust foundation, the course then progresses to the dynamic creation of a complete game from scratch. This exciting phase involves leveraging C++ in conjunction with a carefully chosen array of powerful libraries. Through immersive, hands-on experiences, students not only cultivate a profound understanding of C++ but also witness firsthand its practical applications in real-world scenarios.Upon completing the course, participants will have garnered valuable insights and proficiency, empowering them to confidently pursue careers in software engineering for game development. Furthermore, the acquired knowledge acts as a sturdy launching pad for further studies, encompassing advanced topics like Unreal Engine and broader application development.This course stands as the fourth installment in a comprehensive game development series and marks the initial exploration of C++. Importantly, students aspiring to study C++ and subsequently delve into Unreal Engine are not obliged to complete the preceding three courses in the series.

Overview

Section 1: Introduction

Lecture 1 Introduction

Section 2: Fundamentals of C++

Lecture 2 Install Visual Studio and C++

Lecture 3 Our First Project, Visual Studio and the Entry Point

Lecture 4 The Hello World Program, Statements and include

Lecture 5 Variables

Lecture 6 Other Variable Types and Details about Variables

Lecture 7 Baiscs of Array

Lecture 8 The Vector Type

Lecture 9 The Map Type

Lecture 10 Operators

Lecture 11 Inputs

Lecture 12 If Statement

Lecture 13 Foor Loop

Lecture 14 Using Foor Loop with Arrays and Vectors

Lecture 15 While and Do While Loop

Lecture 16 Switch and Enum Types

Lecture 17 Simple Tasks 01 Convert Miles to Kilos

Lecture 18 Simple Tasks 02 Odd or Even Number

Lecture 19 Simple Tasks 03 Count Repeated Words 01 Clean up Input

Lecture 20 Simple Tasks 03 Count Repeated Words 02 Count the Words

Lecture 21 Simple Tasks 04 Find the Smallest Number

Lecture 22 Simple Task 05 The Bubble Sort Algorithm

Lecture 23 Fundamentals of Functions

Lecture 24 Pass by Reference and the const keyword

Lecture 25 Basics of Templates

Lecture 26 Variadic Templates and Template Specialization

Section 3: Structures of a C++ Project and Library Linking

Lecture 27 Building Stages of a Program and Multiple files

Lecture 28 Header Files and Inlines

Lecture 29 Separate Utility Code into A Library Project

Lecture 30 Link the Utility Library

Lecture 31 Link the Utility Library with DLL

Lecture 32 Package and Use Our Library in Other Solutions

Section 4: Memory and Pointers

Lecture 33 Basic Structure of Memory

Lecture 34 Pointers

Lecture 35 Debugging and Detailed Examination of Pointers

Lecture 36 The Array Type and Pointer

Lecture 37 The Stack Memory

Lecture 38 The Heap Memory

Lecture 39 Access Violation and Memory Leaks

Lecture 40 Unique Pointer

Lecture 41 Shared Pointer

Lecture 42 Weak Pointer

Section 5: Classes

Lecture 43 Basics of Classes

Lecture 44 Constructors

Lecture 45 Destructors

Lecture 46 Member Functions and Setter and Getter Pairs

Lecture 47 The Const Keyword in Classes

Lecture 48 Basics of Inheritance

Lecture 49 The Protected Keyword and Function Overriding

Lecture 50 Poly Morphism and Pure Virtual Functions

Lecture 51 Problems with Shallow Copy

Lecture 52 Deep Copy and the Move Semantic

Lecture 53 The Copy Assignment Operator

Lecture 54 Operator Overloading

Lecture 55 Move Assignment Operator and the Big Five

Lecture 56 Move Class to Header and Cpp Files

Lecture 57 Template Classes

Lecture 58 Binary Operators and the Issue with the Friend Keyword

Lecture 59 The Static Keyword in Class

Section 6: Git

Lecture 60 Git and GitHub

Lecture 61 Basic History Tracking with Git

Lecture 62 Basics of Branches

Lecture 63 Reset the History and Reflog

Lecture 64 Revert Commits

Lecture 65 Merge Conflict

Lecture 66 Push our Repo to GitHub

Lecture 67 Update Local and Remote Repositories with Push and Pull

Lecture 68 Git Ignore

Section 7: Light Years Engine

Lecture 69 Install CMake

Lecture 70 Using CMake to Make Our Project

Lecture 71 Add Light Years Game Project

Lecture 72 Refactor the CMake Source Files and Setup Git

Lecture 73 Fetch SFML to Our Project

Lecture 74 Add Post Build Command to Copy Shared Libraries to Build Target

Lecture 75 Setup the Application Class

Lecture 76 Setup the Game Loop

Lecture 77 Setup the Rendering

Lecture 78 Entry Point and Separate Engine and Game Code

Lecture 79 Create the Core and the Logging Macro

Lecture 80 Defining Common Data Types

Lecture 81 Implement the World Class

Lecture 82 Implement the Actor Class

Lecture 83 The Object Class and Handle Object Destruction

Lecture 84 Add Rendering Sprite to Actor

Lecture 85 Use a Config File to Setup Asset Path

Lecture 86 Create the Asset Manager

Lecture 87 Setup Asset Clean Cycle

Lecture 88 Implement the Actor Transformation Interface

Section 8: Spaceship and Player

Lecture 89 Create the Spaceship Class

Lecture 90 Player Spaceship and Move Input

Lecture 91 Normalize Player Input

Lecture 92 Prevent Player from Going Beyond the Window

Section 9: Bullet and Physics Detection

Lecture 93 Basic Shooting Mechanics

Lecture 94 Create the Bullet Class and Spawn the Bullets

Lecture 95 Bullet Destruction and Actor Clean Cycle

Lecture 96 Fetch the Box2D Physics Engine

Lecture 97 Add the Physics System

Lecture 98 Create the Add Listener Function

Lecture 99 Setup Actor Physics Initialization

Lecture 100 Connect Overlap Events

Lecture 101 100 Implement Physics Body Removal

Section 10: Damage and Delegates

Lecture 102 Implement the Health Component

Lecture 103 Introduction to the Lambda and the Std Function Class

Lecture 104 Enable Get Weak Pointer from This

Lecture 105 Create the Delegate Class and the Bind Action Interface

Lecture 106 Finish the Delegate Class

Lecture 107 Using Team ID and Apply Bullet Damage

Lecture 108 Hit Blink and Lerp Facilities

Lecture 109 Create the Particle Class

Lecture 110 Create the Explosion Class

Section 11: Enemy and Timers

Lecture 111 110 Enemy and Vanguard

Lecture 112 111 Create the Game Level One Class

Lecture 113 112 Create the Base Interface of the Timer Manager

Lecture 114 Implement the Timer Class and Issue the Callback

Lecture 115 Create the Clear Timer Functionality

Lecture 116 Refactor the Key of the Timers to Our Own Timer Handle Class

Lecture 117 Create the Base Game Stage Class

Lecture 118 Use the World to Manage the Stages

Lecture 119 Create the Vanguard Stage

Lecture 120 Create the Twin Blade Enemy

Lecture 121 Create the Twin Blade Stage

Lecture 122 Create the Wait Stage and Refine the Stage Cleanup Control

Lecture 123 Create the Hexagon Enemy

Lecture 124 Create the Hexagon Stage

Lecture 125 Create the UFO Class

Lecture 126 Create the UFO Stage

Section 12: Weapon and Rewards

Lecture 127 Implement the Three Way Shooter

Lecture 128 Implement the Frontal Wiper

Lecture 129 Create the Reward Class

Lecture 130 Create the Reward Factory Functions

Lecture 131 Spawn Rewards When Enemy Dies

Lecture 132 Add Weapon Levels

Lecture 133 Add the Player Class

Lecture 134 Implement the Player Manager Class

Lecture 135 Implement Player Respawning

Section 13: HUD and Widgets

Lecture 136 Create the HUD Class

Lecture 137 Handle HUD in the World Class

Lecture 138 Create the Widget Base Class

Lecture 139 Create the Text Widget Class and Load Font Through the Asset Manager

Lecture 140 Refactor the Asset Manager Class

Lecture 141 Add the Gameplay HUD and Show Frame Rate of the Game

Lecture 142 Implement the Value Guage and Health Bar

Lecture 143 Update Player Health to the Health Bar

Lecture 144 143 Refine the Player Health Bar

Lecture 145 Add the Image Widget and Player Life Icon

Lecture 146 Display the Life Count on the UI

Lecture 147 Refactor the Casting to None Casting in the Reward Class

Lecture 148 Display the Player Score

Lecture 149 Add the Life Reward and Adjust Reward Spawn Rate

Lecture 150 Layout the Basics Structure of the Button Class

Lecture 151 Implement the Button Behavior and Click Event

Lecture 152 Implement the Button Behavior and Click Event

Lecture 153 Load the Game Level with the Main Menu

Section 14: Chaos and Boss Stage

Lecture 154 Layout the Basic Facilities of the Chaos Stage

Lecture 155 Finish the Chaos Stage

Lecture 156 Add Player Invulnerable State

Lecture 157 Add the Boss and Boss Stage Class

Lecture 158 Add Boss Movement and Base Shooters

Lecture 159 Add Different Stages to the Boss

Lecture 160 Balance the Boss Difficulty

Section 15: Ending States and Cosmetics

Lecture 161 Add Game Over and Win UI

Lecture 162 Reset Player and Physics System when Retarting

Lecture 163 Test the Win State

Lecture 164 Add the Backdrop Actor

Lecture 165 Create the Background Layer Class

Lecture 166 Load Textures and Initialized the Sprites with Random Textures

Lecture 167 Random Sprite Transform and Velocity

Lecture 168 Setup Moving and Rendering of the Sprites

Lecture 169 Add the Planets and Meteors Background Layer

Section 16: Building on Mac OS

Lecture 170 Use Homebrew to Install Git and CMake on MacOS

Lecture 171 Build Our Game on MacOS

Lecture 172 Final Touches

Section 17: Final Remark

Lecture 173 Final Remarks

Beginners who what to learn C++ and Game Development,Unity developers who want to jump into Unreal Engine but have no experience with C++,Unreal Engine Developers who what to start using C++ instead of Blueprint,College students who need additional material to study coding,Software Engineer who are interested in game development