[DevLog] Продолжаю разрабатывать Epic Football в Unity ч.2

Геймплей обновленной версии

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

Система облаков

В игре была реализована система облаков, которая включает в себя случайную генерацию, спавн, движение и взаимодействие с объектами (например, облако может разлететься от столкновения с игроком или мячом). Анимация реализована через DoTween. А спавн работает в связке с PoolManager.

Система облаков

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

Кастомный инспектор для облаков

В дальнейшем облака планируется использовать как источник "очков зрелищности", которые игроки будут набирать, чтобы соревноваться в лидерборде и зарабатывать внутриигровую монетку.

Переработка UI

UI в проекте значительно был доработан. Вот основные моменты:

• Text заменен на TMP;
• Добавлена локализация и текст переведен на три языка (русский, английский и испанский);
• Добавлены UI информационные элементы, анимированные при помощи DoTween, с учетом цвета команд (Goal, Offside);
• Добавлены UI элементы в меню (Главное меню, настройки, подготовительное меню перед игрой). Переходы реализованы через простой FSM + анимация DoTween;
• Добавлены UI элементы в самой игре (Обучение/индикатор готовности, пауза, окно конца игры);
• Добавлен маркер-индикатор расположения мяча, в случае если он вылетает за область видимости камеры;
• Добавлены анимации для UI элементов (появление, скрытие, выезжание и т.д.);
• Для текстовых кнопок добавлены дополнительные состояния (при наведении, и нажатии меняется текст и иконка, если есть, на выбранный цвет);
• Разработана новая кнопка "тумблер" - по сути чекбокс;
• При игре с компьютером, скрываются кнопки управления второй команды и перестраивается расположение кнопок.

Прочие изменения

• Реализован простой FSM для игрового уровня, чтобы переключаться и управлять состояниями игры [Туториал, туториал пройден, геймплей, конец геймплея, конец игры];
• Добавлен единый AudioSource для всех UI элементов в игре;
• Реализованы настройки через PlayerPrefs;
• Реализован класс BallBuilder и BallDecorator в связке с PoolManager - теперь можно спавнить и конфигурировать разные свойства и типы мячей, при этом не инстанциировать их каждый раз, а хранить в PoolManager. Разных мячей пока нет :(
• Рефакторинг прочих систем.

Что дальше

Реализовать систему очков в уровне за разные моменты взаимодействия (например, разбитое облако, гол, попадание в перекладину и прочее).

Доработать систему скинов игроков, отрефакторить и подготовить удобную структуру, с которой можно было бы работать, сохранять и передавать между уровнями или сохранять на сервер;

Реализовать магазин скинов для игроков и мячей.

Планируется реализовать взаимодействие с SDK (Загрузка/сохранение, взаимодействие с лидербордами, запрос языка с которого игра будет запускаться, реклама и серверное время).

В будущем еще много чего запланировано, но думаю пока стоит сосредоточиться на этом.

Заключение

Благодарю, что уделили свое время на прочтение) Буду рад обратной связи и вашим идеям, как можно сделать проект более интересным и веселым. Будьте здоровы.
Следить за разработкой можно в канале Coniferous Games.

6
1
4 комментария