PRO версия курса GAMEDEV от Skillfactory
От: SkillfactoryАпнуться до разработчика игр на Unity и стать PRO за 18 месяцев? Го!
Разработка концепции, геймдизайна и программирование собственной игры, для которой вы сами выберете жанр и платформу.
Апнуться до разработчика игр на Unity и стать PRO за 18 месяцев? Го!
Разработка концепции, геймдизайна и программирование собственной игры, для которой вы сами выберете жанр и платформу.
Курс ориентирован в первую очередь на новичков, которые решили получить профессию разработчика игр с нуля, и дает полноценную подготовку к работе в геймдеве. Подходит для тех, кто уже работает в индустрии игр (например, дизайнер или тестировщик), но хотел бы перейти в разработку.
Освоите все этапы геймдизайна — от идеи до загрузки в сторы и продаж.
Научитесь программировать на C# — это даст крепкую основу для широкого круга задач.
Освоите разработку востребованных 2D- и многопользовательских 3D-игр.
Разберитесь, как зарабатывать на играх, продвигая их в App Store, Google Play, Steam.
12 месяцев
Введение в GameDev. 1 месяц
Введение в GameDev: как делают игры от идеи до релиза, введение в геймдизайн, техническое содержание игры, контент и логика, игровой контент, игровые движки, редактирование уровня.
Редактор Unity: основы редактора, Asset store, материал, система коллайдеров, освещение, префабы, ландшафт, физический движок, система частиц, интерфейс пользователя.
Level design на примере 3D Adventure: тестовая сцена, работа с префабами, механика и динамика уровня, основы взаимодействия объектов, создание уровня — от планирования до документации, WhiteBox.
Создание локации с нуля: введение в Blender, примитивы, полигональное моделирование, создание простой локации, текстуры, развертка, импорт в движок, настройка сцены, добавление освещения, интерактив.
Результат: создаете 3D платформер и игровую локацию с освещением и интерактивом.
Программирование в C#. 2,5 месяца
Основы Visual Studio: знакомство и история языка C#, среда разработки Visual Studio, первая программа, процесс компиляции, отладка приложения.
Основы GIT: системы контроля версий, знакомство с Git, Github, Markdown, UI для Git, Git в Visual Studio, основные операции Git, ветвление в Git, дополнительные возможности Git.
Основные понятия и типы данных: переменные, константы, литералы, основные типы данных, перечисления, ввод и вывод в консоль, основные операции C#, преобразования типов.
Основные конструкции C#: условные выражения и конструкции, циклы, массивы, кортежи, практикум.
Методы в C#: методы, параметры методов, передача параметров, области видимости, рекурсивные функции, итоговый проект.
ООП: ссылочные и значимые типы данных, структуры и объекты, классы и структуры, особенности работы со ссылочными и значимыми типами данных, упаковка и распаковка, инкапсуляция, наследование, полиморфизм, абстрактные классы, агрегация и композиция, статические классы и элементы, обобщения.
Интеграция C# в Unity: особенности C# в Unity, создание простой 3D Adventure.
Результат: научитесь основам языка C#, решите 50+ практических задач и создадите несколько мини-игр и простой 3D Adventure с использованием C#.
Геймдизайн. 1 месяц
Level Design: основные понятия, этапы производства уровня.
Производство уровня: идея, бумажный прототип, болванка, левел-арт.
Командная разработка: роли, арт, инженеры, дизайнеры, менеджмент, этапы разработки.
Написание игрового концепта и питча для инвесторов: концепт, краткое описание, USP/УТП, Design pillars, формулировка Core Loop и описание систем, инвесторы, структура и особенности питча.
Основы планирования: уровни планирования, инструменты планирования, декомпозиция, оценка, блок-план и корректировка, важность фичи и уровни качества.
Результат: познакомитесь с процессом проектирования новой игры. Узнаете об основных подходах, позволяющих придумать игру, которая будет пользоваться спросом. Разработаете дизайн-документ для вашей будущей игры.
Space shooter. 1,5 месяца
Подготовка к Space Shooter: описание идеи, дизайн-документ, структура проекта и импорт 2D-ассетов, спрайты.
Сборка префаба космического корабля: создание космического корабля, виртуальный джойстик, абстракция управления.
Сцена уровня: камера, задний фон, физические объекты, перерождение игрока, ограничение уровня.
Наполнение уровня: оружие корабля, снаряды, ограничение стрельбы, подбираемые объекты, спавнеры.
Вражеские корабли: префаб вражеского корабля, State Machine, поиск целевой позиции, стрельба.
Организуем уровни: добавляем счета за уничтожение, контроллер уровня, логика завершения уровня, организация эпизодов, переходы между уровнями, выбор корабля игрока, панель результатов, внутриигровое меню.
Результат: разработаете мобильную 2D игру Space shooter.
3D racing. 1,5 месяца
Подготовка к 3D racing: дизайн картинка, сущности и параметры, компонент Rigidbody, компонент WheelCollider., скрипт контроллера машины.
Машина: сборка машинки из примитивов, настройка колёс, игрок и контроллер ввода игрока, камера от третьего лица, звук двигателя, звук столкновений.
Трасса: сборка окружения, Terrain, трасса, прохождение чекпоинта, контроллер гонки, старт и завершение гонки, метрики гонки, позиция, время круга, лучшее время.
Интерфейс: интерфейс гонки, время трека, скорость, главное меню, выбор трассы и машины, миникарта, завершение уровня, просмотр отставших машин.
Боты: контроллер бота, движение до точки, движение бота вдоль трассы, добавление ботов в гонку, уровни сложности ботов.
Дополнительные элементы геймплея, топливо, заправка в питстопе, зарабатываем деньги на машины, простая деформация при столкновении, звук шин при скольжении.
Результат: разработаете компьютерную 3D игру Racing.
Tower Defense. 1,5 месяца
Подготовка к Tower Defense: базовая архитектура, первый прототип, башня, движение врагов, прототип врага и внешние настройки.
Интерфейс игровой сцены: развитие архитектуры TD, взаимодействие Player и Enemy, простые элементы HUD, интерактивные интерфейсы для постройки башен, управление группами интерфейсов.
Уровни, меню и сохранения: архитектура уровней TD, события победы и поражения в уровнях, реализация интерфейса карты уровней, сохранение прогресса игрока на диск, стартовое меню игры.
Углубление механик: оценка результативности игрока, волны врагов, ускорение волн, апгрейды.
Новые враги и башни: типы брони и типы повреждений, апгрейды башен, умения игрока и другой код-стиль.
Полировка: список требуемых изменений, особенности приоритизации задач, работа со звуками, альфа-билд игры, публикация в Google Play.
Результат: разработаете мобильную 2D игру Tower Defense.
Командная или инди-разработка своей игры. 3 месяца
Разработка прототипа игры:
Результат: разработаете игру, которую самостоятельно спроектируете. Разработку можно вести индивидуально или в команде. Работа будет вестись под руководством опытного эксперта. Ваша задача — выпустить игру и вывести ее на рынок (в Steam, Google Play и/или App Store).
6 месяцев
3D Sci-Fi First Person Shooter. 2 месяца
Контроллер персонажа: дизайн-картинка, костная анимация, импорт ассетов, контроллер движения, Animation Controller, Camera.
Риг и механика выстрела: настройка Rig, стрельба, цели для стрельбы.
Система действий: атакующие дроны, подготовка аниматора персонажа, элементы уровня.
Боты: навигация ботов, гуманоидный враг, патрулирование, область видимости, поведение ботов.
Транспорт: колесная техника, парящая техника, использование транспорта персонажем.
Прототип стартовой локации: схема игры, планирование и Gray Box, необходимый функционал.
Визуальное оформление стартовой локации: White Box, квесты.
Финальные доработки: система сохранений, мелкие доработки, альфа билд.
Результат: разработаете компьютерную 3D игру Sci-Fi First Person Shooter.
Асинхронное программирование. 1 месяц
Введение в многопоточность: что такое операционная система, цикл жизни приложения, процессы, потоки, запуск и завершение процесса из кода, получение данных о процессе, цикл жизни потока, создание и завершение потоков, примитивы синхронизации, lock, ReaderWriterLockSlim, дедлоки.
Таски и потоки: Data vs Task подходы, принципы построения многопоточных программ, параллельная обработка данных потоками, async/await Task, приостановка выполнения задачи, Yield и Delay, прерывание задач CancellationToken.
Структуры данных в многопоточных приложениях: потокобезопасная итерация по коллекции, ConcurrentQueue ConcurrentDictionary, IAsyncEnumerator, общение между процессами, сравнение работы асинхронных методов на Unity и C# .net.
Асинхронные скрипты Unity: обертка над AsyncOperation для поддержки async/await TaskCompletionSource, асинхронный UnityWebRequest, асинхронная кнопка, асинхронная форма ввода данных, асинхронные переходы, простой асинхронный http сервер.
Продвинутый Unity. 1 месяц
Рендеринг: основы отрисовки, пайплайн отрисовки, камера, ресурсы для отрисовки, поверхностные шейдеры Unity, MaterialPropertyBlock, пост процессинг эффекты, скрин спейс шейдер, пиксельный рейтрейсинг, рендер пайплайны Unity, HDRP, LWRP, отличия от URP.
Паттерны программирования в Unity: Observer, Flyweight, MVC, Command, пул менеджер и повторное использование префабов,ускорение поиска в пространстве, Uniform grid, Spatial hash.
Интерфейсы: растягиваемый интерфейс, автоматический лейаут интерфейса, Horizontal & vertical grid, универсальный Drag&Drop, окно с изменяемым размером.
Взаимодействие интерфейса с бэкендом.
3D Multiplayer tank simulator. 2 месяца
Библиотека Mirror: обзор сетевых технологий, синхронизация состояния игры, Quick Start, сетевое взаимодействие, чат.
Кастомное сетевое решение: сериализация, переходим к играм, первый полет, SyncVar, сетевая стрельба, владелец Destructible.
Контроллер танка: модель танка, скининг и импорт, движение танка, визуализация траков и эффекты.
Перенос танка на сеть: старт боя, сетевая стрельба, уничтожение сетевого танка, оптимизация.
Сетевой уровень: Matchmaker, список игроков, визуализация.
Броня vs Снаряды: броня, выбор снаряда, бронепробиваемость, модули.
Боты: сборка префаба бота, контроллер AI, движение до точки, патрулирование, охрана объекта, поиск и атака цели.
Обзор и маскировка: оптический зум для стрельбы, платформа починки танка, вызываем огонь на себя.
Результат: разработаете компьютерную 3D игру Sci-Fi First Person Shooter.