Mô tả

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.

Bạn sẽ học được gì

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

Yêu cầu

  • Time and Dedication
  • Passion to Game Development
  • Experience with programming is a plus, but not required.

Nội dung khoá học

17 sections

Introduction

1 lectures
Introduction
10:44

Fundamentals of C++

25 lectures
Install Visual Studio and C++
05:38
Our First Project, Visual Studio and the Entry Point
09:28
The Hello World Program, Statements and include
07:03
Variables
09:42
Other Variable Types and Details about Variables
16:24
Baiscs of Array
12:27
The Vector Type
17:42
The Map Type
11:59
Operators
17:23
Inputs
12:57
If Statement
15:26
Foor Loop
15:53
Using Foor Loop with Arrays and Vectors
15:44
While and Do While Loop
07:40
Switch and Enum Types
16:45
Simple Tasks 01 Convert Miles to Kilos
11:44
Simple Tasks 02 Odd or Even Number
09:36
Simple Tasks 03 Count Repeated Words 01 Clean up Input
13:53
Simple Tasks 03 Count Repeated Words 02 Count the Words
09:25
Simple Tasks 04 Find the Smallest Number
10:02
Simple Task 05 The Bubble Sort Algorithm
11:46
Fundamentals of Functions
12:41
Pass by Reference and the const keyword
12:50
Basics of Templates
10:35
Variadic Templates and Template Specialization
16:05

Structures of a C++ Project and Library Linking

6 lectures
Building Stages of a Program and Multiple files
10:14
Header Files and Inlines
15:00
Separate Utility Code into A Library Project
11:45
Link the Utility Library
09:47
Link the Utility Library with DLL
17:00
Package and Use Our Library in Other Solutions
12:06

Memory and Pointers

10 lectures
Basic Structure of Memory
09:06
Pointers
10:22
Debugging and Detailed Examination of Pointers
17:14
The Array Type and Pointer
11:18
The Stack Memory
08:11
The Heap Memory
15:45
Access Violation and Memory Leaks
13:44
Unique Pointer
11:15
Shared Pointer
12:49
Weak Pointer
16:13

Classes

17 lectures
Basics of Classes
12:12
Constructors
14:11
Destructors
07:25
Member Functions and Setter and Getter Pairs
13:14
The Const Keyword in Classes
09:45
Basics of Inheritance
13:13
The Protected Keyword and Function Overriding
15:11
Poly Morphism and Pure Virtual Functions
09:29
Problems with Shallow Copy
13:13
Deep Copy and the Move Semantic
17:39
The Copy Assignment Operator
10:31
Operator Overloading
10:33
Move Assignment Operator and the Big Five
12:01
Move Class to Header and Cpp Files
10:19
Template Classes
22:44
Binary Operators and the Issue with the Friend Keyword
15:22
The Static Keyword in Class
12:29

Git

9 lectures
Git and GitHub
07:17
Basic History Tracking with Git
14:14
Basics of Branches
12:16
Reset the History and Reflog
07:37
Revert Commits
12:39
Merge Conflict
12:29
Push our Repo to GitHub
09:46
Update Local and Remote Repositories with Push and Pull
13:39
Git Ignore
10:13

Light Years Engine

20 lectures
Install CMake
05:30
Using CMake to Make Our Project
10:41
Add Light Years Game Project
07:53
Refactor the CMake Source Files and Setup Git
09:30
Fetch SFML to Our Project
16:30
Add Post Build Command to Copy Shared Libraries to Build Target
17:48
Setup the Application Class
20:47
Setup the Game Loop
10:59
Setup the Rendering
08:11
Entry Point and Separate Engine and Game Code
18:23
Create the Core and the Logging Macro
11:14
Defining Common Data Types
12:23
Implement the World Class
17:05
Implement the Actor Class
14:15
The Object Class and Handle Object Destruction
13:20
Add Rendering Sprite to Actor
18:16
Use a Config File to Setup Asset Path
18:19
Create the Asset Manager
16:52
Setup Asset Clean Cycle
10:12
Implement the Actor Transformation Interface
18:21

Spaceship and Player

4 lectures
Create the Spaceship Class
10:48
Player Spaceship and Move Input
13:20
Normalize Player Input
10:19
Prevent Player from Going Beyond the Window
07:32

Bullet and Physics Detection

9 lectures
Basic Shooting Mechanics
16:04
Create the Bullet Class and Spawn the Bullets
14:50
Bullet Destruction and Actor Clean Cycle
11:14
Fetch the Box2D Physics Engine
08:00
Add the Physics System
08:00
Create the Add Listener Function
17:32
Setup Actor Physics Initialization
12:57
Connect Overlap Events
15:23
100 Implement Physics Body Removal
11:23

Damage and Delegates

9 lectures
Implement the Health Component
12:07
Introduction to the Lambda and the Std Function Class
08:27
Enable Get Weak Pointer from This
08:07
Create the Delegate Class and the Bind Action Interface
09:29
Finish the Delegate Class
13:28
Using Team ID and Apply Bullet Damage
20:31
Hit Blink and Lerp Facilities
16:19
Create the Particle Class
17:02
Create the Explosion Class
26:28

Enemy and Timers

16 lectures
110 Enemy and Vanguard
22:06
111 Create the Game Level One Class
08:57
112 Create the Base Interface of the Timer Manager
11:21
Implement the Timer Class and Issue the Callback
17:38
Create the Clear Timer Functionality
14:58
Refactor the Key of the Timers to Our Own Timer Handle Class
16:42
Create the Base Game Stage Class
09:25
Use the World to Manage the Stages
11:35
Create the Vanguard Stage
28:25
Create the Twin Blade Enemy
13:02
Create the Twin Blade Stage
13:57
Create the Wait Stage and Refine the Stage Cleanup Control
16:11
Create the Hexagon Enemy
15:15
Create the Hexagon Stage
14:43
Create the UFO Class
13:48
Create the UFO Stage
17:46

Weapon and Rewards

9 lectures
Implement the Three Way Shooter
14:38
Implement the Frontal Wiper
11:18
Create the Reward Class
11:03
Create the Reward Factory Functions
16:11
Spawn Rewards When Enemy Dies
14:23
Add Weapon Levels
17:23
Add the Player Class
16:40
Implement the Player Manager Class
14:40
Implement Player Respawning
08:13

HUD and Widgets

18 lectures
Create the HUD Class
07:47
Handle HUD in the World Class
14:56
Create the Widget Base Class
12:20
Create the Text Widget Class and Load Font Through the Asset Manager
13:51
Refactor the Asset Manager Class
08:04
Add the Gameplay HUD and Show Frame Rate of the Game
12:33
Implement the Value Guage and Health Bar
21:44
Update Player Health to the Health Bar
18:05
143 Refine the Player Health Bar
14:05
Add the Image Widget and Player Life Icon
11:52
Display the Life Count on the UI
13:21
Refactor the Casting to None Casting in the Reward Class
10:33
Display the Player Score
13:14
Add the Life Reward and Adjust Reward Spawn Rate
09:11
Layout the Basics Structure of the Button Class
15:02
Implement the Button Behavior and Click Event
24:26
Create the Main Menu Classes
20:46
Load the Game Level with the Main Menu
17:11

Chaos and Boss Stage

7 lectures
Layout the Basic Facilities of the Chaos Stage
09:02
Finish the Chaos Stage
19:19
Add Player Invulnerable State
13:41
Add the Boss and Boss Stage Class
13:41
Add Boss Movement and Base Shooters
09:14
Add Different Stages to the Boss
21:21
Balance the Boss Difficulty
08:45

Ending States and Cosmetics

9 lectures
Add Game Over and Win UI
18:43
Reset Player and Physics System when Retarting
13:41
Test the Win State
06:33
Add the Backdrop Actor
16:08
Create the Background Layer Class
12:29
Load Textures and Initialized the Sprites with Random Textures
09:41
Random Sprite Transform and Velocity
09:50
Setup Moving and Rendering of the Sprites
13:03
Add the Planets and Meteors Background Layer
11:38

Building on Mac OS

3 lectures
Use Homebrew to Install Git and CMake on MacOS
04:48
Build Our Game on MacOS
15:30
Final Touches
04:38

Final Remark

1 lectures
Final Remarks
02:19

Đánh giá của học viên

Chưa có đánh giá
Course Rating
5
0%
4
0%
3
0%
2
0%
1
0%

Bình luận khách hàng

Viết Bình Luận

Bạn đánh giá khoá học này thế nào?

image

Đăng ký get khoá học Udemy - Unica - Gitiho giá chỉ 50k!

Get khoá học giá rẻ ngay trước khi bị fix.