unkxander

unkxander

Пикабушник
поставил 18 плюсов и 0 минусов
Награды:
5 лет на Пикабу
128 рейтинг 1 подписчик 5 подписок 3 поста 1 в горячем

Elementals Reborn - сборка для PC

Elementals Reborn - сборка для PC Альфа-тест, Игры, Тестирование, RTS, Инди

Всем привет! Хочу сразу поблагодарить всех пользователей pikabu, которые приняли участие в первом альфа-тестировании. Благодаря собранной статистике и отзывам  мы сделали несколько выводов (например, что обучение нужно делать проще, интерфейс более интуитивный, больше использовать текстовых и всплывающих подсказок).  


Теперь во время сражения в специальных режимах игрок может видеть требования для получения дополнительных звезд или попадания в лучшие результаты. Сейчас нам нужна помощь в тестировании PC сборки игры, для тех кто хочет поучаствовать - вот ссылка на архив с игрой ElementalsReborn_v0.2. Отзывы можете оставлять в этой теме или через контакты на нашем сайте.

Elementals Reborn - сборка для PC Альфа-тест, Игры, Тестирование, RTS, Инди

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

Elementals Reborn - сборка для PC Альфа-тест, Игры, Тестирование, RTS, Инди
Показать полностью 2

ElementalsReborn: альфа-тестирование и Greenlight

ElementalsReborn: альфа-тестирование и Greenlight Elementalsreborn, Разработка, Инди, Gamedev, Unity3D, Длиннопост

Примерно полгода назад я с другом занялся разработкой мультиплеерной RTS. Планировалось сделать простую механику захвата вражеских зданий, основное внимание уделить сетевой игре и продвижению по лигам. Как это часто бывает, добавление каждой следующей фичи влечет за собой еще больше изменений геймплея. Так добавление новых типов зданий повлекло за собой появление заклинаний и новых режимов игры (режим захвата, обороны и tower defence), новые режимы игры требуют подстройки игрока под каждый из них (пришлось добавить дерево умений с ~40 различными бонусами).

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

ElementalsReborn: альфа-тестирование и Greenlight Elementalsreborn, Разработка, Инди, Gamedev, Unity3D, Длиннопост

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

ElementalsReborn: альфа-тестирование и Greenlight Elementalsreborn, Разработка, Инди, Gamedev, Unity3D, Длиннопост

Новость о закрытии Greenlight застала нас врасплох во время создания карт и разработки AI для ботов. Мы не хотели упускать возможность дополнительной рекламы среди steam сообщества, поэтому пришлось подкорректировать план разработки и как можно быстрее закончить демку. В результате за 3 недели в игру были добавлены все интерфейсы, которые сейчас есть в альфа версии. Еще неделя ушла на подготовку всех материалов для публикации, создание трейлера, переводов и написание статей. Для тех, кто захочет проголосовать за нас на greenlight, в конце поста я дам ссылку на страницу стима.

Каждый ваш голос может помочь нам.


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


Чтоб не заставлять игроков скачивать кота в мешке (pc версию), я собрал WebGL версию для первоначального тестирования (ссылка на игру в конце статьи). При авторизации прошу указывать свой ник с тегом [PKB], при релизе игры мы будем раздавать ключи, и чем больше пользователей помогут нам в тестировании, тем больше ключей мы будем раздавать на том или ином портале.


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

Прошу поднять повыше, комментарии для минусов внутри.


Greenlight: https://steamcommunity.com/sharedfiles/filedetails/?id=882334193

WebGL альфа версия игры: http://elementals-reborn.com/game/

Показать полностью 2

История о выборе пути

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

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

История о выборе пути Unity3D, Инди, Gamedev, Elementalsreborn, Длиннопост, Разработка

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


Теперь собственно к проблеме поиска маршрутов между башнями. Первая мысль, которая приходит когда необходимо сделать передвижение отряда из точки А в точку Б без необходимости динамически менять маршрут - это заранее расставить точки на карте и передвигать по ним отряд с необходимой скоростью движения. Второй вариант был использовать одну из бесплатных библиотек динамического поиска пути A* Pathfinding Project.

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


У A* Pathfinding Project есть поддержка Unity3D, так что добавить построение маршрутов в игру заняло не более пары часов. На сцене можно настраивать размер ячеек в сетке проходимости, для моей игры требовалась как минимум 70х50 сетка, средний размер пути был 40-60 точек, а результат был мягко говоря не впечатляющим:

История о выборе пути Unity3D, Инди, Gamedev, Elementalsreborn, Длиннопост, Разработка

Почитав темы с поиском пути в играх пришел к выводу, что нужно использовать сглаживание поворотов, к счастью в этой библиотеке сделать это просто: нужно добавить компонент SimpleSmoothModifier на объект с Seeker (у которого вызывается метод поиска пути). Результаты работы сглаживания меня вполне устраивали.


Без сглаживания и после использования 3 итераций:

История о выборе пути Unity3D, Инди, Gamedev, Elementalsreborn, Длиннопост, Разработка

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

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

История о выборе пути Unity3D, Инди, Gamedev, Elementalsreborn, Длиннопост, Разработка

Беглый просмотр кода в AstarPath показал, что методы поиска пути могут работать и в editor режиме, необходимо только в нескольких местах убрать строку

if (!Application.isPlaying) return;

которая прерывает выполнение метода если игра не запущена.

Чтоб использовать сглаживание пути, необходимо так же добавить аттрибут [ExecuteInEditMode] к классам Seeker и SimpleSmoothModifier, нам нужно чтоб в этих классах при запуске сцены сработал метод Awake в режиме editor и класс получил все необходимые ссылки на компоненты для работы с модификацией пути. Осталась только одна проблема - сам поиск пути происходит в методе Update, который в редакторе срабатывает при изменении свойств объектов. Можно вызывать этот метод вручную до тех пор, пока все пути не будут просчитаны, или просто потеребить какой-нибудь из объектов на сцене для срабатывания достаточного количества методов Update.


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

1. При нажатии на первую кнопку на сцене создается новый объект, содержащий настройки для создаваемой башни. Во-первых это позволяет визуально отображать всю информацию в режиме редактора, во-вторых при изменении уровня, элемента или типа башни - скрипт автоматически пересоздает отображаемый скин. Это очень экономит время при создании схем уровней.


Слева на картинке компонент с настройками параметров башни из п.1, справа - интерфейс для ручного изменения пути из п.4

История о выборе пути Unity3D, Инди, Gamedev, Elementalsreborn, Длиннопост, Разработка

2. Когда все башни расставлены, время вызвать второй метод редактора. Он создает объекты Path из каждой башни к каждой другой башне, в которых хранится информация о координатах всех точек пути и длина этого пути. На самом деле создается только половина путей (нет смысла отдельно просчитывать путь A -> B и B->A.) На этом этапе каждый путь представляет из себя отрезок из точки А в точку B.


3. При нажатии на третью кнопку метод пробегается по всем созданным объектам Path и вызывает поиск пути между заданными точками. После этого необходимо вызвать пару десятков срабатываний метода Update у класса AstarPath до тех пор, пока все пути не будут просчитаны.


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


Все что осталось сделать - это сохранить префаб с расставленными башнями, рассчитанными путями и настройками AI противника в библиотеку. Позже он будет создан и инициализирован при загрузке уровня во время игры. На этапе оптимизации игры можно будет сделать сохранение всех данных в xml файл, что позволит вносить изменения в уровень на стороне сервера и передавать его при загрузке игры.


На этом создание инструмента для построения путей между башнями было закончено. Буду рад увидеть в комментариях ваше мнение по поводу выбранного стиля графики и критику игры.

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