Челенж по выполнению заданий от пикабушников №1

@Dragnair

Реквестирую:
Генератор рандомного дерева навыков для Rpg.
Мелкие пассивки и ключевые навыки, что за навыки пофиг, лишь бы строились более менее осмысленно.

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

Челенж по выполнению заданий от пикабушников №1 Gamedev, C-shapr, Generator, Unity, Гифка, Длиннопост

графика, конечно, так себе. Но вроде функционал готов.

Легендочка:

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

зелёный - активный скилл

красный - пассивный скилл, зависящий от этого скила.

Вся эта штука спокойно масштабируется в любое количество шагов.

Челенж по выполнению заданий от пикабушников №1 Gamedev, C-shapr, Generator, Unity, Гифка, Длиннопост
Челенж по выполнению заданий от пикабушников №1 Gamedev, C-shapr, Generator, Unity, Гифка, Длиннопост
Челенж по выполнению заданий от пикабушников №1 Gamedev, C-shapr, Generator, Unity, Гифка, Длиннопост

Есть ещё некоторые косметические недоделки: начальная точка расположения всегда справа, но для этого можно добавить рандомизатор, что разнообразит рисунок дерева в целом; нет графики; ничего не юзабельно, само собой :D

Управляется всё это дело вот такой вот штукой:

Челенж по выполнению заданий от пикабушников №1 Gamedev, C-shapr, Generator, Unity, Гифка, Длиннопост

Префабы рут объекта (центрального), главного скила + его цвет, пассивного скила + его цвет, связи + цвет

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

SkillDistance - расстояние от одного скила до другого (это флоат, в юнитёвских единицах)

TreeSteps - кол-во шагов в каждой ветке (если макс брэнч выпадет 0 - ветка прервётся)

MaxPassiveSkill - это вектор 2, минимально кол-во пассивных скилов (красных квадратиков) и максимальное.

SubSkillDistance - расстояние от центра активного скила (зеленого), до центра пассивного (красного).


Код получился длинным, аж на 130 строк, но основной кусок здесь

Челенж по выполнению заданий от пикабушников №1 Gamedev, C-shapr, Generator, Unity, Гифка, Длиннопост

Есть ещё косяк с хранением всего этого дела. А именно: я передаю инфу через пару листов, для пошаговой генерации. И голова уже не варит, как это организовать правильнее :D

Челенж по выполнению заданий от пикабушников №1 Gamedev, C-shapr, Generator, Unity, Гифка, Длиннопост

Графически, конечно, не очень впечатляет, но в целом работает. Дерево генерится, всё хорошо. Кроме времени генерации ) Большие на 10+ шагов деревья просаживают фпс до 15 ^_^

Челенж по выполнению заданий от пикабушников №1 Gamedev, C-shapr, Generator, Unity, Гифка, Длиннопост

Спасибо за отзывчивость. К сожалению все запросы я просто физически не успею выполнить, а тема станет бессмысленной, если не будет предложений. Поэтому предлагайте. Кто больше лайков наберёт - того и тапки для следующего челенжа.

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

ЗАПРЕЩЕНО:

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

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

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


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

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

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

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

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

7
Автор поста оценил этот комментарий

Я подумал что речь была не только о дереве, но и о работающей прокачке умений, описании и тд.

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

раскрыть ветку
3
Автор поста оценил этот комментарий

Мил человек, ты про- path of exile, вообще слышал что то?

раскрыть ветку
Автор поста оценил этот комментарий
Иллюстрация к комментарию
2
Автор поста оценил этот комментарий

Почему так мало плюсов? Его попросили - он сделал. И сделал оперативно. Нефиг придираться что это дерево не как в PoE... там не 1 десяток человек трудится над балансом и механикой , а тут просили рандомизатор. Однозначно плюс!

1
Автор поста оценил этот комментарий

Не забудь : взял память-отдай.На ui и прочих гавнофреймфорках это в порядке вещей.А велосипед придумывать не надо.Легион этих систем.

раскрыть ветку