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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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