С++ для GameDev — комплексний онлайн-курс, який навчить кодити на C++ з нуля | robot_dreams

У вашому портфоліо: 3 мінігри та одна MVP 2D-гра

С++ ДЛЯ GAMEDEV

БОГДАН ЛЕВУНЕЦЬ C++ GAME DEVELOPER
В UBISOFT

СТАРТ У GAMEDEV

ТРИВАЛІСТЬ:

36 ОНЛАЙН-ЗАНЯТЬ
[ЩОВІВТОРКА ТА ЩОЧЕТВЕРГА]

Комплексний курс, який навчить кодити на C++ з нуля, дозволить опанувати принципи обʼєктно-орієнтованого програмування, ключові бібліотеки та інструменти для того, щоби створювати десктопні й мобільні ігри та розвиватися в геймдеві.

Ваші результати після курсу:

  • - використовуєте мову С++ та об’єктно-орієнтоване програмування
    - знайомі з логікою створення ігрових рушіїв
    - знаєте основні підходи до проєктування ігор
    - практикуєте багатопотокове програмування для прискорення виконання програм
    - маєте в портфоліо власну 2D-гру

  • У фіналі навчання матимете базовий скілсет для старту в геймдеві, а також план щодо подальшого працевлаштування і розвитку кар’єри.

У ПРОГРАМУ КУРСУ ВХОДЯТЬ

  1. С++

    Вивчите синтаксис і функції С++, опануєте принципи обʼєктно-орієнтованого і багатопотокового програмування, розберете структури даних і патерни, які використовуються в геймдеві.

  2. GAMEDEV

    Познайомитеся з логікою створення ігрових рушіїв, вивчите основні підходи до проєктування ігор і заповните прогалини в математиці, яка необхідна для розробки ігор.

  3. КЕЙС У ПОРТФОЛІО

    Створите 3 міні-гри та одну MVP 2D-гру і додасте перший проєкт у портфоліо

  4. КАРʼЄРНИЙ БУСТ

    Отримаєте 4 уроки з карʼєрного розвитку від наших HR, завдяки чому складете CV, яке здатне зацікавити рекрутерів, навчитеся презентувати себе і відповідати на технічні запитання.

ЛЕКТОР:

Богдан
Левунець

  • понад 5 років працює C++ Game Developer в Ubisoft, одній із найвідоміших компаній із розробки ігор, яка випустила Far Cry, Assassin’s Creed, Red Steel тощо
  • має досвід роботи з ААА-проєктами, консолями нового покоління (PS5, XboxS, Nintendo Switch), PC і такими ігровими сервісами, як Stadia
  • брав участь у підтримці ігрової клауд-платформи Amazon Luna та ігрового рушія Assassin’s Creed
  • робив кастомізацію, реплеї й квести, займався підтримкою внутрішніх тулзів і аудіофункціоналу для гри Trials Rising
  • має досвід менторства інтернів у внутрішніх програмах навчання в Ubisoft Kyiv
  • регулярно проводить технічні інтервʼю й спілкується з кандидатами на позиції Gameplay Programmer, Unreal Engine Programmer, Generalist Game Developer, тому знає, що вимагають від джунів і новачків

ПРОГРАМА

  • 01

    Вступ та підготовка

    • Дізнаєтеся, що таке мова програмування високого рівня і яке в неї призначення.
    • Розглянете парадигми та філософію мови С++.
    • Зрозумієте, чому С++ — найпоширеніша мова для геймдеву.
    • Завантажите та налаштуєте середовище розробки (IDE).
    • Запустите програму Hello World на С++.
  • 02

    Основи програмування на С++

    • Дізнаєтесь про основні примітивні типи даних в С++: int, char, bool, singed/unsinged, float/double.
    • Зможете створювати тип даних з визначеними програмістом допустими значеннями.
    • Навчитеся виводити дані в консоль з простою обробкою виведення за допомогою маніпуляторів.
    • Будете перетворювати змінні до різних типів.
  • 03

    Оператори

    • Вивчите арифметичні оператори та навчитеся використовувати їх для числових розрахунків.
    • Дізнаєтесь, як працювати з операторами присвоєння.
    • Навчитеся порівнювати арифметичні типи даних.
    • Зрозумієте, який пріоритет виконання арифметичних та логічних операторів у складених виразах та які способи зміни пріоритетності існують.
    • Ознайомитеся з побітовими операціями.
  • 04

    Розгалуження та умови

    • Дізнаєтеся, навіщо та як створювати умовні оператори.
    • Навчитеся створювати логічні вирази для умовних операторів та поєднувати кілька умовних операторів в ієрархії виконання.
    • Дізнаєтеся, що таке тернарний оператор і як його використовувати.
    • Навчитеся використовувати switch як альтернативний набір if-else-if блоків.
  • 05

    Система контролю версій Git

    • Опануєте застосування систем контролю версій в програмуванні над власним кодом та в команді.
    • Зрозумієте принцип роботи Git та зможете використовувати його у проєктах.
    • Зареєструєте профіль на github для збереження проектів і домашніх завдань.
    • Дізнаєтесь про типи інших систем контролю версій, зокрема популярний у геймдев Perforce.
  • 06

    Цикли

    • Дізнаєтеся, що таке цикл та у яких випадках його застосовувати.
    • Навчитеся використовувати цикли 3 типів та детально розберете особливості кожного.
    • Дізнаєтесь, як створювати вкладені цикли.
  • 07

    Воркшоп: задачі, цикли, умови

    • Попрацюєте з типовими помилками й навчитеся їх фіксити.
    • На практиці ознайомитеся зі способами дебагу програми у Visual Studio IDE.
  • 08

    Функції

    • Зрозумієте, що таке функції та навіщо вони потрібні.
    • Розглянете область доступу функції.
    • Навчитеся створювати функції з довільним числом параметрів та вихідним значенням, а також викликати їх, коли вам це необхідно.
    • Навчитеся створювати глобальні змінні й константи та використовувати їх у довільних функціях.
    • Дізнаєтесь, як визначати кілька перезавантажень для функцій та додавати параметри за замовчуванням, як створювати хедер-файли та підключати їх у різних місцях програми.
  • 09

    Строки і масиви

    • Дізнаєтесь, як створити колекцію однорідних даних із використанням одно- та двовимірних масивів визначеного розміру.
    • Зрозумієте принципи, за якими масиви зберігаються в пам’яті.
    • Навчитеся модифікувати масиви.
    • Дізнаєтесь, як використовувати C-style рядки константного розміру.
  • 10

    Посилання та вказівники

    • Зрозумієте, що таке посилання, адреси змінних та вказівники.
    • Дізнаєтесь, як отримати дані з вказівника та адресу змінної.
    • Навчитеся передавати вихідні параметри та повертати з функції посилання.
    • Зрозумієте, навіщо передавати у функцію вказівники та посилання.
  • 11

    Алгоритми. Робота з циклами та масивами

    • Розглянете різні принципи роботи з індексами циклів і вкладеними циклами.
    • Вивчите підходи до пошуку даних залежно від стану масиву.
    • Розберете задачі сортування даних та базові алгоритми сортування.
  • 12

    Алгоритми. Складність, пошук і сортування

    • Ознайомитеся з підходами до оцінювання алгоритмів за різними параметрами.
    • Дізнаєтесь, як шукати дані в масиві.
    • Розберете алгоритми сортування даних.
  • 13

    Воркшоп: робота з функціями, масивами, посиланнями та вказівниками

    • Розберете реальні задачі на алгоритміку.
    • Реалізуєте алгоритми пошуку та сортування даних.
  • 14

    Робота з динамічною пам'яттю

    • Навчитеся виділяти та очищати довільну кількість пам’яті для різних типів даних із масиву.
    • Зрозумієте різницю між стеком та масивом.
    • Розглянете особливості створення спеціальних методів класу та їхню взаємозалежність у контексті роботи з динамічною пам’яттю.
    • Зрозумієте причини та наслідки витоків пам’яті, а також розглянете можливі способи розв'язання цієї проблеми.
  • 15

    Структури даних

    • Дізнаєтесь, як створювати нові типи даних, що агрегують в собі інші змінні.
    • Навчитеся передавати структури як вхідні та вихідні параметри функцій.
    • Навчитеся оперувати структурами в рамках масивів та складених структур.
  • 16

    Знайомство з ООП. Класи

    • Навчитеся створювати нові типи даних, об’єднувати поведінку та дані в одному об’єкті.
    • Розберете різницю між класом та об’єктом класу.
    • Вивчите поняття модифікаторів стосовно особливостей використання інстенсів класу.
    • Зрозумієте різницю між агрегацією та композицією під час додавання залежностей між класами.
  • 17

    ООП. Оператори та статичні поля

    • Зрозумієте вплив дружніх функцій на модифікатори доступу.
    • Навчитесь імплементувати та використовувати на практиці перевантажені оператори.
  • 18

    ООП. Наслідування та поліморфізм

    • Зрозумієте принцип реалізації наслідування, принцип поліморфізму, чистих абстрактних функцій та інкапсуляції даних.
    • Вивчите порядок виклику конструкторів в ієрархії класів.
  • 19

    ООП. Приведення класів в ієрархії. Наслідування проти композиції

    • Вивчите способи приведення класів відповідно до ієрархії та розберете принципові відмінності між статичним і динамічним приведенням.
    • Розберете типові випадки використання наслідування та композиції на практиці.
    • Навчитесь обирати підхід залежно від поставленої задачі.
  • 20

    Воркшоп: побудова міні-гри у консолі з використанням поліморфізму, практика дизайну архітектури застосунків

    • Підготуєте власний проєкт «Настільна гра в Манчкін» і отримаєте фідбек від лектора.
  • 21

    Функціональні обʼєкти

    • Дізнаєтеся, що таке функціональні об’єкти, анонімні функції та лямбди.
    • Навчитеся передавати параметри в лямбду.
    • Навчитеся використовувати лямбди для стандартних алгоритмів STL-бібліотеки.
  • 22

    Бібліотека стандартних функцій

    • Ознайомитеся з бібліотекою std::string та її стандартними функціями.
    • Розберете відмінності різних структур даних та методи std::string.
    • Вивчите поняття ітераторів та зрозумієте, чому їх використовують замість контейнерів.
    • Навчитеся використовувати набір алгоритмів зі стандартної бібліотеки функцій STL.
  • 23

    Шаблонне метапрограмування

    • Дізнаєтеся, що таке шаблони програмування та навіщо їх використовують.
    • Навчитеся створювати шаблонні функції та класи.
    • Зрозумієте, як змінювати поведінку шаблонних функцій для окремо визначених типів.
    • Крок за кроком вивчите процес створення шаблонів на компайл-таймі.
    • Ознайомитеся з бібліотекою type-traits.
  • 24

    Графи як структура даних для геймдеву

    • Розберете поняття графа та його структури.
    • Розберете кейси, в яких використовують цю структуру, і зрозумієте, чому вона така популярна в геймдеві.
    • Вивчите способи представлення графів та можливу реалізацію на С++.
    • Вивчите базові алгоритми над графами, зокрема BFS і DFS.
  • 25

    Вступ до лінійної алгебри в контексті геймдеву

    • Згадаєте поняття вектора та матриці, дізнаєтесь, як ці поняття застосовуються на практиці в геймдеві.
    • Навчитеся виконувати прості операції над векторами, зокрема скалярне та векторне множення.
    • Дізнаєтеся про базові матричні перетворення векторів.
  • 26

    Багатопотокове програмування

    • Розберетеся в понятті багатопотоковості.
    • Зрозумієте, в чому різниця між паралельним і багатопотоковим програмуванням.
    • Навчитеся створювати треди для виконання операцій у багатопотоковому середовищі.
    • Дізнаєтесь, як синхронізувати доступ до спільного ресурсу.
    • Зрозумієте, як використовувати потоки в геймдеві.
  • 27

    Подальші кроки в GameDev

    • Зрозумієте, чому С++ широко використовується для розробки ігор різного ступеня складності.
    • Вивчите основні компоненти, які повинен надавати ігровий рушій для ефективного створення ігор.
    • Розберете цікаві проєкти на одному з ігрових рушіїв.
    • Зрозумієте переваги та можливості, які надає Unreal Engine для великих команд розробників ААА-проєктів та інді-ігор.
  • 28

    Патерни проєктування в GameDev

    • Дізнаєтеся, що таке патерни проєктування та навіщо використовувати їх під час розробки ігор.
    • Ознайомитеся з патернами проєктування GoF.
    • Вивчите специфіку патернів, властивих сфері геймдеву.
  • 29

    Фінальний проєкт: видача курсового проєкту

    • Ознайомитесь зі скелетом курсового проекту зі створеним ігровим циклом, набором простих ігрових об’єктів з текстурою, реакцією ігрового вікна та ігрових об’єктів на інпут з клавіатури та миші.
    • Отримаєте завдання для фінального проєкту.
  • 30

    Фінальний проєкт

    • Сформуєте беклог ідей для 2D-гри відповідно до завдання.
  • 31

    Фінальний проєкт: представлення MVP лектору, задачам тощо

    • Підготуєте MVP власної гри та отримаєте фідбек від лектора.
  • 32

    Фінальний проєкт: презентація курсового проєкту

    • Допрацюєте гру та представите її лектору й колегам.
  • 33

    Розвиток кар'єри в ІТ

    • Ознайомитеся з підходами до розвитку кар'єри.
    • Знайдете свої сильні та слабкі сторони, визначите зони для розвитку.
    • Дізнаєтесь, як junior-фахівцю отримати свій перший офер.
    • Ознайомитеся з організаційною структурою сучасних ІТ-компаній.
  • 34

    Стратегія пошуку роботи

    • Отримаєте overview ресурсів для пошуку роботи та замовників.
    • Дізнаєтесь, як розробити стратегію пошуку роботи під свої скіли.
    • Зрозумієте, навіщо вам профіль у LinkedIn, і дізнаєтесь, як правильно оформити акаунт у соціальних мережах так, щоби рекрутери його помічали.
  • 35

    Резюме та супровідний лист

    • Вивчите структуру резюме.
    • На прикладах розберете найпоширеніші помилки під час складання резюме.
    • Отримаєте рекомендації щодо написання супровідного листа і дізнаєтеся, чому іноді супровідний лист важливіший за резюме.
  • 36

    Інтерв'ю з рекрутером та hiring-менеджером + воркшоп Q&A

    • Дізнаєтеся, з яких етапів складається процес залучення нових співробітників до компанії.
    • Ознайомитеся зі структурою інтерв'ю.
    • Підготуєтеся до інтерв'ю з рекрутером.
    • Дізнаєтесь, які запитання необхідно поставити рекрутеру та hiring-менеджеру під час інтерв'ю.
    • Навчитеся вести переговори під час укладання job-офера.

Реєстрація

 

 
 
 
Реєструючись, ви погоджуєтеся з умовами договору-оферти та політикою конфіденційності.