

АРХИТЕКТУРА МОБИЛЬНЫХ ИГР НА UNITY ДЛЯ ПРОФЕССИОНАЛОВ
ОБЗОР КУРСА
Курс о том, как делать уверенные в себе игры.
Не является гуру-курсом, пытающимся рассказать обо всем на свете, но вместо этого содержит набор подходов и практик, подходящих для проектов любого масштаба.
Проект в курсе специально не использует сторонних библиотек, для того чтобы дать детальное понимание всех частей проекта (DI, entry point, и т.п.).
После того как вы напишете этот проект последовательно и вместе с нами, не останется ничего, что бы вы о нем не знали.
Каждый уголок, содержащий простой или сложный код, будет вам известен.
Разработка игр приучает решать не только моментальные программистские проблемы, а скорее проблемы продукта в целом.
Поэтому мы рассматриваем как код продукта, так и настройку его окружения.




Курс о том, как делать уверенные в себе игры.
Не является гуру-курсом, пытающимся рассказать обо всем на свете, но вместо этого содержит набор подходов и практик, подходящих для проектов любого масштаба.
Проект в курсе специально не использует сторонних библиотек, для того чтобы дать детальное понимание всех частей проекта (DI, entry point, и т.п.).
После того как вы напишете этот проект последовательно и вместе с нами, не останется ничего, что бы вы о нем не знали.
Каждый уголок, содержащий простой или сложный код, будет вам известен.
Мы создавали видео для курса, ориентируясь на свой спикерский опыт.
В них нет полуторачасовых обсуждений слайдов. Они максимально практические, концентрированные и разбиты на маленькие порции, которые позволяют вам контролировать поглощение информации.
Разработка игр приучает решать не только моментальные программистские проблемы, а скорее проблемы продукта в целом.
Поэтому мы рассматриваем как код продукта, так и настройку его окружения.

Курс для того, кто имеет базовый навык в разработке, знания C# и хочет углубить свои представления об архитектуре игр в индустриальных подходах, да и вообще – о том, как эти игры делать.

[Независимые Разработчики]
Хочешь меньше возиться с нестабильной архитектурой и сосредоточиться на геймплейных интересностях и контенте?
Хочешь увеличить масштаб своих проектов? Возьми у нас индустриальные решения для системных проблем и освободи себе пространство для творчества.

[Разработчики уже в индустрии]
Делаешь игры, но часто упираешься в вопросы стабильности, расширяемости и поддержки?
Хочешь углубить понимание проектирования и архитектуры?
Хочешь расширить свой инструментарий? Тогда тебе к нам

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

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


Екатерина Ревво (linkedIn)
8 лет опыта разработки и ведения проектной команды
Последняя запись в резюме: Client Team Lead на Raid: Shadow Legends
и нескольких других масштабных проектах (см. ниже).

Алексей Науменко (linkedIn)
9 лет опыта разработки
Последняя запись в резюме: Unity Software Architect на
Raid: Shadow Legends и также еще нескольких мобильных проектax мирового уровня.
После ухода из Plarium в начале 2020 перешли к фулл-тайм реализации собственных идей и проектов (среди которых – эта школа :)).
Спикеры курса имеют большой опыт публичных выступлений. Смотреть:
- доклад про ECS – Unity, ECS и люди
- DI + UNITY = ZENJECT | Dependency injection в Unity
- Рефакторинг кода в Unity-проектах | Разрываем зависимости
- UNIT TESTING | Правильно внедряем unit-тесты в Unity проект

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



RAID:
Shadow Legends
Технически интересны:
наиболее высоконагруженный и масштабируемый сервер из всех проектов;
клиент совмещает ECS в кор-геймплее и MVVM для метаигры;
покрыт огромным количеством различных Unit-, визуальных и интеграционных тестов;
интеграция с Twitch и Amazon; развитая система CI.

Soldiers Inc:
Mobile Warfare
Технически интересны:
поддержка общего ядра с проектом Stormfall при наличии большого количества индивидуальной функциональности в каждом из проектов;
управление большим количеством загружаемых ресурсов;
многопоточная структура клиента.

Stormfall:
Rise of Balur
Технически интересны:
система обеспечения консистентности данных пользователя;
высоконагруженный сервер;
версионирование функционала и поддержка обратной совместимости;
развитая система онлайн-событий (например, турниров);
архитектурно основан на MVVM.

Total Domination –
Reborn
Технически интересны:
опыт полной смены движка и переобучения команды со стека Cocos2d и C++ на Unity и C#;
поддержка экзотических устройств (например, Amazon Kindle);
система клиент-серверной синхронизации данных.
*Изображения и наименования игровых проектов RAID: Shadow Legends, Soldiers Inc: Mobile Warfare, Stormfall: Rise of Balur и Total Domination – Reborn принадлежат их законным правообладателям – Plarium Global Ltd



ДЕЛАЕШЬ ДОМАШНИЕ
ЗАДАНИЯ, ДЛЯ ТОГО
ЧТОБЫ ПРОВЕРИТЬ ВСЕ
НА ПРАКТИКЕ И
ОПРОБОВАТЬ СВОИ
МЫСЛИ И ИДЕИ

ПИШЕШЬ ПРОЕКТ
ВМЕСТЕ С ЛЕКТОРОМ
ОТ НАЧАЛА
И ДО КОНЦА

ПИШЕШЬ ПРОЕКТ
ВМЕСТЕ С ЛЕКТОРОМ
ОТ НАЧАЛА
И ДО КОНЦА

ДЕЛАЕШЬ ДОМАШНИЕ
ЗАДАНИЯ,
ЧТОБЫ ПРОВЕРИТЬ ВСЕ
НА ПРАКТИКЕ И
ОПРОБОВАТЬ СВОИ
МЫСЛИ И ИДЕИ

НАСТРОЙКА ОКРУЖЕНИЯ ДЛЯ РАБОТЫ
Установим конкретную версию Unity. В курсе понадобится Rider или в крайнем случае Visual Studio + Resharper. Большой упор сделан на совершенствование навыков в этих индустриальных инструментах.
РАЗБЕРЕМСЯ С ENTRY POINT-ОМ И НАЧНЕМ ОБЩУЮ АРХИТЕКТУРУ СОСТОЯНИЙ ИГРЫ
Никаких синглтонов! Рассмотрим подход к управлению состояниями игры-приложения и организуем удобный запуск и прогрев всех нужных ее частей.
СОХРАНЕНИЕ ПРОГРЕССА И ОРГАНИЗАЦИЯ ДОСТУПА К ДАННЫМ ИГРОКА (SAVELOAD)
Организуем один из удобных способов сохранить и загрузить\обновить данные о прогрессе и состоянии игрока. При этом получим специальное место для этого и избежим проблем порядка инициализации.
КОМПОНЕНТНАЯ МОДЕЛЬ
Пристально посмотрим на компонентный подход (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) доступа к ресурсам.
УДОБНО ОРГАНИЗУЕМ ЗАГРУЗКУ СЦЕН И УРОВНЕЙ
Устали от проблем выгрузки, загрузки и порядка инициализации? Сейчас время это исправить.
КУРС РАССЧИТАН НА ЧУТЬ БОЛЬШЕ 4Х МЕСЯЦЕВ ОБУЧЕНИЯ

НАСТРОЙКА ОКРУЖЕНИЯ ДЛЯ РАБОТЫ
Установим конкретную версию Unity. В курсе понадобится Rider или в крайнем случае Visual Studio + Resharper. Большой упор сделан на совершенствование навыков в этих индустриальных инструментах.
РАЗБЕРЕМСЯ С ENTRY POINT-ОМ И НАЧНЕМ ОБЩУЮ АРХИТЕКТУРУ СОСТОЯНИЙ ИГРЫ
Никаких синглтонов! Рассмотрим подход к управлению состояниями игры-приложения и организуем удобный запуск и прогрев всех нужных ее частей.
СОХРАНЕНИЕ ПРОГРЕССА И ОРГАНИЗАЦИЯ ДОСТУПА К ДАННЫМ ИГРОКА (SAVELOAD)
Организуем один из удобных способов сохранить и загрузить\обновить данные о прогрессе и состоянии игрока. При этом получим специальное место для этого и избежим проблем порядка инициализации.
КОМПОНЕНТНАЯ МОДЕЛЬ
Пристально посмотрим на компонентный подход (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) доступа к ресурсам.
УДОБНО ОРГАНИЗУЕМ ЗАГРУЗКУ СЦЕН И УРОВНЕЙ
Устали от проблем выгрузки, загрузки и порядка инициализации? Сейчас время это исправить.
КУРС РАССЧИТАН НА ЧУТЬ БОЛЬШЕ 4Х МЕСЯЦЕВ ОБУЧЕНИЯ


Вы можете использовать промокод внутри корзины
Продажи на территории РФ не осуществляются
Vanilla
(Просмотр)
∞

Standart
(Стандарт)
количество мест
ограничено

Advanced
(Продвинутый)
количество мест
ограничено

- ДОСТУП К ВИДЕО И
ДИСКОРД-КОМЬЮНИТИ - ДОСТУП К РЕПОЗИТОРИЮ С КОДОМ ДЕМО-ПРОЕКТА, УДОБНО РАЗБИТОГО НА УРОКИ
- ОТВЕТЫ НА ВАШИ ВОПРОСЫ В ЧАТЕ
* ДОСТУП К ВИДЕО СРАЗУ ПОСЛЕ ОПЛАТЫ
- ВСЕ, ЧТО В VANILLA
- ИНДИВИДУАЛЬНАЯ ПРОВЕРКА ЗАДАНИЙ И ВАШИХ ИДЕЙ В ФОРМАТЕ КОД-РЕВЬЮ
- РАЗБОР ЗАДАНИЙ, ИДЕЙ И ОБСУЖДЕНИЕ ПРОДАКШН-РЕШЕНИЙ, ДОПОЛНИТЕЛЬНЫХ ФРЕЙМВОРКОВ И ПР. НА ЕЖЕНЕДЕЛЬНЫХ ОБЩИХ СТРИМАХ
Vanilla/Standart
+
ИНДИВИДУАЛЬНЫЕ
СОЗВОНЫ СО СПИКЕРАМИ
500 $
889 $
Vanilla
(Просмотр)
∞

- ДОСТУП К ВИДЕО И
ДИСКОРД-КОМЬЮНИТИ - ОТВЕТЫ НА ВАШИ ВОПРОСЫ В ЧАТЕ
* ДОСТУП К ВИДЕО СРАЗУ ПОСЛЕ ОПЛАТЫ
500 $
Standart
(Стандарт)
количество мест
ограничено

- ВСЕ, ЧТО В VANILLA
- ИНДИВИДУАЛЬНАЯ ПРОВЕРКА ЗАДАНИЙ И ВАШИХ ИДЕЙ В ФОРМАТЕ КОД-РЕВЬЮ
- РАЗБОР ЗАДАНИЙ, ИДЕЙ И ОБСУЖДЕНИЕ ПРОДАКШН-РЕШЕНИЙ, ДОПОЛНИТЕЛЬНЫХ ФРЕЙМВОРКОВ И ПР. НА ЕЖЕНЕДЕЛЬНЫХ ОБЩИХ СТРИМАХ
889 $
Advanced
(Продвинутый)
количество мест
ограничено

Vanilla/Standart
+
ИНДИВИДУАЛЬНЫЕ
СОЗВОНЫ СО СПИКЕРАМИ
ADVANCED
Количество мест ограничено
Включает в себя 2, 4 или 6 индивидуальных созвонов со спикерами на протяжении курса
VANILLA V2
(Пакет Vanilla + 2 консультации)
644 $
VANILLA V4
(Пакет Vanilla + 4 консультации)
787 $
VANILLA V6
(Пакет Vanilla + 6 консультаций)
930 $
STANDART V2
(Пакет Standart + 2 консультации)
1 032 $
STANDART V4
(Пакет Standart + 4 консультации)
1 175 $
STANDART V6
(Пакет Standart + 6 консультаций)
1 318 $
Цены в других валютах, кроме UAH могут отличаться в зависимости от курса валют вашего банка. Приносим извинения за неудобства, мы вынуждены указывать приблизительную цену 🙁
Возможна рассрочка на несколько частей. Пишите!
Нам доверяют:
