Продвинутый курс программирования

ЗАДАТЬ ВОПРОС

ПОЧЕМУ ЭТОТ КУРС ПОЛЕЗЕН ВАШИМ
РАЗРАБОТЧИКАМ?
Проверено на нескольких командах больших мобильных проектов :)
ПОЧЕМУ ИМЕННО ЭТОТ КУРС?
Потому что это единственный (мы проверили :)) курс по Unity, в котором мы действительно реализуем всю архитектуру проекта и пишем весь ее код вместе с учениками. Мы не постеснялись рассказать некоторые сложные вещи, которые применяются в индустрии. Тем не менее, мы постарались сделать их понятными превратить в навык для учеников. К тому же не на английском :).
По результатам составим отчет по каждому из членов команды, его сильным и слабым сторонам и дадим рекомендации по дальнейшему развитию.
БУДЕТ ПОЛЕЗЕН КОМАНДЕ, ЕСЛИ
РАБОТАЕТ ДЛЯ ПРОЕКТОВ И КОМАНД:
Hyper-casual. Небольшие проекты, быстро попадающие в релиз и переиспользующие код-базу.


Критическая задача:
Как можно быстрее создать и показать прототип команде гейм-дизайна с приемлемой стабильностью.



Для этого мы рассматриваем подход быстрых итераций. А еще обучаем команду говорить на одном техническом языке, что важно для скорости.
F2P casual (например, match 3, hidden object). Проекты среднего масштаба с большим количеством однотипного контента.

Критическая задача: Инструментарий для быстрого наполнения контентом, удобный для команд гейм-дизайна и тех-арта. Удобные решения для организации UI и ресурсов игры.

Для этого мы разбираем проблематику организации контента с точки зрения общения с другими командами и разработку удобных инструментов. Для UI - вырабатываем индустриальный подход к его сборке.
F2P midcore (например, collection RPG, RTS). Это проекты с длительной поддержкой и регулярными обновлениями.

Критическая задача: стабильная архитектурная база кода продукта и инфраструктура окружения.




Для этого мы обучаем проектированию и структуризации отдельных модулей игры. Не только разберем, но и полностью напишем код стабильных архитектурных паттернов и решений. Системы контроля версий и CI невероятно важны на больших проектах. Разберемся как настроить это просто и безболезненно.

ПРОГРАММА КУРСА

Настройка окружения для работы

Установим конкретную версию Unity. В курсе понадобится Rider или в крайнем случае Visual Studio + Resharper. Большой упор сделан на совершенствование навыков в этих индустриальных инструментах.

Разберемся с Entry Point-ом и начнем
общую архитектуру состояний игры

Никаких синглтонов! Рассмотрим подход к управлению состояниями игры-приложения и организуем удобный запуск и прогрев всех нужных ее частей.

Сохранение прогресса и организация
доступа к данным игрока (save\load)

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

Компонентная модель

Пристально посмотрим на компонентный подход (Component model) к разработке и разберемся, как Unity хочет, чтобы мы строили игры (из маленьких компонентов без центрального контроллера). Опробуем этот подход на примере наших врагов.

Статические данные. Доступ в коде
к балансу и прочим конфигурациям игры

Разберем как в проектах с частыми обновлениями хранят, загружают и, собственно, обновляют баланс игры (параметры врагов, уровней и тп). Рассмотрим несколько форматов хранения (Json, binary, ScriptableObject) и реализуем один из них.

UI. Соберем несколько окон по
универсальным гайдлайнам

Обсудим индустриальные подходы и нюансы сборки динамического и адаптивного UI, используя Unity UI, особенности мобильных экранов (например, safe area). Соберем world space и screen space UI.

Подключим рекламу (Unity Ads) и
внутриигровые покупки (In-app purchases)

Поговорим о способах монетизации Free-to-play игр, подключим модули рекламы и внутриигровых покупок, посмотрим на управление внутриигровыми покупками через Unity Dashboard и сторы.

Соберем билды на устройства

Каждая уважающая себя команда разработки должна настроить инфраструктуру постоянной сборки и тестирования билдов (CI). Выясним, для чего и как.

Добавим персонажа, чтобы было кем
управлять и реализуем Input-систему

Чтобы было как управлять. В редакторе и на мобильных устройствах.

А как же без Dependency Injection?

Напишем простейший DI-фреймворк для доступа к частям игры (сервисам), поговорим о том, почему это нужно, и постепенно будем его совершенствовать.

Враги и их друзья

Заставим NavmeshAgent искать путь на уровне с препятствиями. Научим врагов шевелиться, атаковать и преследовать. Запустим анимации из кода и код из анимаций (Animator, Animation events, импорт анимаций).

Расширим редактор Unity своими инструментами

Упростим себе жизнь и левел-дизайн с помощью Gizmos и других инструментов (UnityEditor tools).

Усовершенствуем и отрефакторим ранее созданную фабрику игровых сущностей и DI

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

Управление и доступ к ресурсам игры. Addressables

На мобильных проектах с частыми обновлениями управление ресурсами и их догрузка - выделенная серьезная задача. Разберем способы упаковки и скачивания ресурсов, которые предлагает Unity (asset bundles, Adressables), реализуем сервис асинхронного (async\await) доступа к ресурсам.

Удобно организуем загрузку сцен и уровней

Устали от проблем выгрузки, загрузки и порядка инициализации? Сейчас время это исправить.

Рассмотрим публикацию в сторы

Ни одна игра не имеет смысла, пока ее нельзя ниоткуда получить. Аккаунты в сторах платные (Google Play, App Store), поэтому мы покажем вам все необходимые для публикации шаги и настройки, к которым вы сможете вернуться, когда займетесь публикацией уже своих проектов!
Курс рассчитан на 5 месяцев обучения

Разберемся с Entry Point-ом и начнем общую архитектуру состояний игры

А как же без Dependency Injection?

Сохранение прогресса и организация доступа к данным игрока (save\load)

Враги и их друзья

Компонентная модель

Расширим редактор Unity своими инструментами

Статические данные. Доступ в коде к балансу и прочим конфигурациям игры

...

Курс рассчитан на 5 месяцев обучения
Старт курса 25 ноября

Просмотр

  • Доступ к видео и
    дискорд-комьюнити

~39 900 RUB

14 670 UAH

~515 USD

~430 EUR

~1 330 BYN

количество мест
ограничено

Стандарт

  • Доступ к видео и
    дискорд-комьюнити
  • Индивидуальная
    проверка заданий
  • Доступ к вебинарам и
    стримам разбора
    домашних заданий и
    вопросов

~75 930 RUB

27 900 UAH

~980 USD

~825 EUR

~2 530 BYN

осталось мест
1/10

Продвинутый

  • Доступ к видео и
    дискорд-комьюнити
  • Индивидуальная
    проверка заданий
  • Доступ к вебинарам и
    стримам разбора
    домашних заданий и
    вопросов
  • Индивидуальные
    созвоны со спикерами

~107 700 RUB

39 600 UAH

~1 390 USD

~1 170 EUR

~3 590 BYN

Просмотр

осталось мест
2/10
  • Доступ к видео и дискорд комьюнити

~39 900 RUB

14 670 UAH

~515 USD

~430 EUR

~1 330 BYN

Стандарт

количество мест
ограничено
  • Доступ к видео и дискорд комьюнити
  • Индивидуальная проверка заданий
  • Доступ к вебинарам и стримам разбора домашних заданий и вопросов

~75 930 RUB

27 900 UAH

~980 USD

~825 EUR

~2 530 BYN

Продвинутый

осталось мест
1/10
  • Доступ к видео и дискорд-комьюнити
  • Индивидуальная проверка заданий
  • Доступ к вебинарам и стримам разбора домашних заданий и вопросов
  • Индивидуальные созвоны со спикерами

~107 700 RUB

39 600 UAH

~1 390 USD

~1 170 EUR

~3 590 BYN

Цены в других валютах, кроме UAH могут отличаться в зависимости от курса валют вашего банка. Приносим извинения за неудобства, мы вынуждены указывать приблизительную цену :(
Варианты оплаты частями рассмотрим индивидуально