-
Урок 1.
00:16:29
Motivations & Learning Outcomes
-
Урок 2.
00:02:59
How to Take this Course
-
Урок 3.
00:22:06
Project Technologies & Libraries
-
Урок 4.
00:06:24
Linux Dependencies
-
Урок 5.
00:02:36
macOS Dependencies
-
Урок 6.
00:03:40
A Small Note for Windows Programmers
-
Урок 7.
00:11:11
Compilation
-
Урок 8.
00:06:14
Header & Implementation Files
-
Урок 9.
00:11:39
Linking
-
Урок 10.
00:08:36
Makefile
-
Урок 11.
00:04:48
Lua Version & Lua Header Files
-
Урок 12.
00:15:43
Compiling & Testing All Dependencies
-
Урок 13.
00:34:22
Configuring Visual Studio on Windows
-
Урок 14.
00:09:33
Library Binaries
-
Урок 15.
00:08:49
Game Loop
-
Урок 16.
00:18:06
Game Class
-
Урок 17.
00:15:46
Creating an SDL Window
-
Урок 18.
00:13:41
Polling SDL Events
-
Урок 19.
00:06:51
Rendering our SDL Window
-
Урок 20.
00:08:31
Fullscreen Window
-
Урок 21.
00:03:54
Fake Fullscreen vs. Real Fullscreen
-
Урок 22.
00:06:41
Drawing an SDL Rectangle
-
Урок 23.
00:02:33
Double-Buffered Renderer
-
Урок 24.
00:10:15
Loading PNG Textures
-
Урок 25.
00:11:06
Object Movement & Velocity Vectors
-
Урок 26.
00:15:20
Capping the Game Framerate
-
Урок 27.
00:07:39
SDL Delay
-
Урок 28.
00:13:29
Delta Time
-
Урок 29.
00:01:44
Uncapped Framerate
-
Урок 30.
00:12:25
Logger Class
-
Урок 31.
00:18:33
Logger Class Implementation
-
Урок 32.
00:04:41
Popular Logging Libraries
-
Урок 33.
00:05:13
Source Subfolders
-
Урок 34.
00:12:27
Makefile Variables
-
Урок 35.
00:15:24
Creating C++ Objects
-
Урок 36.
00:05:37
Examples of C++ Object Creation
-
Урок 37.
00:07:51
Organizing Game Objects
-
Урок 38.
00:05:19
Object Inheritance Design
-
Урок 39.
00:16:27
Component-Based Design
-
Урок 40.
00:22:10
Entity-Component-System Design
-
Урок 41.
00:21:03
ECS Folder Structure
-
Урок 42.
00:17:27
System Component Signature
-
Урок 43.
00:07:59
Working with C++ Templates
-
Урок 44.
00:10:42
Component Type Template
-
Урок 45.
00:06:16
Exercise: System Functions
-
Урок 46.
00:08:14
Adding & Removing Entities from Systems
-
Урок 47.
00:10:41
Operator Overloading for Entities
-
Урок 48.
00:11:31
Component Pool
-
Урок 49.
00:07:18
The Pool Class
-
Урок 50.
00:13:46
Implementing the Pool Class
-
Урок 51.
00:10:55
Registry Systems & Entity Signatures
-
Урок 52.
00:17:55
Entity Creation & Management
-
Урок 53.
00:12:00
Function Templates to Manage Components
-
Урок 54.
00:17:55
Adding Components
-
Урок 55.
00:18:24
Function to Add Components
-
Урок 56.
00:07:11
Function to Remove Components
-
Урок 57.
00:07:55
Templates as Placeholders
-
Урок 58.
00:29:41
Implementing System Functions
-
Урок 59.
00:11:22
Creating our First Entity
-
Урок 60.
00:14:58
Smart Pointers
-
Урок 61.
00:11:45
Converting ECS Code to Smart Pointers
-
Урок 62.
00:03:34
SDL Raw Pointers
-
Урок 63.
00:10:06
Adding our First Components
-
Урок 64.
00:17:50
Exercise: Entity Class Managing Components
-
Урок 65.
00:07:26
Entity Class Managing Components
-
Урок 66.
00:02:20
A Warning About Cyclic Dependencies
-
Урок 67.
00:16:03
Movement System
-
Урок 68.
00:03:30
Movement System & Delta Time
-
Урок 69.
00:17:28
Render System
-
Урок 70.
00:13:56
Managing Game Assets
-
Урок 71.
00:23:42
The Asset Store
-
Урок 72.
00:20:29
Displaying Textures in our Render System
-
Урок 73.
00:08:19
Exercise: Displaying the Tilemap
-
Урок 74.
00:15:07
Displaying the Tilemap
-
Урок 75.
00:17:49
Rendering Order
-
Урок 76.
00:16:22
Sorting Sprites by Z-Index
-
Урок 77.
00:06:35
Animated Sprites
-
Урок 78.
00:27:43
Animation System
-
Урок 79.
00:18:15
Entity Collision Check
-
Урок 80.
00:27:56
Implementing the Collision System
-
Урок 81.
00:02:22
Exercise: Render Collider Rectangle
-
Урок 82.
00:06:09
Render Collider Rectangle
-
Урок 83.
00:10:00
Killing Entities & Re-Using IDs
-
Урок 84.
00:20:01
Implementing Entity Removal
-
Урок 85.
00:11:27
Introduction to Event Systems
-
Урок 86.
00:12:41
Event System Design Options
-
Урок 87.
00:10:51
Starting to Code the Event System
-
Урок 88.
00:30:38
Event Handlers
-
Урок 89.
00:19:24
Emitting Events & Subscribing to Events
-
Урок 90.
00:03:32
Exercise: Key Pressed Event
-
Урок 91.
00:07:33
Implementing the Key Pressed Event
-
Урок 92.
00:06:28
Event System Design Patterns
-
Урок 93.
00:21:18
Keyboard Control System
-
Урок 94.
00:24:00
Camera Follow System
-
Урок 95.
00:06:09
Sprites with Fixed Position
-
Урок 96.
00:03:05
Camera Movement for Colliders
-
Урок 97.
00:05:21
Projectile Emitter Component
-
Урок 98.
00:32:04
Health Component
-
Урок 99.
00:14:22
Projectile Duration
-
Урок 100.
00:03:07
Exercise: Shooting Projectiles
-
Урок 101.
00:13:28
Shooting Projectiles
-
Урок 102.
00:11:20
Tags & Groups
-
Урок 103.
00:05:49
Optimizing Access of Tags & Groups
-
Урок 104.
00:22:50
Implementing Tags & Groups
-
Урок 105.
00:18:59
Projectiles Colliding with Player
-
Урок 106.
00:04:30
Projectiles Colliding with Enemies
-
Урок 107.
00:05:21
Error Checking and Validation
-
Урок 108.
00:18:21
Data-Oriented Design
-
Урок 109.
00:07:30
Avoiding Data Gaps
-
Урок 110.
00:20:59
Packed Pool of Components
-
Урок 111.
00:31:04
Coding Packed Pools of Data
-
Урок 112.
00:01:55
Checking for Null Pool
-
Урок 113.
00:14:22
Array of Structs vs. Struct of Arrays
-
Урок 114.
00:10:18
Cache Profiling with Valgrind
-
Урок 115.
00:15:30
Popular ECS Libraries
-
Урок 116.
00:13:05
Adding Fonts to the Asset Store
-
Урок 117.
00:27:01
Render Text System
-
Урок 118.
00:03:12
Exercise: Display Health Values
-
Урок 119.
00:20:26
Rendering Health Values
-
Урок 120.
00:18:22
Introduction to Dear ImGui
-
Урок 121.
00:24:19
Dear ImGui Demo Window
-
Урок 122.
00:19:41
Immediate-Mode GUI Paradigm
-
Урок 123.
00:17:59
Render GUI System
-
Урок 124.
00:15:19
Button to Spawn Enemies
-
Урок 125.
00:07:15
Exercise: Customizing New Enemy
-
Урок 126.
00:33:37
Custom Enemy Values with ImGui
-
Урок 127.
00:08:27
Killing Entities Outside Map Limits
-
Урок 128.
00:17:26
Flipping Sprites on Collision
-
Урок 129.
00:01:45
Exercise: Keep Player Inside the Map
-
Урок 130.
00:03:38
Keeping the Player Inside the Map
-
Урок 131.
00:10:41
Culling Sprites Outside Camera View
-
Урок 132.
00:01:43
Do Not Cull Fixed Sprites
-
Урок 133.
00:15:12
Game Scripting
-
Урок 134.
00:08:41
The Lua Scripting Language
-
Урок 135.
00:22:45
Lua State
-
Урок 136.
00:13:09
Reading Lua Tables
-
Урок 137.
00:16:34
Lua Functions
-
Урок 138.
00:19:45
Level Loader Class
-
Урок 139.
00:27:13
Reading Assets from a Lua Table
-
Урок 140.
00:21:22
Reading Entities from a Lua Table
-
Урок 141.
00:08:33
Handling Multiple Objects in a Lua Level
-
Урок 142.
00:12:38
Scripting Night-Day Tilemap
-
Урок 143.
00:09:55
Scripting Entity Behavior with Lua
-
Урок 144.
00:13:59
Script System
-
Урок 145.
00:18:23
Lua Bindings
-
Урок 146.
00:12:16
Binding Multiple Lua Functions
-
Урок 147.
00:03:54
Loading Different Lua Levels
-
Урок 148.
00:04:50
Division of C++ & Lua Code
-
Урок 149.
00:06:26
Next Steps