Вы используете мобильную версию

перейти на Полную версию сайта

Запись

Unity Gameplay Developer (Игорь Гулькин)

Складчина Unity Gameplay Developer (Игорь Гулькин). Совместные покупки курсов, тренингов, обучения. Присоединяйтесь! Важен каждый вкладчик.

Тема найдена по тегам:
Цена:
50000 руб
Взнос:
655 руб
Организатор:
Евражкa

Список участников складчины:

1. Евражкa 2. xRoollyx
open
2
  1. Евражкa
    Евражкa Организатор складчин

    Unity Gameplay Developer (Игорь Гулькин)

    [​IMG]

    Атомарный подход – это удобная концепция, в которой легко разрабатывать механики игровых объектов. Благодаря принципу разделения данных и логики, можно легко переиспользовать поведение и описывать игровые объекты декларативно, при этом оставаясь в парадигме ООП. Поэтому это хорошая альтернатива 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 направлении. Ответим на вопросы по курсу

     
    Евражкa, 22 дек 2023
Наверх