АРХИТЕКТУРА МОБИЛЬНЫХ ИГР НА 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 перешли к фулл-тайм реализации собственных идей и проектов (среди которых – эта школа :)).

 

Спикеры курса имеют большой опыт публичных выступлений. Смотреть:

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

RAID:
Shadow Legends

MMO-Collection RPG (Battler). Больше миллиона игроков в день. iOSAndroid, Mac, PC.

Технически интересны:

наиболее высоконагруженный и масштабируемый сервер из всех проектов;

клиент совмещает ECS в кор-геймплее и MVVM для метаигры;

покрыт огромным количеством различных Unit-, визуальных и интеграционных тестов;

интеграция с Twitch и Amazon; развитая система CI.

Soldiers Inc:
Mobile Warfare

MMO-Strategy. 4+ лет в релизе, 2 000 000+ установок на iOSAndroid.

Технически интересны:

поддержка общего ядра с проектом Stormfall при наличии большого количества индивидуальной функциональности в каждом из проектов;

управление большим количеством загружаемых ресурсов;

многопоточная структура клиента.

Stormfall:
Rise of Balur

MMO-Strategy. 5+ лет в релизе, 20 000 000+ установок на iOSAndroid.

Технически интересны:

система обеспечения консистентности данных пользователя;

высоконагруженный сервер;

версионирование функционала и поддержка обратной совместимости;

развитая система онлайн-событий (например, турниров);

архитектурно основан на MVVM.

Total Domination –
Reborn

MMO-Strategy. 7+ лет в релизе, 2 000 000+ установок на iOSAndroid.

Технически интересны:

опыт полной смены движка и переобучения команды со стека 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 могут отличаться в зависимости от курса валют вашего банка. Приносим извинения за неудобства, мы вынуждены указывать приблизительную цену 🙁

Возможна рассрочка на несколько частей. Пишите!

Нам доверяют: