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

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

Архитектура мобильных игр на Unity для профессионалов

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

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

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

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

ДЛЯ КОГО?

[Независимые Разработчики]

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

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

[Разработчики уже в индустрии]

Делаешь игры, но часто упираешься в вопросы стабильности, расширяемости и поддержки?

Хочешь углубить понимание проектирования и архитектуры?

Хочешь расширить свой инструментарий? Тогда тебе к нам

[.NET разработчики,
которые хотят в геймдев]

Всю проф. жизнь хотел делать игры, но не сложилось?

Расскажем из каких частей игры состоят, как мыслить при решении типичных проблем, и как писать игры так, чтобы они работали как стройная система.

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

КТО?

Екатерина Ревво (linkedIn)

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

Алексей Науменко (linkedIn)

8 лет опыта разработки
Последняя запись в резюме: Unity Software Architect на
Raid: Shadow Legends и также еще нескольких мобильных проектax мирового уровня.


После ухода из Plarium в начале 2020 перешли к фулл-тайм реализации собственных идей и проектов (среди которых - эта школа :)).

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

Почему именно этот курс?

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

ПРОЕКТЫ, В КОТОРЫХ МЫ ПРИНИМАЛИ УЧАСТИЕ

RAID:
Shadow Legends

(да-да, тот самый :D)

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

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

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

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

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

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

(да-да, тот самый :D)

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

Soldiers Inc:
Mobile Warfare

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

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

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

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

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

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

Stormfall:
Rise of Balur

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

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

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

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

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

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

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

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

Total Domination -
Reborn


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

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

опыт полной смены движка и переобучения команды со стека Cocos2d и C++ на Unity и C#;

поддержка экзотических устройств (например, Amazon Kindle);

система клиент-серверной синхронизации данных.

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

*Изображения и наименования игровых проектов RAID: Shadow Legends, Soldiers Inc: Mobile Warfare, Stormfall: Rise of Balur и Total Domination - Reborn принадлежат их законным правообладателям - Plarium Global Ltd

КАК ПРОХОДИТ
ОБУЧЕНИЕ

СТРИМЫ

С РАЗБОРАМИ ДЗ

ДЕЛАЕШЬ ДОМАШНИЕ

ЗАДАНИЯ, ДЛЯ ТОГО

ЧТОБЫ ПРОВЕРИТЬ ВСЕ

НА ПРАКТИКЕ И

ОПРОБОВАТЬ СВОИ

МЫСЛИ И ИДЕИ

ПИШЕШЬ ПРОЕКТ

ВМЕСТЕ С ЛЕКТОРОМ

ОТ НАЧАЛА

И ДО КОНЦА

КОМЬЮНИТИ И

ОБСУЖДЕНИЯ

ВИДЕО ЛЕКЦИИ:

ПЕРМАНЕНТНЫЙ

ДОСТУП

ВИДЕО ЛЕКЦИИ:

ПЕРМАНЕНТНЫЙ

ДОСТУП

ПИШЕШЬ ПРОЕКТ

ВМЕСТЕ С ЛЕКТОРОМ

ОТ НАЧАЛА

И ДО КОНЦА

ДЕЛАЕШЬ ДОМАШНИЕ

ЗАДАНИЯ,

ЧТОБЫ ПРОВЕРИТЬ ВСЕ

НА ПРАКТИКЕ И

ОПРОБОВАТЬ СВОИ

МЫСЛИ И ИДЕИ

СТРИМЫ

С РАЗБОРАМИ ДЗ

КОМЬЮНИТИ И

ОБСУЖДЕНИЯ

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

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

Установим конкретную версию 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 месяцев обучения
ВТОРОЙ ПОТОК СТАРТУЕТ В КОНЦЕ ЯНВАРЯ

Просмотр

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

~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

Продвинутый

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

~107 700 RUB

39 600 UAH

~1 390 USD

~1 170 EUR

~3 590 BYN

Просмотр

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

~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

Продвинутый

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

~107 700 RUB

39 600 UAH

~1 390 USD

~1 170 EUR

~3 590 BYN

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