alexundr

alexundr

Клепаю игры по фану)
Пикабушник
поставил 0 плюсов и 0 минусов
118 рейтинг 1 подписчик 0 подписок 1 пост 1 в горячем

[Оцените игру] 3D tower defence с мультиплеером - Турели роботы

3D tower defence с мультиплеером. Прототип в открытом тестировании.


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


Но по правилам пикабу - расскажу о создании игры)


Есть у меня с другом настольная карточная игра (реальная, с "бумажными картами") и для нее мы хотели сделать AR дополнение со свистелками и прочими атрибутами).

Один из ключевых моментов - в этой AR должен быть мультиплеер.

Поэтому мои силы были направлены на изучение мультиплеера в Unity.

Есть разные ассеты для этого, и после нескольких проб, мой выбор пал на Photon.

Почему он? Другие не запустились как нужно, а у ассета фотона есть демо игра со всеми ключевыми возможностями, которые требовались для изучения.

Чуть покопавшись в скриптах и поняв, как передавать данные между игроками - была собрана простенькая игра на 2-4 человек.

У каждого игрока есть турель (вид от 3 лица) с управлением только по горизонтали (лево-право).

Задача для победы - набрать как можно больше очков за отведенное время.

Игра была сделана и даже работала как надо) Тесты прошли успешно.


Пришло время браться за реализацию идеи AR приложения.

Концепция была такая - игрок сканирует стол - появляется поле.

Дальше сканируются выпадающие карты и на поле появляются предметы, с которыми можно взаимодействовать.

Так как наша карточная игра асинхронная, то и предметы были "на две стороны" - например стена для защиты у одного игрока, а у его противника бомба.

Также у защиты были разного рода турели (которыми можно было бы управлять - для этого тестировалась первая игра), а у нападения - модели персов (которые должны пройти к цели).

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


Мой мозг покумекал некоторое время и решил собрать это в виде tower defenca.

Почему именно товер дефенс? Мой друг-товарищ любитель этого жанра, а для большого колва тестовых игр, его любовь к тематике хорошо подходила)


Цель поставлена, разработка пошла.

В роли мобов взял заранее скачанные бесплатные ассеты моделей роботов (для другого моего проекта - фпс шутер).

Такая же участь постигла и турели, но из многих скачанных - подошла одна моделька(по "весу файлов" и внешнему виду). А в игре должны быть как минимум две турели - что же делать?

Покрасить их в разные цвета! - для тестов большего и не надо.)


Прошел месяц - была готова основа для первого теста "на поле" - во время карточной игры.

Мы хотели понять - как много движухи должно быть в приложении, чтобы она гармонично вписывалась в процесс игры.

Вывод после первой тестовой игры - минимум!)


Как оказалось все залипли именно в приложении, пока не доиграли до конца)

И только после этого продолжили карточный "бой".

AR мы решили значительно упростить, а у меня на руках осталась готовая механика товер дефенса с мультиплеером.


Что же теперь с ней делать?! - подумал я.

И тут же появился ответ - доделать до удобоваримого состояния!

Следующие 5 месяцев (с переменным успехом) сидел и доделывал игру до состояния - "можно показать людям в интернете для оценки".


Что есть в игре?

Мультиплеер - один игрок "управляет" турелями (защищает базу), второй игрок "управляет" роботами (нападает).

Контент-

2 турели (защита)

3 робота (нападение)

+Улучшения для турелей и роботов ("действуют" по разному).

Так же у одной турели есть особый режим "вид из глаз".

5 карт (локации)


А что с процессом разработки?

Отдельной задачей для меня стояла оптимизация.

Изначально игра была на мобилках - и было решено оставить этот вариант платформы (удобно для тестирования).

Примерно два месяца назад, когда уже думал - вот еще недельку и можно в интернете всем показывать - мои друзья внезапно сказали - “Иногда лагает и мобила греется”- так вопрос об оптимизации встал крайне остро.

И начались долгие попытки понять, что пожирает фпс до 15 кадров в секунду.


(До этого долго думал, чем можно заполнить окружающую пустоту на картах - качать лоу поли модели камней и прочего или использовать террейн?

После просмотра доступного (бесплатных ассетов в юнити сторе), решение все же склонилось к террейну - с ним удобно работать по причине его быстрого изменения - убрать гору, поставить гору, порисовать текстурами - достаточно быстро (но не всегда удобно))

Поэтому первые подозрения в просадке фпс пали на террейн.


Пробовал и так и сяк - отключал террейн, делал его маленьким по размеру, нашел ассет который делает меш из террейна (в итоге от этого варианта отказался) и понял - да террейн влияет на фпс, но не сам объект, а текстуры!

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

Повысил сжатие текстур, а в материалах отключил “все лишнее” и вуаля - одна проблема исчезла)


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

Написал одну строку кода и забыл о ней. Так я подумал, что и вторую проблему решил)


Следующей проблемой просадки фпс была очень странной - в режиме камеры сверху все ок, а в режиме камеры из турели (от 3 лица) - фпс проседает в 2 раза.

В итоге различных ухищрений удалось понять -

Первый момент - на сцене должна быть одна активная камера (остальные отключать).

Второй момент - поворот скайбокса это слишком жирно.

Обычно скайбоксы хорошенько весят (размер файла), так как используют изображения большого разрешения.

В своих проектах стараюсь делать очень маленький размер готового билда (на сколько это возможно), тем более для мобилок. Поэтому скайбокс решил сделать сам - взял "кусок космоса" и через скрипт заставил его вращаться.

Как оказалось это вращение съедает значительную часть фпс, пришлось отказаться:(

Однако, вращение скайбокса осталось в финальной сцене боя и в лобби)


И вот после всех этих манипуляций фпс должно быть максимально высоким - подумал я, но нет.

По прежнему что то съедало десятки кадров.

Пришлось включить наитопорниший метод - отключать объекты/скрипты - билдить и смотреть, изменилось ли что-нибудь?

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

Именно эта строчка и была той самой последней занозой (которую сам и внедрил :).

После ее удаления фпс стал практически максимальным - в районе 60 фпс на мобилках (которые могут такое выдавать).

Однако в веб версии встречаются лаги, хотя фпс высокий - это для меня пока еще загадка.


Что смог усвоить по оптимизации на мобиле (основное) -

1. включать статические объекты везде где возможно

2. только одна активная камера

3. сжимать текстуры и звуки до посинения

4. минимум апдейтов в скриптах

5. минимум ригидбоди на объектах


Дальше оставалось за малым - добить критические баги.

Спустя месяц основное залатал, но когда кажется что багов уже нет, они там обязательно есть)

Вообще тестирование и исправление багов это практически бесконечный процесс - главное вовремя остановиться)


Если вдруг ты возьмешься разрабатывать игру (даже самую простенькую) выделяй значительное время (хорошо если половину от всего остального) на тестирование и латание багов. Многие разработчики почему то об этом забывают)


За время разработки этой игры получил много опыта - работа с мультиплеером, оптимизация, настройка террейна и много всякого по мелочи.


И теперь мне хочется узнать - мнение об этой игре “стороннего игрока”.

Чтобы понять - продолжать ли добавлять и улучшать контент или переключиться на другой проект (вернуться наконец к фпс шутеру например :).


Касательно игры -

Так как игра изначально готовилась с мультиплеером то и механики заточены под него же.

В игре есть сингл с ботами - но он скорее для понимания игровых механик.

Здесь нет волн мобов и остальных приколов "обычных" товер дефенсов.

Боты - имитация действий простого игрока.


Вероятнее всего тебе не удастся попасть на живого игрока (о игре знают 1,5 землекопа, а у меня, к сожалению, нет возможности постоянно быть онлайн), то заходи поиграться с ботами. Для этого создай комнату, выбери за кого, а внутри нажми кнопку “Начать с ботами”.


На данный момент поиграть можно на ПК в браузере  (примерно 60 мб)

https://alexunder.fun

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


Конструктивная критика всегда приветствуется - расскажи о багах и балансе.

Также пиши свои предложения - что убрать, что добавить)


П.С.

Если ты хочешь окунуться в мир создания игр, потому что тебе нравятся игры - ныряй! это увлекательный, но тернистый мир)

Если ты хочешь делать игры только ради коммерции - ныряй еще глубже, но возможно будет сложнее)

В любом случае - Начни двигаться в этом направлении и у тебя обязательно получится!


Благодарю за внимание!


Геймплейное видео -

[Оцените игру] 3D tower defence с мультиплеером - Турели роботы 3D, Игры, Оценка, Мультиплеер, Tower Defense, Видео, Длиннопост
[Оцените игру] 3D tower defence с мультиплеером - Турели роботы 3D, Игры, Оценка, Мультиплеер, Tower Defense, Видео, Длиннопост
[Оцените игру] 3D tower defence с мультиплеером - Турели роботы 3D, Игры, Оценка, Мультиплеер, Tower Defense, Видео, Длиннопост
[Оцените игру] 3D tower defence с мультиплеером - Турели роботы 3D, Игры, Оценка, Мультиплеер, Tower Defense, Видео, Длиннопост
Показать полностью 4 1
Отличная работа, все прочитано!