Разработчик игр на Unity

Описание

О курсе

За 10 месяцев вы научитесь программировать на C#, разберётесь в игровом движке Unity и создадите 2 игровых прототипа для портфолио. Программа подойдёт даже тем, кто никогда не писал код.

Разработчик игр на Unity — это специалист, который создаёт игры с реалистичной графикой и продуманным интерфейсом на игровом движке Unity.

Это востребованная профессия: специалисты могут и работать в крупных студиях, и создавать свои проекты в одиночку. При этом разработать на Unity можно что угодно: игры с перемещением по платформам (платформеры), стратегии, симуляторы выживания и ролевые игры (Role Playing Game).

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

Для кого

  • Никогда не создавали игры, но очень хотите начать
  • Создаёте игры, но хотите переквалифицироваться или освоить ещё один язык программирования и движок
  • Пробовали программировать или работать с игровыми движками сами, но это оказалось слишком сложно
  • Разрабатываете простые игры, но хотите попробовать себя на проектах посложнее

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

  • Программировать на объектно-ориентированном языке программирования (C#). Разберетесь в структурах данных этого языка программирования, получите опыт реализации игровых алгоритмов, научитесь отлаживать код.
  • Создавать двухмерные (2D) игры. В ходе обучения вы разработаете прототип гиперказуальной игры в консоли и собственную двухмерную (2D) игру.
  • Использовать основные инструменты и принципы. Научитесь работать с классами, структурами, блоками кода (корутинами) и другими сущностями в C#.
  • Разрабатывать игры в Unity. После второй ступени вы сможете выйти на уровень уверенного специалиста младшего уровня в разработке.

Программа

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

Во время обучения вас ждут две большие ступени: сначала вы освоите объектно-ориентированный язык программирования C#, а потом приступите к работе в Unity.

  • Навыки программирования на языке C#
  • Навыки разработке на игровом движке Unity
  • 27 домашних заданий
  • Индивидуальная проверка домашних заданий
  • 5 проектных работ и 2 итоговые

Язык программирования C# для разработки игр

Пройдете путь от первых строк кода на C# до разработки полноценных игровых систем. Научитесь применять ООП, работать с алгоритмами и зависимостями, проектировать архитектуру проектов и создавать гибкие игровые механики. Полученные навыки закрепите на практике, реализовав алгоритм A* поиска пути для юнитов, систему улучшения персонажей и собственную игру «Танки».

Блок 1. Основы языка программирования (C#) в Unity

  • Введение в программирование на языке C# в Unity
  • Первый код на языке C#
  • Методы, ветвления и циклы в языке C#
  • Знакомство с коллекциями в языке C#

Блок 2. Объектно-ориентированное программирование в языке C#

  • Работа с консольным приложением
  • Основы ООП: классы и объекты
  • Инструменты классов в языке C#
  • Четыре принципа ООП: абстракция, инкапсуляция, наследование, полиморфизм
  • Реализация алгоритма A*
  • Проектная работа № 1
  • Реализуете алгоритм поиска пути A* для всех юнитов в игре

Блок 3. Подходы к организации кода в языке C#

  • Взаимодействие классов: универсальный доступ
  • Ручное управление зависимостями
  • Единый реестр зависимостей: локатор служб (Service Locator)
  • Организация крупных проектов: внедрение зависимостей (Dependency Injection)
  • Проектная работа № 2
  • Доработаете гибкую систему улучшений персонажей и добавите новые игровые способности для разных классов юнитов

Блок 4. Архитектурный подход в разработке

  • Расширение языка: работа с файлами и библиотеками
  • Основы архитектурного мышления
  • Подготовка к итоговому проекту
  • Перспективы развития разработчика на языке C#
  • Итоговый проект
  • Сделаете свой проект с нуля — консольная игра «Танки»

Разработка игр на Unity

Освоите полный цикл разработки 2D-игры в Unity: научитесь создавать уровни, анимации, боевые механики, NPC с искусственным интеллектом, интерфейсы, системы прогрессии и сохранений. В ходе обучения соберёте собственный игровой проект с уникальными механиками, оптимизируете его производительность и подготовите к выпуску на Android.

Блок 1. Платформер-пазл

  • Знакомство с Unity: создание нового проекта
  • Создаём сцену
  • Оживляем сцену
  • Физика и коллизии
  • Наборы спрайтов (тайлсеты) и камера
  • Анимация
  • Программирование игровых механик: разбираем компонентный подход в разработке
  • Частицы (партиклы) и создание объектов (инстанцирование): познакомимся и применим на практике частицы

Проектная работа № 1

Создадите уровень с платформером-пазлом размером минимум на 6 экранов (12×7 плиток (тайлов)), а также реализуете собственную игровую механику.

Блок 2. Бой и неигровой персонаж (NPC)

  • Ближний бой и разрушаемые объекты: реализуем механику холодного оружия и разрушаемых пропсов
  • Модель данных игрока и текущей сессии: разберём, что такое контейнер данных (Scriptable Object) и как его применять
  • Противники (мобы) и базовый ИИ (AI): реализуем моба с ближней атакой
  • Дальность (range) атаки: реализуем механику дальней атаки для персонажа
  • Ещё мобы: на основе компонентов, разработанных в предыдущих лекциях, создаём моба с дальней атакой
  • Модель данных и инвентарь: создадим инвентарь и новые механики собирательных ресурсов
  • Звук: обзор звука подсистем Unity. Реализация эмбиента уровня
  • Чистый код. Связность. Зацепление. Разбираем, какой код хороший, а какой нет и почему. Улучшаем (рефакторим) уже созданные классы

Проектная работа № 2

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

Блок 3. Пользовательский интерфейс (UI) и новые игровые механики

  • Введение в интерфейс пользователя (UI)
  • Создаём экранный интерфейс пользователя (HUD)
  • Создаём инвентарь и ячейки быстрого доступа
  • Диалоги: создаём новую механику разговора с неигровым персонажем (NPC)
  • Локализация: зачем нужно локализировать игры и как лучше это делать?
  • Точки сохранения и красивости: реализуем механику сохранений на точках (чек-поинтах)
  • Продвинутые механики: умения. Новая механика прокачки способностей (перков)
  • Продвинутые механики: прокачка героя

Проектная работа № 3

Создадите механику, которая связана с интерфейсом пользователя (UI) — большой инвентарь, магазин или что-то ещё. Также создадите новую способность (перк) — притягивающий крюк, поле отключения гравитации, рывок или что-то ещё.

Блок 4. Продвинутые игровые механики и красивости

  • Освещение. Разбор системы освещения в Unity и его применение в двухмерной (2D) перспективе. Реализуем «тёмный» уровень
  • Эффекты камеры. Обзор полноэкранных эффектов и их реализация
  • Бой с боссом ч.1: создаём арену для босса и прописываем логику для босса
  • Бой с боссом ч.2: добавляем затопленный уровень

Блок 5. Оптимизация и аналитика

  • Анализ производительности и оптимизация: ч.1
  • Анализ производительности и оптимизация: ч.2
  • Сборки под разные платформы. Разбираем процесс сборки по шагам. Обзор значимых параметров и настроек сборки

Блок 6. Портирование игры на Android

  • Работа с Android-платформой в Unity
  • Тестирование, сборка и заливка игры в магазин приложений
  • Итоговый проект

Работа над проектом в портфолио

Самостоятельно создадите полноценную двухмерную (2D) экшн игру на 4 уровня. Добавите в игру: 1 новую способность (перк), 1 нового босса. К работе создадите сопроводительный документ, в котором будут описаны не только геймплей, но и технические особенности реализации.

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

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

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

Ведущий разработчик на Unity

Практикующий разработчик мобильных и социальных игр, сооснователь онлайн-игры.

Разработчик на Unity среднего уровня

Практикующий разработчик игр.

Разработчик на Unity

Практикующий разработчик игр.