Классический форум-трекер
canvas not supported
Нас вместе: 4 221 747

Pikuma, Gustavo Pezzi | Fundamentals of 2D Game Engines with C++ SDL and Lua (2021) WEB-DL [EN / EN Sub]


 
 
RSS
Начать новую тему   Ответить на тему    Торрент-трекер NNM-Club -> Обучающие видеоматериалы -> IT, Компьютерные видеокурсы
Автор Сообщение
bakhanumi ®
Стаж: 11 мес. 22 дня
Сообщений: 26
Ratio: 202.486
Поблагодарили: 1032
100%
pirates.png
Pikuma, Gustavo Pezzi | Fundamentals of 2D Game Engines with C++ SDL and Lua (2021) WEB-DL [EN / EN Sub]
Автор: Gustavo Pezzi
Производство: Pikuma
Жанр: Программирование

Описание:
Этот курс представляет собой мягкое и всестороннее введение в основы архитектуры движка 2D-игр. Мы обсудим несколько наиболее популярных шаблонов программирования, используемых при разработке игр, и попытаемся применить всю изучаемую теорию в контексте, написав небольшой движок 2D-игры с использованием современных C++, SDL и Lua.

Вместе мы напишем с нуля небольшой фреймворк ECS для управления нашими сущностями, компонентами и системами. Мы обсудим, как программисты движков проектируют свой код и как мы должны думать об организации игровых объектов в памяти с учетом производительности.

Продолжительность: 10:48:00
Качество видео: WEB-DL
Язык озвучки: Английский
Инструменты , которые вам понадобятся
C++ — мощный компилируемый язык
SDL2 — это библиотека для кроссплатформенного рендеринга и ввода.
GLM — это вспомогательная математическая библиотека.
Dear ImGui — это библиотека для создания пользовательского интерфейса для инструментов движка.
Sol — библиотека привязки для современного C++ и Lua.
Lua — быстрый и простой в использовании язык сценариев

Целевой аудиторией этого курса являются начинающие программисты, которые хотят больше узнать о том, как работает C++ в контексте разработки игр. Поэтому учащиеся должны уже уметь программировать и быть знакомы с основными понятиями программирования и логики. Вы должны уметь писать операторы if-else, циклы, функции и классы, используя простой ООП.
Course content:
1. Introduction
Motivations & Learning Outcomes
How to Take This Course

2. Libraries and Dependencies
Project Technologies and Libraries
Configuring Linux Dependencies
Configuring macOS Dependencies
Compilation
Linking
Makefiles
Configuring Visual Studio on Windows
Quiz: Compilation and Linking
Static vs. Dynamic Libraries

3. Displaying the Game Window
Game Loop
Game Class
Creating an SDL Window
Polling SDL Events
Rendering the SDL Window
Fullscreen SDL Window
Fake Fullscreen vs. Real Fullscreen
SDL GPU Acceleration and VSync
Quiz: SDL Window

4. Rendering SDL Objects
Drawing an SDL Rectangle
Double-Buffered Rendering
Loading PNG Textures
Quiz: Game Loop and SDL Window

5. Game Loop Timestep
Object Movement and Velocity Vectors
Fixed Game Framerate
SDL Delay
Variable Delta Time
Uncapped Framerate
Game Loop and Determinism
Quiz: Game Loop Timestep

6. Logging
Logger Class
Exercise: Logging Game Information
Coding the Logger Class
Popular C++ Logger Libraries
Quiz: Logger

7. Project Folder Structure
Project Subfolders
Makefile Variables

8. Organizing Game Objects
Creating C++ Objects
Examples of C++ Object Creation
Organizing Game Objects
Object Inheritance Design
Quiz: C++ Objects

9. ECS Design
Component-Based Design
Entity-Component-System Design
ECS Folder Structure
System Component Signature
Working with C++ Templates
Component Type Template
Understanding Component<T>
Exercise: System Functions
Adding and Removing Entities from Systems
The Erase-Remove Idiom
Operator Overloading for Entities
Quiz: ECS Design

10. ECS Implementation
Pool of Components
The Pool Class
Coding the Pool Class
Registry Systems & Entity Signatures
Entity Creation
Adding Components
Removing Components
Implementing System Functions
Quiz: ECS Implementation

11. Creating Entities and Components
Creating our First Entity
Smart Pointers
Converting ECS Code to Use Smart Pointers
Raw Pointers for SDL
Quiz: Smart Pointers
Adding our First Component
Careful with Types size_t and int
Exercise: Entity Class Managing Components
Entity Class Managing Components
Warning About Cyclic Dependency

12. Creating Systems
Movement System
Movement System and Delta Time
Render System

13. Managing Assets
Managing Game Assets
The Asset Store
Displaying Textures in our Render System
Exercise: Displaying the Tilemap
Displaying the Tilemap
Rendering Order
Sorting Sprites by Z-Index

14. Animation System
Animated Sprites
Animation System
Identifying Animations By Name

15. Collision System
Entity Collision Check
Implementing the Collision System
Exercise: Rendering a Collider Rectangle
Quiz: 2D Collision

16. Killing Entities
Killing Entities and Re-Using IDs
Implementing Entity Removal

17. Event System
Introduction to Event System
Event System Design Options
Event Handlers
Emitting Events & Subscribing to Events
Exercise: Key Pressed Event
Event System Design Patterns
Quiz: Event System

18. Other Components and Systems
Keyboard Control System
Camera Follow System
Sprites with Fixed Position
Projectile Emitter Component
Projectile Duration
Health Component
Exercise: Shooting Projectiles
DRY Code

19. Entity Tags and Groups
Tags & Groups
Optimizing Access of Tags & Groups
Projectiles Colliding with Player/li>
Projectiles Colliding with Enemies
Compilation Times

20. Data-Oriented Design
Data-Oriented Design
Cache Hits and Cache Misses
Avoiding Data Gaps
Packed Pool of Components
Array of Structs vs. Struct of Arrays
Cache Profiling with Valgrind
Popular C++ ECS Libraries

21. Displaying True-Type Fonts
Adding Fonts to the Asset Store
Render Text System
Exercise: Rendering Health Value

22. Dear ImGui
Introduction to Dear ImGui
Dear ImGui and SDL
Dear ImGui Demo Window
Immediate-Mode GUI Paradigm
Render GUI System/li>
Button to Spawn Enemies
Exercise: Customization of New Enemies
Quiz: Dear ImGui

23. Culling and Map Control
Killing Entities Outside Map Limits
Flipping Sprites on Collision
Invisible Entities & Obstacles
Exercise: Keeping the Player Inside the Map
Culling Sprites Outside Camera View

24. Lua Scripting
Game Scripting
The Lua Scripting Language
Using Sol as a C++ Lua Wrapper
Lua State
Reading Lua Tables
Fetching Missing Table Values with Sol
Lua Functions
Level Loader Class
Reading Assets from a Lua Table
Handling Multiple Objects in a Lua Level
Scripting for Night/Day Tilemap
Scripting Entity Behavior with Lua
Script System
Lua Bindings
Binding Multiple Lua Functions
Loading Different Lua Levels
Division of C++ and Lua Code
Quiz: Lua Scripting

25. Conclusion
Finishing our Code
Next Steps

26. Bonus: Tilemap Editor
Proposed Project: Tilemap Editor

27. Moving Forward
Скриншоты:


Время раздачи: 24/7 (минимум до появления первых 3-5 скачавших)
[NNMClub.to]_Fundamentals of 2D Game Engines with C++ SDL and Lua.torrent
 Торрент: Платиновая раздача  Зарегистрирован
 
Скачать


Примагнититься
 Зарегистрирован:   26 Мар 2023 10:52:22
 Размер:   7.99 GB  (
 Рейтинг:   5 (Голосов: 14)
 Поблагодарили:   42
 Проверка:   Оформление проверено модератором 26 Мар 2023 17:20:41
Как cкачать  ·  Как раздать  ·  Правильно оформить  ·  Поднять ратио!  
woody_digital
RG Книги
Куратор Книг
Стаж: 11 лет 3 мес.
Сообщений: 5068
Ratio: 5398.531
Раздал: 103.9 TB
Поблагодарили: 444714
100%
Откуда: The Pirate Bay
witch.png
bakhanumi

Правила и рекомендации по оформлению релизов категории "КНИГИ И ОБУЧАЮЩИЕ МАТЕРИАЛЫ" (31.01.2023)[img][/img]
4.4 Для видео скриншоты должны соответствовать размеру кадра раздаваемого видео файла с учетом анаморфа, если он есть.
bakhanumi ®
Стаж: 11 мес. 22 дня
Сообщений: 26
Ratio: 202.486
Поблагодарили: 1032
100%
pirates.png
woody_digital
Хорошо, понял
не заметил
SethTheHuman
Стаж: 2 мес. 14 дней
Сообщений: 2
100%
Thanks a lot. It is priceless for me.
Показать сообщения:   
Начать новую тему   Ответить на тему    Торрент-трекер NNM-Club -> Обучающие видеоматериалы -> IT, Компьютерные видеокурсы Часовой пояс: GMT + 3
Страница 1 из 1