СТАРТ В GAMEDEV
ДАТА:
13.06.2023 — 12.10.2023
ДЛИТЕЛЬНОСТЬ:
36 ОНЛАЙН-ЗАНЯТИЙ
[ПО ВТОРНИКАМ И ЧЕТВЕРГАМ]
Комплексный курс, который научит кодить на C++ с нуля, позволит освоить принципы объектно-ориентированного программирования, ключевые библиотеки и инструменты для того, чтобы создавать десктопные и мобильные игры и развиваться в геймдеве.
ЭТОТ КУРС ТОЧНО НЕ ДЛЯ ВАС, ЕСЛИ ВЫ
-
Не хотите работать в GameDev поскольку на курсе мы будем изучать не только синтаксис С++, но и принципы разработки игр; стека навыков после курса будет достаточно для позиции Junior Game Developer
-
Находитесь в поиске легкого старта в ІТ существует мало языков, которые могут конкурировать с С++ по скорости и способности к масштабированию, однако синтаксис языка далеко не самый легкий, так что если вы в поиске быстрого старта — попробуйте себя во фронтенде или начните с Python
-
Не готовы уделять время обучению мы нашли очень скилового лектора, разрабатывающего игры в Ubisoft, составили мощную программу, которая позволит овладеть новой профессией с нуля за 4 месяца, но без вашей вовлеченности и готовности выполнять практические задания ― ничего не получится

-
Это курс, во время которого вы напишете первую 2D-игру на C++.
Сначала вы изучите синтаксис языка С++ и напишете простые рабочие программы. Далее ― овладеете принципами объектно-ориентированного и многопоточного программирования для ускорения выполнения программ. А затем разберете на пиксели каждый этап разработки видеоигр, познакомитесь со стандартами и изучите шаблоны проектирования.
-
В результате ― сможете пройти полный цикл разработки на С++, напишете и презентуете MVP собственной игры.
В ПРОГРАММУ КУРСА ВХОДЯТ
-
С++ Изучите синтаксис и функции С++, овладеете принципами объектно-ориентированного и многопоточного программирования, разберете структуры данных и паттерны, используемые в геймдеве.
-
GAMEDEV Познакомитесь с логикой создания игровых движков, изучите основные подходы к проектированию игр и заполните пробелы в математике, которая необходима для разработки игр.
-
КЕЙС В ПОРТФОЛИО Поделитесь на группы по 3–4 студента и вместе создадите MVP 2D-игры. Прокачаете софт-скилы благодаря работе в команде и добавите первый проект в портфолио.
-
КАРЬЕРНЫЙ БУСТ Получите 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-оффера.
Регистрация