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

КУРС-ПРОФЕССИЯ

С++ ДЛЯ GAMEDEV

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

СТАРТ В GAMEDEV

ДАТА:

13.06.2023 — 12.10.2023

 

ДЛИТЕЛЬНОСТЬ:

36 ОНЛАЙН-ЗАНЯТИЙ
[ПО ВТОРНИКАМ И ЧЕТВЕРГАМ]

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

КУРС ПОДОЙДЕТ

  • Разработчикам, которые хотят в геймдев

    Чтобы познакомиться с логикой игровых движков, разобраться в стандартах создания видеоигр и шаблонах их проектирования, а также изучить синтаксис С++ для создания первых игр.

  • Другим специалистам из сферы IT

    Чтобы научиться кодить на С++ и работать с Git, разобраться в процессах, из которых состоит разработка видеоигр, получить практический опыт и кейс в портфолио.

  • Свитчерам, которые хотят выучить С++

    Чтобы научиться кодить с нуля и выучить первый язык программирования С++, который позволит развиваться в интересной и перспективной индустрии геймдева.

  • Геймдизайнерам, которых хотят работать «под капотом» игр

    Чтобы выучить язык С++ с нуля, получить практический скилсет для написания бэкенда под видеоигры, придумывать и самостоятельно реализовывать игровые механики.

  • Это курс, во время которого вы напишете первую 2D-игру на C++.

    Сначала вы изучите синтаксис языка С++ и напишете простые рабочие программы. Далее ― овладеете принципами объектно-ориентированного и многопоточного программирования для ускорения выполнения программ. А затем разберете на пиксели каждый этап разработки видеоигр, познакомитесь со стандартами и изучите шаблоны проектирования.

  • В результате ― сможете пройти полный цикл разработки на С++, напишете и презентуете MVP собственной игры.

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

  1. С++

    Изучите синтаксис и функции С++, овладеете принципами объектно-ориентированного и многопоточного программирования, разберете структуры данных и паттерны, используемые в геймдеве.

  2. GAMEDEV

    Познакомитесь с логикой создания игровых движков, изучите основные подходы к проектированию игр и заполните пробелы в математике, которая необходима для разработки игр.

  3. КЕЙС В ПОРТФОЛИО

    Поделитесь на группы по 3–4 студента и вместе создадите MVP 2D-игры. Прокачаете софт-скилы благодаря работе в команде и добавите первый проект в портфолио.

  4. КАРЬЕРНЫЙ БУСТ

    Получите 4 урока по карьерному развитию от наших HR, благодаря чему составите CV, способное заинтересовать рекрутеров, научитесь представлять себя и отвечать на технические вопросы.

ЛЕКТОР:

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

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

ПРОГРАММА

  • 01

    13.06.2023 19:00

    Введение. Что кодят на С++ и почему стоит учить этот язык

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

    15.06.2023 19:00

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

    • Узнаете, что такое система контроля версий и для чего разработчикам ее использовать.
    • Рассмотрите принципы работы системы контроля версий Git и изучите основные команды.
    • Потренируетесь работать с Git для будущих практических задач и собственных проектов.
    • Зарегистрируете свой профиль на GitHub для сохранения проектов и домашних заданий.
    • Получите overview других систем контроля версий, в том числе популярной в геймдеве Perforce.
  • 03

    20.06.2023 19:00

    Переменные и типы данных

    • Изучите основные примитивные типы данных в С++.
    • Научитесь создавать и инициализировать переменные разных типов.
    • Разберете разницу между константами и обычными переменными.
    • Научитесь создавать тип данных с определенными допустимыми значениями.
    • Узнаете, как считывать данные из консоли и выводить данные в консоль с помощью манипуляторов.
    • Научитесь преобразовывать переменные в разные типы данных.
  • 04

    22.06.2023 19:00

    Операторы

    • Изучите арифметические операторы и научитесь использовать их для числовых расчетов.
    • Узнаете, как работать с операторами присвоения.
    • Научитесь сравнивать арифметические типы данных.
    • Поймете, каков приоритет выполнения арифметических и логических операторов в составных выражениях и какие способы изменения приоритетности существуют.
    • Ознакомитесь с побитовыми операциями.
  • 05

    27.06.2023 19:00

    Разветвления и условия

    • Узнаете, зачем и как создавать условные операторы.
    • Научитесь создавать логические выражения для условных операторов и совмещать несколько условных операторов в иерархии исполнения.
    • Узнаете, что такое тернарный оператор и как его использовать.
    • Научитесь использовать switch в качестве альтернативного набора if-else-if блоков.
  • 06

    29.06.2023 19:00

    Циклы

    • Узнаете, что такое цикл и в каких вариантах его использовать.
    • Научитесь использовать циклы 3 типов и подробно разберете особенности каждого.
    • Узнаете, как создавать вложенные циклы.
  • 07

    04.07.2023 19:00

    Воркшоп: задачи, циклы, условия

    • Поработаете с типичными ошибками и научитесь их фиксировать.
    • На практике ознакомитесь со способами дебага программы в Visual Studio IDE.
  • 08

    06.07.2023 19:00

    Функции

    • Поймете, что такие функции и зачем они нужны.
    • Рассмотрите область доступа функции.
    • Научитесь создавать функции с произвольным числом параметров и исходным значением, а также вызывать их, когда вам это необходимо.
    • Научитесь создавать глобальные переменные, константы и использовать их в любых функциях.
    • Узнаете, как определить несколько перезагрузок для функций и добавлять параметры по умолчанию, как создавать хедер-файлы и подключать их в разных местах программы.
  • 09

    11.07.2023 19:00

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

    • Узнаете, как создать коллекцию однородных данных с использованием одно- и двухмерных массивов определенного размера.
    • Поймете принципы, по которым массивы хранятся в памяти.
    • Научитесь модифицировать массивы.
    • Узнаете, как использовать C-style строки константного размера.
  • 10

    13.07.2023 19:00

    Ссылки и указатели

    • Поймете, что такое ссылки, адреса переменных и указатели.
    • Узнайте, как получить данные из указателя и получить адрес переменной.
    • Научитесь передавать исходные параметры и возвращать из функции ссылки.
    • Поймете, для чего передавать в функцию указатели и ссылки.
  • 11

    18.07.2023 19:00

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

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

    20.07.2023 19:00

    Алгоритмы. Поиск и сортировка

    • Ознакомитесь с подходами к оценке алгоритмов по разным параметрам.
    • Узнаете, как искать данные в массиве.
    • Разберете алгоритмы сортировки данных.
  • 13

    25.07.2023 19:00

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

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

    27.07.2023 19:00

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

    • Узнаете, как создавать новые типы данных, агрегирующих в себе другие переменные.
    • Научитесь передавать структуры как входные и выходные параметры функций.
    • Научитесь оперировать структурами в рамках массивов и составных структур.
  • 15

    01.08.2023 19:00

    Знакомство с ООП

    • Научитесь создавать новые типы данных, объединять поведение и данные в одном объекте.
    • Разберете разницу между классом и объектом класса.
    • Изучите понятие модификаторов по отношению к особенностям использования инстенсов класса.
    • Поймете разницу между агрегацией и композицией при добавлении зависимостей между классами.
  • 16

    03.08.2023 19:00

    ООП. Операторы и статические поля

    • Поймете влияние дружественных функций на модификаторы доступа.
    • Научитесь имплементировать и использовать на практике перегруженные операторы.
  • 17

    08.08.2023 19:00

    ООП. Динамическая память

    • Научитесь выделять и очищать любое количество памяти для различных типов данных из массива.
    • Поймете разницу между стеком и массивом.
    • Рассмотрите особенности создания специальных методов класса и их взаимозависимость в контексте работы с динамической памятью.
    • Поймете причины и последствия утечек памяти, а также рассмотрите возможные способы решения этой проблемы.
  • 18

    10.08.2023 19:00

    ООП. Подражание и полиморфизм

    • Поймете принцип реализации подражания, полиморфизма, чистых абстрактных функций и инкапсуляции данных.
    • Изучите порядок вызова конструкторов в иерархии классов.
  • 19

    15.08.2023 19:00

    ООП. Приведение классов в иерархии

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

    17.08.2023 19:00

    Воркшоп: полиморфизм

    • Разберете реальные кейсы полиморфизма на примере построения обычного приложения.
  • 21

    22.08.2023 19:00

    Функциональные объекты

    • Узнаете, что такое функциональные объекты, анонимные функции и лямбды.
    • Научитесь передавать параметры в лямбду.
    • Научитесь использовать лямбды для стандартных алгоритмов STL-библиотеки.
  • 22

    24.08.2023 19:00

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

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

    29.08.2023 19:00

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

    • Узнаете, что такое шаблоны программирования и зачем они используются.
    • Научитесь создавать шаблонные функции и классы.
    • Поймете, как изменять поведение шаблонных функций для определенных типов.
    • Шаг за шагом изучите процесс создания шаблонов на компайл-тайме.
    • Ознакомитесь с библиотекой type-traits.
  • 24

    31.08.2023 19:00

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

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

    05.09.2023 19:00

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

    • Вспомните понятия вектора и матрицы, узнаете, как эти понятия применяются на практике в геймдеве.
    • Научитесь выполнять простые операции над векторами, в частности, скалярное и векторное умножение.
    • Узнаете базовые матричные преобразования векторов.
  • 26

    07.09.2023 19:00

    Многопоточное программирование

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

    12.09.2023 19:00

    Дальнейшие шаги в GameDev

    • Поймете, почему С++ широко используется для разработки игр разной степени сложности.
    • Изучите основные компоненты, которые должен предоставлять игровой движок для эффективного создания игр.
    • Разберете интересные проекты на одном из игровых движков.
    • Поймете преимущества и возможности, предоставляемые Unreal Engine для больших команд разработчиков ААА-проектов и инди-игр.
  • 28

    14.09.2023 19:00

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

    • Узнаете, что такое паттерны и зачем использовать их при разработке игр.
    • Ознакомитесь с паттернами проектирования GoF.
    • Изучите специфику паттернов, присущих сфере геймдева.
  • 29

    19.09.2023 19:00

    Финальный проект. Part 1

    • Поделитесь на группы по 3–4 студента, сформируете творческую команду.
    • Получите задание для финального проекта.
  • 30

    21.09.2023 19:00

    Финальный проект. Part 2

    • Сформируете бэклог идей для 2D-игры в соответствии с заданием.
    • Научитесь работать с Git в команде.
  • 31

    26.09.2023 19:00

    Финальный проект. Part 3

    • Подготовите MVP своей игры и получите фидбек от лектора.
  • 32

    28.09.2023 19:00

    Финальный проект. Part 4

    • Доработаете игру и презентуете ее лектору и коллегам.
  • 33

    03.10.2023 19:00

    Развитие карьеры в IT

    • Ознакомитесь с подходами к развитию карьеры.
    • Найдете свои сильные и слабые стороны, определите зоны развития.
    • Узнаете, как junior-специалисту получить свой первый оффер.
    • Ознакомитесь с организационной структурой современных IT-компаний.
  • 34

    05.10.2023 19:00

    Стратегия поиска работы

    • Получите overview ресурсов для поиска работы и заказчиков.
    • Узнаете, как разработать стратегию поиска работы под свои скилы.
    • Поймете, зачем вам профиль в LinkedIn, и узнаете, как правильно оформить аккаунт в социальных сетях так, чтобы рекрутеры его замечали.
  • 35

    10.10.2023 19:00

    Резюме и сопроводительное письмо

    • Изучите структуру резюме.
    • На примерах разберете самые распространенные ошибки при составлении резюме.
    • Получите рекомендации по написанию сопроводительного письма и узнаете, почему иногда сопроводительное письмо важнее резюме.
  • 36

    12.10.2023 19:00

    Интервью с рекрутером и hiring-менеджером

    • Узнаете, из каких этапов состоит процесс привлечения новых сотрудников в компанию.
    • Ознакомитесь со структурой интервью.
    • Подготовитесь к интервью с рекрутером.
    • Узнаете, какие вопросы нужно задать рекрутеру и hiring-менеджеру во время интервью.
    • Научитесь вести переговоры при заключении job-оффера.

Регистрация

 

 
 
 
Регистрируясь, вы соглашаетесь с условиями договора-оферты и политикой конфиденциальности.