Разработка игр на языке программирования C++

Описание

О курсе

Освойте язык программирования C++ на базовом уровне и создайте свою первую игру уже через 2 месяца обучения. Эти знания пригодятся для работы в Unreal Engine.

Разработчик на языке программирования C++ — это специалист, который с помощью алгоритмов создаёт разнообразные программы, виртуальные машины и операционные системы. А также может использовать язык программирования для работы с Unreal Engine и разрабатывать компьютерные игры.

Разработка на языке программирования C++ — это востребованное направление в разработке игр: на базе этого языка программирования сделано множество трехмерных (3D) игр, симуляторов, шутеров и стратегий. Например, видеоигры: Counter-Strike, Witcher 3, Dark Souls или PUBG.

Обучение проходит на учебной платформе: лекции, презентации, конспекты и памятки, обязательные домашние задания и дополнительные упражнения. На домашние задания вы получаете развёрнутые комментарии наставников, вносите правки и можете задавать вопросы в учебном чате.

Для кого

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

Чему вы научитесь

  • Программировать на языке C++. Освоите язык на базовом уровне, чтобы использовать его для работы с Unreal Engine.
  • Разрабатывать игры. На курсе вы создадите несколько простейших игр, а сразу после — сможете разрабатывать более сложные.
  • Создавать игровой движок для двухмерных (2D) игр. Для этого вы разберётесь с основами линейной алгебры и принципами создания игровых движков.
  • Работать с инструментами коммерческой разработки. Например, с систмой контроля версий (Git) или средой разработки от компании Microsoft (MS Visual Studio), чтобы отлаживать программу и пользоваться системой контроля версий.

Программа

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

  • 11 домашних заданий
  • Индивидуальная проверка домашних заданий
  • Навыки работы с Git (системой контроля версий)
  • Знание языка программирования C++
  • 3 игры в портфолио

Блок 1. Введение в язык программирования C++

Освоите синтаксис в языке C++ — ветвления, циклы и функции, а также научитесь их применять и строить простые алгоритмы. Всё на примере игры «змейка».

  • Введение в программирование
  • Алгоритм. Переменные, ветвления и циклы в языке C++
  • Основы разработки программ
  • Функции. Структура программ на языке C++. Процесс сборки

Блок 2. Алгоритмы и структуры данных

Овладеете основами компьютерной науки (Computer Science), познакомитесь с основными типами данных в языке C++ и узнаете, как создавать свои собственные. Разберетесь в основных структурах данных и алгоритмах работы с ними, научитесь пользоваться стандартной библиотекой языка C++ и доработаете игру.

  • Внутреннее устройство языка программирования C++: типы данных, память и представление информации в компьютере.
  • Контейнеры и пользовательские структуры данных: динамические массивы, словари, структуры, классы и современные инструменты управления памятью
  • Работа с файлами, шаблоны языка C++, многопоточность и инструменты стандартной библиотеки
  • Основы теории вычислений
  • Основные структуры данных: списки, деревья, стеки, очереди и графы

Промежуточный проект № 1. Готовая Змейка или кастомная игра. У игры будет меню с настройками игры, рейтинговой таблицей и началом новой игры, а также выходом.

Блок 3. Объектно-ориентированное программирование и основы проектирования

В этом блоке вы овладеете теоретическими знаниями ООП и проектирования научитесь разрабатывать легко поддерживаемые и расширяемые программы.

  • Введение в объектно-ориентированное программирование (ООП). Классы в языке C++
  • Полиморфизм и наследование в языке C++
  • Введение в проектирование, основные принципы. Интерфейсы, абстрактные классы в языке C++
  • Основные паттерны проектирования

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

В последнем блоке вы научитесь общепринятым практикам разработки, работе в команде и созданию проектов с нуля. А также выполните курсовой проект — игру в жанре «Рогалик».

  • Системы контроля версий (Git)
  • Введение в разработку игровых движков
  • Тестирование и отладка программ
  • Основы командной и проектной разработки
  • Промежуточный проект № 2. Делаем документацию и перекрестное ревью
  • Заключение. Подготовка к аттестационной работе
  • Дипломный проект. Игра в жанре «Рогалик»

Что вы получите

  • Доступ к материалам курса после подтверждения оплаты
  • Лекции, презентации, конспекты и памятки на учебной платформе
  • Персональная обратная связь на домашние задания
  • Закрытый учебный чат
  • Сертификат об обучении

Кто ведёт курс

Технический директор студии разработки игр

Практикующий разработчик, ведёт блок по архитектуре игрового проекта.

Геймплей-программист

Практикующий программист игровой логики.

Разработчик программного обеспечения

Практикующий разработчик на C++.