alexundr

alexundr

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

[Оцените игру] 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

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


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

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


П.С.

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

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

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


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


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

Показать полностью 4 1
Отличная работа, все прочитано!

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества