Course
ARCHITECTURE
UNITY GAMES
Курс для того, хто має базову навичку в розробці, знання C# і хоче поглибити свої уявлення про архітектуру ігор індустріальних підходах, та й взагалі – про те, як ці ігри робити.
Курс для того, кто имеет базовый навык в разработке, знания C# и хочет углубить свои представления об архитектуре игр в индустриальных подходах, да и вообще – о том, как эти игры делать.
16 поток стартует 2 декабря
16 потік стартує 2 грудня
Обзор курса
огляд курсу
Обзор курса
огляд курсу
Курс о том, как делать уверенные в себе игры.
Не является гуру-курсом, пытающимся рассказать обо всем на свете, но вместо этого содержит набор подходов и практик, подходящих для
проектов любого масштаба.
Проект в курсе специально не использует сторонних библиотек, для того чтобы дать детальное понимание всех частей проекта (DI, entry point, и т.п.).
Курс про те, як робити впевнені у собі ігри.
Не є гуру-курсом, що намагається розповісти про все на світі. Натомість містить набір підходів та практик, які спрацюють для
проектів будь-якого масштабу.
Проект в курсі навмисно не використовує сторонніх бібліотек, щоб надати детальне розуміння всіх частин проекту (DI, entry point тощо).
После того как вы напишете этот проект последовательно и вместе с нами, не останется ничего, что бы вы о нем не знали. Каждый уголок, содержащий простой или сложный код, будет вам известен.
Після того, як ви напишете цей проект послідовно і разом з нами, не залишиться нічого, що б ви про нього не знали. Кожен куточок, який містить простий або складний код, буде вам зрозумілий.
Мы создавали видео для курса, ориентируясь на свой спикерский опыт.
В них нет полуторачасовых обсуждений слайдов. Они максимально практические, концентрированные и разбиты на маленькие порции, которые
позволяют вам контролировать поглощение информации.
Ми створювали відео для курсу спираючись на свій спікерський досвід.
Вони не мають півторагодинних обговорень слайдів. Вони максимально практичні, концентровані та розбиті на маленькі порції, які дозволяють контролювати поглинання інформації.
Разработка игр приучает решать не только моментальные программистские проблемы, а скорее проблемы продукта в целом. Поэтому мы рассматриваем как код продукта, так и настройку его окружения.
Розробка ігор привчає вирішувати не тільки моментальні програмістські проблеми, а й загальні проблеми продукту в цілому. Тому ми розглядаємо як код продукту, так і налаштування його оточення.
↑
Для кого?
Для кого?
Хочешь меньше возиться с нестабильной архитектурой и сосредоточиться на геймплейных интересностях и контенте?
Бажаєш менше клопотатися з нестабільною архітектурою та зосередитись на геймплейних цікавостях та контенті?
Хочешь увеличить масштаб своих проектов? Возьми у нас индустриальные решения для системных проблем и освободи себе пространство для творчества.
Бажаєш збільшити масштаб своїх проектів? Візьми в нас індустріальні рішення для системних проблем та звільни собі простір для творчості.
Делаешь игры, но часто упираешься в вопросы стабильности, расширяемости и поддержки?
Робиш ігри, але часто упираєшся у питання стабільності, розширюваності та підтримки?
Хочешь углубить понимание проектирования и архитектуры?
Хочеш поглибити розуміння проектування та архітектури?
Хочешь расширить свой инструментарий? Тогда тебе к нам
Бажаєш розширити свій інструментарій? Тоді тобі до нас
Всю проф. жизнь хотел делать игры, но не сложилось?
Усе проф. життя хотів робити ігри, але не склалося?
Расскажем из каких частей игры состоят, как мыслить при решении типичных проблем, и как писать игры так, чтобы они работали как стройная система.
Розкажемо, з яких частин ігри складаються, як мислити під час вирішення типових проблем, і як писати ігри так, щоб вони працювали як злагоджена система.
После курса ты будешь знать достаточно для перехода в гейм-индустрию.
Після курсу ти знатимеш достатньо для переходу в гейм-індустрію.
кто?
хто?
АЛЕКСЕЙ НАУМЕНКО
Олексій Науменко
12 лет опыта разработки
CEO Black Tower Basement.
В прошлом: Unity Software Architect
на
Raid: Shadow Legends и также еще нескольких мобильных проектax мирового уровня.
12 років досвіду розробки
CEO Black Tower Basement.
В минулому: Unity Software Architect на
Raid: Shadow Legends і ще кількох мобільних проектax світового рівня.
ЕКАТЕРИНА РЕВВО
катерина Ревво
10 лет опыта разработки и ведения проектной команды
CTO Black Tower Basement
В прошлом: Client Team Lead на Raid:
Shadow Legends та Shadow Legends и нескольких других
масштабных проектах (см. ниже).
10 років досвіду розробки та ведення проектної команди
CTO Black Tower Basement
В минулому: Client Team Lead на Raid:
Shadow Legends та кількох інших
масштабних проектах (див. нижче).
После ухода из Plarium в начале 2020 перешли к фулл-тайм реализации собственных идей и проектов (среди которых – эта школа :)).
Спикеры курса имеют большой опыт публичных выступлений.
- доклад про ECS – Unity, ECS и люди
- DI + UNITY = ZENJECT | Dependency injection в Unity
- Рефакторинг кода в Unity-проектах | Разрываем зависимости
- UNIT TESTING | Правильно внедряем unit-тесты в Unity проект
Залишивши Plarium на початку 2020 року перейшли до фул-тайм реалізації власних ідей та проектів (серед яких – ця школа :)).
Спікери курсу мають значний досвід публічних виступів.
- доповідь про ECS – Unity, ECS та люди
- DI + UNITY = ZENJECT | Dependency injection в Unity
- Рефакторинг коду в Unity-проектах | Розриваємо залежності
- UNIT TESTING | Правильно впроваджуємо unit-тести в Unity проект
АЛЕКСЕЙ НАУМЕНКО
Олексій Науменко
12 лет опыта разработки
CEO Black Tower Basement.
В прошлом: Unity Software Architect на
Raid: Shadow Legends и также еще нескольких мобильных проектax мирового уровня.
12 років досвіду розробки
CEO Black Tower Basement.
В минулому: Unity Software Architect на
Raid: Shadow Legends і ще кількох мобільних проектax світового рівня.
После ухода из Plarium в начале 2020 перешли к фулл-тайм реализации собственных идей и проектов (среди которых – эта школа :)).
Спикеры курса имеют большой опыт публичных выступлений.
- доклад про ECS – Unity, ECS и люди
- DI + UNITY = ZENJECT | Dependency injection в Unity
- Рефакторинг кода в Unity-проектах | Разрываем зависимости
- UNIT TESTING | Правильно внедряем unit-тесты в Unity проект
Залишивши Plarium на початку 2020 року перейшли до фул-тайм реалізації власних ідей та проектів (серед яких – ця школа :)).
Спікери курсу мають значний досвід публічних виступів.
- доповідь про ECS – Unity, ECS та люди
- DI + UNITY = ZENJECT | Dependency injection в Unity
- Рефакторинг коду в Unity-проектах | Розриваємо залежності
- UNIT TESTING | Правильно впроваджуємо unit-тести в Unity проект
ЕКАТЕРИНА РЕВВО
Катерина Ревво
10 лет опыта разработки
и ведения проектной команды
CTO Black Tower Basement
В прошлом: Client Team Lead на Raid:
Shadow Legends та Shadow Legends и нескольких других масштабных проектах (см. ниже).
10 років досвіду розробки
та ведення проектної команди
CTO Black Tower Basement
В минулому: Client Team Lead на Raid: Shadow Legends та кількох інших
масштабних проектах (див. нижче).
ОТЗЫВЫ
ВІДГУКИ
мы работали над:
ми працювали над:
*Изображения и наименования игровых проектов RAID: Shadow Legends, Soldiers Inc: Mobile Warfare, Stormfall: Rise of Balur и Total Domination – Reborn принадлежат их законным правообладателям – Plarium Global Ltd.
*Зображення та найменування ігрових проектів RAID: Shadow Legends, Soldiers Inc: Mobile Warfare, Stormfall: Rise of Balur та Total Domination – Reborn належать їх законним правовласникам – Plarium Global Ltd
GREEDVENTORY
Ироничная, кровавая и требовательная к рефлексам линейная point'n'slash RPG в детальном пиксель-арте.
Іронічна, кривава і вимоглива до рефлексів лінійна point'n'slash RPG в детальному піксель-арті.високонавантажений сервер;
Steam, GOG.
Steam, GOG.
Первый проект инди-студии наших спикеров Black Tower Basement.
Перший проект інди-студії наших спікерів Black Tower Basement.
От пет-проекта до релиза он пережил множество трансформаций, и проверил на себе архитектуру, о которой мы рассказываем в курсах.
Від пет-проекту до релізу він пережив багато трансформацій і перевірив архітектуру, про яку ми розповідаємо в курсах, на собі.
мы работали над:
ми працювали над:
*Изображения и наименования игровых проектов RAID: Shadow Legends, Soldiers Inc: Mobile Warfare, Stormfall: Rise of Balur и Total Domination – Reborn принадлежат их законным правообладателям – Plarium Global Ltd.
*Зображення та найменування ігрових проектів RAID: Shadow Legends, Soldiers Inc: Mobile Warfare, Stormfall: Rise of Balur та Total Domination – Reborn належать їх законним правовласникам – Plarium Global Ltd
GREEDVENTORY
Ироничная, кровавая и требовательная к рефлексам линейная point'n'slash RPG в детальном пиксель-арте.
Іронічна, кривава і вимоглива до рефлексів лінійна point'n'slash RPG в детальному піксель-арті.високонавантажений сервер;
Steam, GOG.
Steam, GOG.
Первый проект инди-студии наших спикеров Black Tower Basement.
Перший проект інди-студії наших спікерів Black Tower Basement.
От пет-проекта до релиза он пережил множество трансформаций, и проверил на себе архитектуру, о которой мы рассказываем в курсах.
Від пет-проекту до релізу він пережив багато трансформацій і перевірив архітектуру, про яку ми розповідаємо в курсах, на собі.
что внутри?
що всередині?
Настройка окружения для работы
Установим конкретную версию Unity. В курсе понадобится Rider или в крайнем случае Visual Studio + Resharper. Большой упор сделан на совершенствование навыков в этих индустриальных инструментах.
НАЛАШТУВАННЯ ОТОЧЕННЯ ДЛЯ РОБОТИ
Встановимо конкретну версію Unity. У курсі знадобиться Rider або, у крайньому випадку, Visual Studio + Resharper. Великий акцент зроблено на вдосконалення навичок у цих індустріальних інструментах.
Разберемся с Entry Point-ом и начнем общую
архитектуру состояний игры
Никаких синглтонов! Рассмотрим подход к управлению состояниями игры-приложения и организуем удобный запуск и прогрев всех нужных ее частей.
РОЗБЕРЕМОСЯ З ENTRY POINT-ОМ І ПОЧНЕМО ЗАГАЛЬНУ
АРХІТЕКТУРУ СТАНІВ ГРИ
Жодних синглтонів! Розглянемо підхід до управління станами гри-додатку та організуємо зручний запуск та прогрів усіх потрібних її частин.
Сохранение прогресса и организация доступа к
данным игрока (save\\load)
Организуем один из удобных способов сохранить и загрузить\\обновить данные о прогрессе и состоянии игрока. При этом получим специальное место для этого и избежим проблем порядка инициализации.
ЗБЕРЕЖЕННЯ ПРОГРЕСУ ТА ОРГАНІЗАЦІЯ ДОСТУПУ ДО
ДАНИХ ГРАВЦЯ (SAVE\\LOAD)
Організуємо один із зручних способів зберегти та завантажити\\оновити дані про прогрес та стан гравця. При цьому отримаємо спеціальне місце для цього та уникнемо проблем порядку ініціалізації.
Компонентная модель
Пристально посмотрим на компонентный подход (Component model) к разработке и разберемся, как Unity хочет, чтобы мы строили игры (из маленьких компонентов без центрального контроллера). Опробуем этот подход на примере наших врагов.
КОМПОНЕНТНА МОДЕЛЬ
Уважно подивимося на компонентний підхід (Component model) до розробки та розберемося, як Unity хоче, щоб ми будували ігри (з маленьких компонентів без центрального контролера). Випробуємо цей підхід на прикладі наших ворогів.
Статические данные. Доступ в коде к балансу и
прочим конфигурациям игры
Разберем как в проектах с частыми обновлениями хранят, загружают и, собственно, обновляют баланс игры (параметры врагов, уровней и тп). Рассмотрим несколько форматов хранения (Json, binary, ScriptableObject) и реализуем один из них.
СТАТИЧНІ ДАНІ. ДОСТУП В КОДІ ДО БАЛАНСУ ТА
ІНШИХ КОНФІГУРАЦІЙ ГРИ
Розберемо, як у проектах з частими оновленнями зберігають, завантажують і, власне, оновлюють баланс гри (параметри ворогів, рівнів, тощо). Розглянемо кілька форматів зберігання (Json, binary, ScriptableObject) та реалізуємо один із них.
UI. Соберем несколько окон по универсальным
гайдлайнам
Обсудим индустриальные подходы и нюансы сборки динамического и адаптивного UI, используя Unity UI, особенности мобильных экранов (например, safe area). Соберем world space и screen space UI.
UI. ЗБЕРЕМО КІЛЬКА ВІКОН ЗА УНІВЕРСАЛЬНИМИ
ГАЙДЛАЙНАМИ
Обговоримо індустріальні підходи та нюанси збірки динамічного та адаптивного UI за допомогою Unity UI, особливості мобільних екранів (наприклад, safe area). Зберемо world space і screen space UI.
Подключим рекламу (Unity Ads) и внутриигровые
покупки (In-app purchases)
Поговорим о способах монетизации Free-to-play игр, подключим модули рекламы и внутриигровых покупок, посмотрим на управление внутриигровыми покупками через Unity Dashboard и сторы.
ПІДКЛЮЧИМО РЕКЛАМУ (UNITY ADS) ТА ПОКУПКИ В
ДОДАТКУ (IN-APP PURCHASES)
Поговоримо про способи монетизації Free-to-play ігор, підключимо модулі реклами та покупок, подивимось на керування покупками через Unity Dashboard та стор.
Соберем билды на устройства
Каждая уважающая себя команда разработки должна настроить инфраструктуру постоянной сборки и тестирования билдов (CI). Выясним, для чего и как.
ЗБЕРЕМО БІЛДИ НА ПРИСТРОЇ
Кожна шануюча себе команда розробки повинна налаштувати інфраструктуру постійної збірки та тестування білдів (CI). З'ясуємо, навіщо й як.
Добавим персонажа, чтобы было кем управлять
и реализуем Input-систему
Чтобы было как управлять. В редакторе и на мобильных устройствах.
ДОДАМО ПЕРСОНАЖА, ЩОБ БУЛО КИМ КЕРУВАТИ,
ТА РЕАЛІЗУЄМО INPUT-СИСТЕМУ
Щоб було як керувати. У редакторі та на мобільних пристроях.
А как же без Dependency Injection?
Напишем простейший DI-фреймворк для доступа к частям игры (сервисам), поговорим о том, почему это нужно, и постепенно будем его совершенствовать.
А ЯК Ж БЕЗ DEPENDENCY INJECTION?
Напишемо найпростіший DI-фреймворк для доступу до частин гри (сервісів), поговоримо про те, чому це потрібно, і поступово його вдосконалюватимемо.
Враги и их друзья
Заставим NavmeshAgent искать путь на уровне с препятствиями. Научим врагов шевелиться, атаковать и преследовать. Запустим анимации из кода и код из анимаций (Animator, Animation events, импорт анимаций).
Вороги та їхні друзі
Змусимо NavmeshAgent шукати шлях на рівні з перешкодами. Навчимо ворогів ворушитися, атакувати та переслідувати. Запустимо анімації з коду та код з анімацій (Animator, Animation events, імпорт анімацій).
Расширим редактор Unity своими инструментами
Упростим себе жизнь и левел-дизайн с помощью Gizmos и других инструментов (UnityEditor tools).
РОЗШИРИМО РЕДАКТОР UNITY СВОЇМИ ІНСТРУМЕНТАМИ
Полегшимо собі життя та левел-дизайн за допомогою Gizmos та інших інструментів (UnityEditor tools).
Усовершенствуем и отрефакторим ранее созданную фабрику игровых сущностей и DI
Рефакторинг - важная часть любой разработки, вот и мы устроим рефакторинг-сессию. Поговорим про итеративный подход, приведем в финальный вид для этого проекта ранее созданные модули.
ВДОСКОНАЛИМО І ВІДРЕФАКТОРИМО РАНІШЕ СТВОРЕНУ ФАБРИКУ ІГРОВИХ СУТНОСТЕЙ Й DI
Рефакторинг – важлива частина будь-якої розробки, і ми влаштуємо рефакторинг-сесію. Поговоримо про ітеративний підхід, приведемо до фінального вигляду для цього проекту модулі створені раніше.
Управление и доступ к ресурсам игры. Addressables
На мобильных проектах с частыми обновлениями управление ресурсами и их догрузка - выделенная серьезная задача. Разберем способы упаковки и скачивания ресурсов, которые предлагает Unity (asset bundles, Adressables), реализуем сервис асинхронного (async\\await) доступа к ресурсам.
КЕРУВАННЯ ТА ДОСТУП ДО РЕСУРСІВ ГРИ. ADDRESSABLES
На мобільних проектах із частими оновленнями керування ресурсами та їх довантаження – окреме серйозне завдання. Розберемо способи пакування та завантаження ресурсів, які пропонує Unity (asset bundles, Adressables), реалізуємо сервіс асинхронного (async\\await) доступу до ресурсів.
Удобно организуем загрузку сцен и уровней
Устали от проблем выгрузки, загрузки и порядка инициализации? Сейчас время это исправить.
Зручно організуємо завантаження сцен та рівнів
Втомилися від проблем вивантаження, завантаження та порядку ініціалізації? Нині час це виправити.
Настройка окружения для работы
Установим конкретную версию Unity. В курсе понадобится Rider или в крайнем случае Visual Studio + Resharper. Большой упор сделан на совершенствование навыков в этих индустриальных инструментах.
НАЛАШТУВАННЯ ОТОЧЕННЯ ДЛЯ РОБОТИ
Встановимо конкретну версію Unity. У курсі знадобиться Rider або, у крайньому випадку, Visual Studio + Resharper. Великий акцент зроблено на вдосконалення навичок у цих індустріальних інструментах.
Добавим персонажа, чтобы было кем управлять и реализуем
Input-систему
Чтобы было как управлять. В редакторе и на мобильных устройствах.
ДОДАМО ПЕРСОНАЖА, ЩОБ БУЛО КИМ КЕРУВАТИ, ТА РЕАЛІЗУЄМО
INPUT-СИСТЕМУ
Щоб було як керувати. У редакторі та на мобільних пристроях.
Разберемся с Entry Point-ом и начнем общую архитектуру состояний игры
Никаких синглтонов! Рассмотрим подход к управлению состояниями игры-приложения и организуем удобный запуск и прогрев всех нужных ее частей.
РОЗБЕРЕМОСЯ З ENTRY POINT-ОМ І ПОЧНЕМО ЗАГАЛЬНУ АРХІТЕКТУРУ
СТАНІВ ГРИ
Жодних синглтонів! Розглянемо підхід до управління станами гри-додатку та організуємо зручний запуск та прогрів усіх потрібних її частин.
А как же без Dependency Injection?
Напишем простейший DI-фреймворк для доступа к частям игры (сервисам), поговорим о том, почему это нужно, и постепенно будем его совершенствовать.
А ЯК Ж БЕЗ DEPENDENCY INJECTION?
Напишемо найпростіший DI-фреймворк для доступу до частин гри (сервісів), поговоримо про те, чому це потрібно, і поступово його вдосконалюватимемо.
Сохранение прогресса и организация доступа к
данным игрока (save\\load)
Организуем один из удобных способов сохранить и загрузить\\обновить данные о прогрессе и состоянии игрока. При этом получим специальное место для этого и избежим проблем порядка инициализации.
ЗБЕРЕЖЕННЯ ПРОГРЕСУ ТА ОРГАНІЗАЦІЯ ДОСТУПУ ДО
ДАНИХ ГРАВЦЯ (SAVE\\LOAD)
Організуємо один із зручних способів зберегти та завантажити\\оновити дані про прогрес та стан гравця. При цьому отримаємо спеціальне місце для цього та уникнемо проблем порядку ініціалізації.
Враги и их друзья
Заставим NavmeshAgent искать путь на уровне с препятствиями. Научим врагов шевелиться, атаковать и преследовать. Запустим анимации из кода и код из анимаций (Animator, Animation events, импорт анимаций).
Вороги та їхні друзі
Змусимо NavmeshAgent шукати шлях на рівні з перешкодами. Навчимо ворогів ворушитися, атакувати та переслідувати. Запустимо анімації з коду та код з анімацій (Animator, Animation events, імпорт анімацій).
Компонентная модель
Пристально посмотрим на компонентный подход (Component model) к разработке и разберемся, как Unity хочет, чтобы мы строили игры (из маленьких компонентов без центрального контроллера). Опробуем этот подход на примере наших врагов.
КОМПОНЕНТНА МОДЕЛЬ
Уважно подивимося на компонентний підхід (Component model) до розробки та розберемося, як Unity хоче, щоб ми будували ігри (з маленьких компонентів без центрального контролера). Випробуємо цей підхід на прикладі наших ворогів.
Расширим редактор Unity своими инструментами
Упростим себе жизнь и левел-дизайн с помощью Gizmos и других инструментов (UnityEditor tools).
РОЗШИРИМО РЕДАКТОР UNITY СВОЇМИ ІНСТРУМЕНТАМИ
Полегшимо собі життя та левел-дизайн за допомогою Gizmos та інших інструментів (UnityEditor tools).
Статические данные. Доступ в коде к балансу и прочим
конфигурациям игры
Разберем как в проектах с частыми обновлениями хранят, загружают и, собственно, обновляют баланс игры (параметры врагов, уровней и тп). Рассмотрим несколько форматов хранения (Json, binary, ScriptableObject) и реализуем один из них.
СТАТИЧНІ ДАНІ. ДОСТУП В КОДІ ДО БАЛАНСУ ТА ІНШИХ
КОНФІГУРАЦІЙ ГРИ
Розберемо, як у проектах з частими оновленнями зберігають, завантажують і, власне, оновлюють баланс гри (параметри ворогів, рівнів, тощо). Розглянемо кілька форматів зберігання (Json, binary, ScriptableObject) та реалізуємо один із них.
Усовершенствуем и отрефакторим ранее созданную фабрику игровых сущностей и DI
Рефакторинг - важная часть любой разработки, вот и мы устроим рефакторинг-сессию. Поговорим про итеративный подход, приведем в финальный вид для этого проекта ранее созданные модули.
ВДОСКОНАЛИМО І ВІДРЕФАКТОРИМО РАНІШЕ СТВОРЕНУ ФАБРИКУ
ІГРОВИХ СУТНОСТЕЙ Й DI
Рефакторинг – важлива частина будь-якої розробки, і ми влаштуємо рефакторинг-сесію. Поговоримо про ітеративний підхід, приведемо до фінального вигляду для цього проекту модулі створені раніше.
UI. Соберем несколько окон по универсальным
гайдлайнам
Обсудим индустриальные подходы и нюансы сборки динамического и адаптивного UI, используя Unity UI, особенности мобильных экранов (например, safe area). Соберем world space и screen space UI.
UI. ЗБЕРЕМО КІЛЬКА ВІКОН ЗА УНІВЕРСАЛЬНИМИ
ГАЙДЛАЙНАМИ
Обговоримо індустріальні підходи та нюанси збірки динамічного та адаптивного UI за допомогою Unity UI, особливості мобільних екранів (наприклад, safe area). Зберемо world space і screen space UI.
Управление и доступ к ресурсам игры. Addressables
На мобильных проектах с частыми обновлениями управление ресурсами и их догрузка - выделенная серьезная задача. Разберем способы упаковки и скачивания ресурсов, которые предлагает Unity (asset bundles, Adressables), реализуем сервис асинхронного (async\\await) доступа к ресурсам.
КЕРУВАННЯ ТА ДОСТУП ДО РЕСУРСІВ ГРИ. ADDRESSABLES
На мобільних проектах із частими оновленнями керування ресурсами та їх довантаження – окреме серйозне завдання. Розберемо способи пакування та завантаження ресурсів, які пропонує Unity (asset bundles, Adressables), реалізуємо сервіс асинхронного (async\\await) доступу до ресурсів.
Подключим рекламу (Unity Ads) и внутриигровые
покупки (In-app purchases)
Поговорим о способах монетизации Free-to-play игр, подключим модули рекламы и внутриигровых покупок, посмотрим на управление внутриигровыми покупками через Unity Dashboard и сторы.
ПІДКЛЮЧИМО РЕКЛАМУ (UNITY ADS) ТА ПОКУПКИ В
ДОДАТКУ (IN-APP PURCHASES)
Поговоримо про способи монетизації Free-to-play ігор, підключимо модулі реклами та покупок, подивимось на керування покупками через Unity Dashboard та стор.
Удобно организуем загрузку сцен и уровней
Устали от проблем выгрузки, загрузки и порядка инициализации? Сейчас время это исправить.
Зручно організуємо завантаження сцен та рівнів
Втомилися від проблем вивантаження, завантаження та порядку ініціалізації? Нині час це виправити.
Соберем билды на устройства
Каждая уважающая себя команда разработки должна настроить инфраструктуру постоянной сборки и тестирования билдов (CI). Выясним, для чего и как.
ЗБЕРЕМО БІЛДИ НА ПРИСТРОЇ
Кожна шануюча себе команда розробки повинна налаштувати інфраструктуру постійної збірки та тестування білдів (CI). З'ясуємо, навіщо й як.
Настройка окружения для работы
Установим конкретную версию Unity. В курсе понадобится Rider или в крайнем случае Visual Studio + Resharper. Большой упор сделан на совершенствование навыков в этих индустриальных инструментах.
НАЛАШТУВАННЯ ОТОЧЕННЯ ДЛЯ РОБОТИ
Встановимо конкретну версію Unity. У курсі знадобиться Rider або, у крайньому випадку, Visual Studio + Resharper. Великий акцент зроблено на вдосконалення навичок у цих індустріальних інструментах.
Добавим персонажа, чтобы было кем управлять и реализуем Input-систему
Чтобы было как управлять. В редакторе и на мобильных устройствах.
ДОДАМО ПЕРСОНАЖА, ЩОБ БУЛО КИМ КЕРУВАТИ, ТА РЕАЛІЗУЄМО INPUT-СИСТЕМУ
Щоб було як керувати. У редакторі та на мобільних пристроях.
Разберемся с Entry Point-ом и начнем общую архитектуру состояний игры
Никаких синглтонов! Рассмотрим подход к управлению состояниями игры-приложения и организуем удобный запуск и прогрев всех нужных ее частей.
РОЗБЕРЕМОСЯ З ENTRY POINT-ОМ І ПОЧНЕМО ЗАГАЛЬНУ АРХІТЕКТУРУСТАНІВ
ГРИ
Жодних синглтонів! Розглянемо підхід до управління станами гри-додатку та організуємо зручний запуск та прогрів усіх потрібних її частин.
А как же без Dependency Injection?
Напишем простейший DI-фреймворк для доступа к частям игры (сервисам), поговорим о том, почему это нужно, и постепенно будем его совершенствовать.
А ЯК Ж БЕЗ DEPENDENCY INJECTION?
Напишемо найпростіший DI-фреймворк для доступу до частин гри (сервісів), поговоримо про те, чому це потрібно, і поступово його вдосконалюватимемо.
Сохранение прогресса и организация доступа к данным игрока (save\\load)
Организуем один из удобных способов сохранить и загрузить\\обновить данные о прогрессе и состоянии игрока. При этом получим специальное место для этого и избежим проблем порядка инициализации.
ЗБЕРЕЖЕННЯ ПРОГРЕСУ ТА ОРГАНІЗАЦІЯ ДОСТУПУ ДО ДАНИХ ГРАВЦЯ (SAVE\\LOAD)
Організуємо один із зручних способів зберегти та завантажити\\оновити дані про прогрес та стан гравця. При цьому отримаємо спеціальне місце для цього та уникнемо проблем порядку ініціалізації.
Враги и их друзья
Заставим NavmeshAgent искать путь на уровне с препятствиями. Научим врагов шевелиться, атаковать и преследовать. Запустим анимации из кода и код из анимаций (Animator, Animation events, импорт анимаций).
Вороги та їхні друзі
Змусимо NavmeshAgent шукати шлях на рівні з перешкодами. Навчимо ворогів ворушитися, атакувати та переслідувати. Запустимо анімації з коду та код з анімацій (Animator, Animation events, імпорт анімацій).
Компонентная модель
Пристально посмотрим на компонентный подход (Component model) к разработке и разберемся, как Unity хочет, чтобы мы строили игры (из маленьких компонентов без центрального контроллера). Опробуем этот подход на примере наших врагов.
КОМПОНЕНТНА МОДЕЛЬ
Уважно подивимося на компонентний підхід (Component model) до розробки та розберемося, як Unity хоче, щоб ми будували ігри (з маленьких компонентів без центрального контролера). Випробуємо цей підхід на прикладі наших ворогів.
Расширим редактор Unity своими инструментами
Упростим себе жизнь и левел-дизайн с помощью Gizmos и других инструментов (UnityEditor tools).
РОЗШИРИМО РЕДАКТОР UNITY СВОЇМИ ІНСТРУМЕНТАМИ
Полегшимо собі життя та левел-дизайн за допомогою Gizmos та інших інструментів (UnityEditor tools).
Статические данные. Доступ в коде к балансу и прочим конфигурациям
игры
Разберем как в проектах с частыми обновлениями хранят, загружают и, собственно, обновляют баланс игры (параметры врагов, уровней и тп). Рассмотрим несколько форматов хранения (Json, binary, ScriptableObject) и реализуем один из них.
СТАТИЧНІ ДАНІ. ДОСТУП В КОДІ ДО
БАЛАНСУ ТА ІНШИХ КОНФІГУРАЦІЙ ГРИ
Розберемо, як у проектах з частими оновленнями зберігають, завантажують і, власне, оновлюють баланс гри (параметри ворогів, рівнів, тощо). Розглянемо кілька форматів зберігання (Json, binary, ScriptableObject) та реалізуємо один із них.
Усовершенствуем и отрефакторим ранее созданную фабрику игровых сущностей и DI
Рефакторинг - важная часть любой разработки, вот и мы устроим рефакторинг-сессию. Поговорим про итеративный подход, приведем в финальный вид для этого проекта ранее созданные модули.
ВДОСКОНАЛИМО І ВІДРЕФАКТОРИМО
РАНІШЕ СТВОРЕНУ ФАБРИКУ ІГРОВИХ СУТНОСТЕЙ Й DI
Рефакторинг – важлива частина будь-якої розробки, і ми влаштуємо рефакторинг-сесію. Поговоримо про ітеративний підхід, приведемо до фінального вигляду для цього проекту модулі створені раніше.
UI. Соберем несколько окон по универсальным гайдлайнам
Обсудим индустриальные подходы и нюансы сборки динамического и адаптивного UI, используя Unity UI, особенности мобильных экранов (например, safe area). Соберем world space и screen space UI.
UI. ЗБЕРЕМО КІЛЬКА ВІКОН ЗА УНІВЕРСАЛЬНИМИ ГАЙДЛАЙНАМИ
Обговоримо індустріальні підходи та нюанси збірки динамічного та адаптивного UI за допомогою Unity UI, особливості мобільних екранів (наприклад, safe area). Зберемо world space і screen space UI.
Управление и доступ к ресурсам
игры. Addressables
На мобильных проектах с частыми обновлениями управление ресурсами и их догрузка - выделенная серьезная задача. Разберем способы упаковки и скачивания ресурсов, которые предлагает Unity (asset bundles, Adressables), реализуем сервис асинхронного (async\\await) доступа к ресурсам.
КЕРУВАННЯ ТА ДОСТУП ДО РЕСУРСІВ ГРИ. ADDRESSABLES
На мобільних проектах із частими оновленнями керування ресурсами та їх довантаження – окреме серйозне завдання. Розберемо способи пакування та завантаження ресурсів, які пропонує Unity (asset bundles, Adressables), реалізуємо сервіс асинхронного (async\\await) доступу до ресурсів.
Подключим рекламу (Unity Ads) и внутриигровые покупки (In-app purchases)
Поговорим о способах монетизации Free-to-play игр, подключим модули рекламы и внутриигровых покупок, посмотрим на управление внутриигровыми покупками через Unity Dashboard и сторы.
ПІДКЛЮЧИМО РЕКЛАМУ (UNITY ADS) ТА ПОКУПКИ В ДОДАТКУ (IN-APP PURCHASES)
Поговоримо про способи монетизації Free-to-play ігор, підключимо модулі реклами та покупок, подивимось на керування покупками через Unity Dashboard та стор.
Удобно организуем загрузку сцен и уровней
Устали от проблем выгрузки, загрузки и порядка инициализации? Сейчас время это исправить.
Зручно організуємо завантаження
сцен та рівнів
Втомилися від проблем вивантаження, завантаження та порядку ініціалізації? Нині час це виправити.
Соберем билды на устройства
Каждая уважающая себя команда разработки должна настроить инфраструктуру постоянной сборки и тестирования билдов (CI). Выясним, для чего и как.
ЗБЕРЕМО БІЛДИ НА ПРИСТРОЇ
Кожна шануюча себе команда розробки повинна налаштувати інфраструктуру постійної збірки та тестування білдів (CI). З'ясуємо, навіщо й як.