О курсе
За 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 нового босса. К работе создадите сопроводительный документ, в котором будут описаны не только геймплей, но и технические особенности реализации.
Что вы получите
- Доступ к материалам курса после подтверждения оплаты
- Лекции, презентации, конспекты и памятки на учебной платформе
- Персональная обратная связь на домашние задания
- Закрытый учебный чат
- Сертификат об обучении