Що нового?

Придбаний Unity Gameplay Developer (Игорь Гулькин)

Інформація про покупку
Тип покупки: Складчина
Ціна: 18383 ГРН
Учасників: 0 з 70
Організатор: Відсутній
Статус: Набір учасників
Внесок: 273.1 ГРН
0%
Основний список
Резервний список

Gadzhi

Модератор
Атомарный подход – это удобная концепция, в которой легко разрабатывать механики игровых объектов. Благодаря принципу разделения данных и логики, можно легко переиспользовать поведение и описывать игровые объекты декларативно, при этом оставаясь в парадигме ООП. Поэтому это хорошая альтернатива ECS, которую было бы полезно изучить и взять себе на вооружение

Спойлер: Программа курса
Модуль I. Атомарный подход

Урок #1 Вводный урок

Цель занятия: определить формат обучения

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


Урок #2. Принцип разделения данных и логики

Цель занятия: Научиться применять принцип разделения данных и логики для повторного использования игровых механик.

Описание: Реализуем поведение персонажа и пули. Рассмотрим переиспользование механики перемещения.

Домашнее задание: реализовать механику стрельбы пулями для персонажа по кулдауну


Урок #3. Структура игрового объекта

Цель занятия: Научиться описывать игровые объекты декларативно

Описание: Поговорим про основные слои объекта: model & view, и почему важно их разделять. Также разберемся, чем отличаются секции от компонентов в атомарном подходе и реализуем анимации, звуки и VFX


Урок #4. Групповое задание

Цель занятия: Закрепить полученные знания по атомарному подходу

Групповое задание: Реализовать зомби с механикой ближнего боя на атомарном подходе. Лучшая команда получит пиццу

Домашнее задание: реализовать конвертер ресурсов на атомарном подходе


Урок #5. Полиморфизм игрового объекта

Цель занятия: научится работать с игровыми объектами разного типа.

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


Урок #6. Динамическое поведение объекта

Цель занятия: научится изменять поведения игровых объектов в процессе геймплея.

Описание: Реализуем использование различных оружий, которые будут менять поведение атаки персонажа. Сделаем контейнер, в который можно будет добавлять/удалять поведения.


Урок #7. Групповое занятие

Цель занятия: закрепить полученные знания по атомарному подходу.

Групповое задание: реализовать временные механики: получение яда, восстановление здоровья, бафф к характеристикам


Урок #8. Динамический объект

Цель занятия: научится менять данные и логику игровых объектов в процессе игры

Описание: Реализуем динамические поведения — ходить/летать, подбирать броню, заморозка на 10 сек, яд.

Домашнее задание: реализовать подбираемую абилку: “кинуть гранату”

Модуль II. Искусственный интеллект
Урок #9. Архитектура ИИ

Цель занятия: Изучить основные концепции разработки ИИ

Описание: В данном уроке рассмотрим принципы разработки искусственного интеллекта. Разберем почему нужно разделять данные и логику. Определим ключевые слои для ИИ: Sensors, Reasoners, Actions, Memory. В качестве примера сделаем поведение атаки противника и область видимости.


Урок #10. Иерархическая стейт-машина

Цель занятия: Реализовать поведение ИИ с помощью иерархической стейт-машины

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


Урок #11. Дерево поведения

Цель занятия: Реализовать поведение ИИ с помощью Behaviour Tree

Описание: Организуем поведения ИИ с помощью Behaviour Tree. В первой части урока изучим основные узлы дерева поведения: Action, Sequence, Selector, Condition. Пример будет аналогичен предыдущему занятию.


Урок #12. Групповое занятие

Цель занятия: Закрепить полученные знания по BehaviourTree

Групповое задание: Реализовать поведение добычи ресурсов с доставкой их на базу для NPC. Разделимся на команды. Лучшая команда получит пиццу

Домашнее задание: реализовать поведение NPC перетаскивания ресурсов с одного конвертора на другой


Урок #13. GOAP (Ч1)

Цель занятия: изучить систему принятия решений с помощью подхода Goal-Oriented Action Planning

Описание: разберем, что такое Goal-Oriented Action Planning и его принцип работы. Изучим алгоритмы построения плана и что такое World State.


Урок #14. GOAP (Ч2)

Цель занятия: изучить систему принятия решений с помощью подхода Goal-Oriented Action Planning

Описание: рассмотрим реализацию GOAP на Unity

Модуль III. Игровая система

Урок #15. Стратегии разрешения зависимостей

Цель занятия: изучить архитектурные паттерны разрешения зависимостей в контексте игры.

Описание: На занятии разберем архитектурные паттерны, которые позволяют разрешать зависимости в коде. Начнем с самого простого синглтона, вторым шагом модифицируем до паттерна Service Locator, а затем напишем свой Dependency Injection. В конце урока сравним все три подхода, рассмотрим их плюсы и минусы.


Урок #16. Фреймворк Zenject

Цель занятия: изучить фреймворк внедрения зависимостей Zenject.

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


Урок #17. Игровой цикл

Цель занятия: реализовать архитектуру управления игровой системой

Описание: В данном уроке поговорим о том, как управлять жизненным циклом игры без Mono Kernel и обрабатывать события старта, паузы и завершения игры. Сначала определим интерфейсы для игровых событий, а затем сделаем Game Manager, который и будет их вызывать

Домашнее задание: переделать архитектуру демо-проекта зомби шутера на Zenject с игровыми событиями


Урок #18. Интерфейс игры. MVO паттерн

Цель занятия: Научиться применять паттерн Model-View-Observer в разработке игрового интерфейса.

Описание: На занятии поговорим о том, как проектировать игровой интерфейс на Unity. Разберем, что такое слои Model & View, и как они взаимодействуют с помощью паттерна Model-View-Observer. В качестве примера сделаем виджет, который отображает статы игрока на экране




Урок #19. Интерфейс игры. MVP паттерн

Цель занятия: Научиться применять паттерн Model-View-Presenter в разработке игрового интерфейса.

Описание: На занятии разберем MVP паттерн на примере инвентаря предметов, которые можно купить. В качестве закрепления будет групповое задание, в котором нужно будет сделать окошко, отображающее список эффектов.


Урок #20. Интерфейс игры. PM паттерн

Цель занятия: Научиться применять паттерн Presentation Model в разработке игрового интерфейса.

Описание: На занятии разберем MVP паттерн на примере окошка настроек. В качестве закрепления будет групповое задание, в котором нужно будет сделать окошко, отображающее список эффектов.


Урок #21. Групповое занятие

Цель занятия: Закрепить полученные знания по MVx паттернам.

Групповое задание: Реализация окошка поражения

Домашнее задание: реализовать окошко снаряжения персонажа

Модуль IV. Продвинутый геймплей
Урок #22. Процедурные анимации и физика

Цель занятия: научиться реализовывать отзывчивый геймплей

Описание: Рассмотрим различные инструменты для анимаций и физики:

Animation Blending, Inverse Kinematics & Ragdolls


Урок #23. Визуальные эффекты и шейдеры

Цель занятия: Научиться работать с визуалом

Описание: Рассмотрим различные инструменты для создания визуальных эффектов: Decals, Visual Effect Graph, Shader Graph. Реализуем шейдер подсветки предметов


Урок #24. Графика и освещение

Цель занятия: Научиться работать с графикой и светом

Описание: Рассмотрим инструменты Unity для работы со светом: Baking, Reflection Probes, Post Processing


Урок #25. Аудиосистема

Цель занятия: Реализовать аудиосистему для музыки, звуков и UI

Описание: В данном уроке рассмотрим, как можно гибко реализовать аудиосистему таким образом, чтобы бизнес-логика не зависела от звуков. На занятии рассмотрим способы работы со звуками интерфейса, плеером музыки и звуками на сцене. А также рассмотрим Audio Mixer и различные фишки со звуками



Урок #26. Камера и катсцены

Цель занятия: Освоить инструменты работы с камерой в Unity

Описание: На занятии подробно разберем инструмент Cinemachine. Рассмотрим его возможности: настройку, переключение, блендинг, а также границы. Также рассмотрим реализацию системы катсцен и управлением TimeScale.


Урок #27. Редактор диалогов

Цель занятия: Изучить основы нодового редактора в Unity

Описание: На лекции рассмотрим, как можно сделать нодовый редактор используя UIToolkit и GraphView. Шаг за шагом реализуем структуру диалогов и их переходов, окно и Toolbar в Editor. Сделаем сохранение схемы диалогов в конфиг, и на основе конфига запустим диалог в игре.


Урок #28. Туториал

Цель занятия: Научиться выстраивать архитектуру туториала

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

Модуль V. Проектная работа
Урок #29. Выбор проектной работы

Цель занятия: Определить формат проектной работы

Описание: Обсудим, что из себя представляет проектная работа, а также ответим на вопросы по курсу


Урок #30. Защита проектных работ (Ч1)

Цель занятия: Выступить с проектной работой


Урок #31. Защита проектных работ (Ч2)

Цель занятия: Выступить с проектной работой


Урок #32. Завершающий урок

Цель занятия: Подвести итоги курса.

Описание: Финализируем полученные знания, поговорим о том, как можно дальше развиваться в GameDev направлении. Ответим на вопросы по курсу

https://privatelink.de/?https://unitycodecraft.ru/
 
Угорі