Продолжение поста «Дневник разработки игры "Numbers: A Chain Match Game"»

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

Продолжение поста «Дневник разработки игры "Numbers: A Chain Match Game"» Unity, Developers Blog, Игры на Android, Разработчики игр, Gamedev, Инди, Видео, Ответ на пост, Длиннопост

--- Общее.

Сделано за пол года:

1. Добавлены новые достижения,  нарисованы и добавлены иконки для каждого.

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

Надо еще сделать:

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


--- Геймплей.

Сделано за пол года:

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


Работа подсказок на видео ниже:

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

Продолжение поста «Дневник разработки игры "Numbers: A Chain Match Game"» Unity, Developers Blog, Игры на Android, Разработчики игр, Gamedev, Инди, Видео, Ответ на пост, Длиннопост

Надо еще сделать:

Осталось сделать балансные правки для текущих размеров поля, чтобы сложность на них была +- одинаковой. Для этого есть переменная в коде, отвечающая за максимальное количество одинаковых цифр на поле. Для этого надо побольше играть на всех уровнях после каждой правки этой переменной. Тоже самое и с временем в режиме с лимитом времени. На текущий момент баланс улучшен, но это еще не финальный результат.

Планы после релиза:

1. Для режима "Лимит времени" кнопку +1 минута с кд 30 минут за просмотр видео рекламы решил перенести на после релиза, так как не хочется опять лезть в тот кусок кода, абы ничего не сломать как обычно.

2. Режим игры "Выживание", где атаки босса будут также снимать здоровье у персонажа, на поле будут "сердечки" при соединении которых будет восстанавливаться хп.


--- Графика и анимации.

Сделано за пол года:

1. Полностью нарисовано 7 локаций из 11, самый затратный по времени пункт, который и занял большую часть времени за прошедшие пол года. На оставшиеся последние нужно еще месяца два или три.

2. Добавлено освещение, и это одно из глобальных изменений, которое кардинально влияет на картинку. Скриншот до и после:

Продолжение поста «Дневник разработки игры "Numbers: A Chain Match Game"» Unity, Developers Blog, Игры на Android, Разработчики игр, Gamedev, Инди, Видео, Ответ на пост, Длиннопост

Освещение сильно повлияло на производительность, после его добавления мой телефон (Samsung a71) стал показывать 15-18 кадров и неистово греться, хотя до этого было 60 FPS. Проблема была в том, что на уровне было 7 источников света направленного и еще 7 как текстуры ламп, и некоторый свет был для нескольких разных слоев и все источники были с включенными тенями, хотя тени используются только в начале игры в 1 месте.


В первую очередь я убрал все настройки теней у каждого источника света и включил светить только на один слой по умолчанию. Убрал весь свет, который был текстурами ламп, вместо него оставил просто текстуру, для лучшего вида поставил материал на который не влияет направленный свет, а для имитации включения-выключения света стал менять прозрачность текстуры.  Все это помогло, игра осталась выглядеть точно также, но agc на телефоне вернулся к 60 кадрам, а unity показывает на пк 750 кадров против 470 до правок.


Была еще проблема, когда свет из уровня светил на UI, особенно было заметно во время паузы. Это решается переключение рендера на канвасе на Screen Space - Overlay, но тогда перестают правильно работать подсказки, они не выносят над серым фоном объект подсказки. Поэтому рендер оставил Screen Space - Camera, а UI вынес на отдельный слой, на который не попадает свет.


Пробовал еще добавлять нормалмапы для текстур для создания объема от света, но это не для пиксель арта, все стало выглядеть намного хуже чем было нарисовано :)


Надо еще сделать:

1. Дорисовать 4 уровня.

2. Нарисовать фон для меню.


--- Музыка.

Сделано за пол года:

1. Добавил звуки при соединении цифр и при атаках босса или ноля.

2. Добавил 9 фоновых мелодий, общей продолжительностью 22 минуты. Из-за того, что чем выше уровень, тем больше времени он занимает было решено отказаться от одной мелодии под каждый уровень, слушать одно и тоже больше часа было невыносимо. Сейчас при старте игры аудиоменеджер перемешивает все мелодии и играет их в случайном порядке, а когда мелодии заканчиваются перемешивает еще раз и так пока не надоест. Таким образом одна мелодия не надоедает и нет эффекта когда вы уже помните какой трек за каким играет и ждете его в нужный момент.

Вот так выглядит этот кусок кода:

Продолжение поста «Дневник разработки игры "Numbers: A Chain Match Game"» Unity, Developers Blog, Игры на Android, Разработчики игр, Gamedev, Инди, Видео, Ответ на пост, Длиннопост

Надо еще сделать:

1. Исправить несколько мелодий, их концовку обрывает на доли секунд раньше нужного.


Сколько ушло времени и когда релиз?

С момента идеи и до начала беты прошло полтора года, думаю еще пол года до релиза точно пройдет.


Чтобы набрать аудиторию и фидбек было решено отправить заявку на участие в конкурсе инди разработчиков Indie Cup W’22, прием заявок еще открыт, а результаты будут в марте-апреле.


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


Всем спасибо за внимание, и за то, что прочитали до конца. Буду рад вашим комментариям и фидбеку по игре.

Лига Разработчиков Видеоигр

6.6K постов22.1K подписчиков

Добавить пост

Правила сообщества

ОБЩИЕ ПРАВИЛА:

- Уважайте чужой труд и используйте конструктивную критику

- Не занимайтесь саморекламой, пишите качественные и интересные посты

- Никакой политики


СТОИТ ПУБЛИКОВАТЬ:

- Посты о Вашей игре с историей её разработки и описанием полученного опыта

- Обучающие материалы, туториалы

- Интервью с опытными разработчиками

- Анонсы бесплатных мероприятий для разработчиков и истории их посещения;
- Ваши работы, если Вы художник/композитор и хотите поделиться ими на безвозмездной основе

НЕ СТОИТ ПУБЛИКОВАТЬ:

- Посты, содержащие только вопрос или просьбу помочь
- Посты, содержащие только идею игры

- Посты, единственная цель которых - набор команды для разработки игры

- Посты, не относящиеся к тематике сообщества

Подобные посты по решению администрации могут быть перемещены из сообщества в общую ленту.

ЗАПРЕЩЕНО:

- Публиковать бессодержательные посты с рекламой Вашего проекта (см. следующий пункт), а также все прочие посты, содержащие рекламу/рекламные интеграции

- Выдавать чужой труд за свой

Подобные посты будут перемещены из сообщества в общую ленту, а их авторы по решению администрации могут быть внесены в игнор-лист сообщества.


О РАЗМЕЩЕНИИ ССЫЛОК:

Ссылка на сторонний ресурс, связанный с игрой, допускается только при следующих условиях:

- Пост должен быть содержательным и интересным для пользователей, нести пользу для сообщества

- Ссылка должна размещаться непосредственно в начале или конце поста и только один раз

- Cсылка размещается в формате: "Страница игры в Steam: URL"