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