{"id":3824,"url":"\/distributions\/3824\/click?bit=1&hash=a0d33ab5520cacbcd921c07a49fc8ac5b78623b57936b992ce15c804b99210d4","title":"\u041a\u0430\u043a\u0443\u044e \u0440\u0435\u043a\u043b\u0430\u043c\u0443 \u043c\u043e\u0436\u043d\u043e \u0434\u0430\u0442\u044c \u043d\u0430 DTF \u0438 \u043a\u0442\u043e \u0435\u0451 \u0443\u0432\u0438\u0434\u0438\u0442","buttonText":"\u0423\u0437\u043d\u0430\u0442\u044c","imageUuid":"75ec9ef4-cad0-549d-bbed-1482dc44e8ee","isPaidAndBannersEnabled":false}

Виды медикаментов в Gedel Escape

Всем привет! Меня зовут Александр, я разработчик игры под названием Gedel Escape (и я уже писал несколько заметок касательно игры ранее). Решил рассказать о том, какие виды инвентаря есть в игре и начать с медикаментов (потому что прям перед написанием статьи добавил их в игру).

Небольшое вступление

Игру разрабатываю на Unity, потому весь инвентарь построен на Scriptable Objects. Медикаменты чисто с технической точки зрения не отличаются от еды и питья, только если первые отвечают за показатели жажды и сытости, то медицина взаимодействует с индикатором здоровья.

Прим.: долгое время в игре не было индикатора здоровья, так как в одном из инди-чатов в ВК меня убеждали, что здоровье не нужно, если с ним не связано игровых механик

У медикамента, как Scriptable Object есть название (русский / английский вариант), описание (русский / английский вариант), характеристики и те показатели, на которые он влияет. Ну и несколько булевых переменных, необходимые для отображения в инвентаре / панели крафта и пр.

Так выглядит пример медикамента в инспекторе Unity Bantik Games

Так как события игры происходят в далёком будущем, то я постарался отойти от классических бинтов, аптечек и пр. Но так как опыта в создании инвентаря у меня немного, то в основном «уход» этот произошёл за счёт названий и характеристик. Так обычный бинт превратился в нанитовый пластырь с которого и начнём знакомство.

Виды медикаментов

Нанитовый пластырь

Этот пластырь использует маленьких нанитов, которые проникают в ткани и регенерируют их. Подходит для маленьких ран, ссадин, порезов. Восстанавливает 5 единиц здоровья.

Витальный коагулянт Bantik Games

Сделанный на основе витала (один из видов ресурсов в игре) состав останавливает кровотечение и ускоряет восстановление эритроцитов. Восстанавливает 15 единиц здоровья, но увеличивает жажду на 7 единиц.

Силиконовый коагулянт Bantik Games

Компонент на силиконовой основе. Вводится внутривенно и блокирует размножение вирусов и вредоносных бактерий внутри организма. Вызывает чувство голода. Восстанавливает 20 единиц здоровья и снижает сытость на 10 единиц.

Восстановительный спрей Bantik Games

Обезболивает место повреждения и ускоряет восстановление тканей. Восстанавливает 10 единиц здоровья.

Анальгетики Bantik Games

Применяются для облегчения болевого синдрома, связанного с воспалением или повреждением тканей и органов. Восстанавливают 7 единиц здоровья.

Немного о крафте и чутка наглядных примеров

При создании новой категории в инвентаре я стараюсь сделать, как минимум 5 вариантов предметов. Делать слишком много считаю нецелесообразным, ибо Gedel Escape небольшая игра, не серьёзный ААА-проект, но и 2-3 пункта в инвентаре в категории «Медикаменты» выглядят смешно. Постарался найти некую золотую середину.

И вот так медикаменты работают непосредственно в игре

Демонстрация работы медикаментов в игре

Особенно хотелось бы упомянуть про крафт медикаментов. Опять-таки система крафтинга построена на Scriptable Objects и во многом напоминает содержимое инвентаря. Отличия в том, что там добавляются поля для ввода необходимых ресурсов и их количества. При добавлении медикаментов в систему крафта я использовал такую вот таблицу, созданную в Google Таблицах.

Таблица с крафтом в Gedel Escape Bantik Games

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

В подобном формате планирую рассказать о других предметах в инвентаре, которые есть в игре. Надеюсь, что пост зайдёт и соберёт адекватный фидбэк.

Заключение

Ну и в конце поделюсь ссылками на паблик ВК по разработке (там первыми появляются сведения о ходе разработки) и страницей игры в Steam (релиз запланирован на 18 октября 2021 года, потому вы можете добавить Gedel Escape в список желаемого). Жду также ваших комментариев и благодарю за внимание!

0
18 комментариев
Написать комментарий...
Арсений Мирный

Ого, у Unity есть тёмная тема!

Ответить
Развернуть ветку
Деловой паук например

Не для холопов

Ответить
Развернуть ветку
Paul Podberezko

С 2019 версии темная тема доступна для холопов

Ответить
Развернуть ветку
Тёмная Тема

╮(︶▽︶)╭

Ответить
Развернуть ветку
Paul Podberezko

╮(─▽─)╭

Ответить
Развернуть ветку
Арсений Мирный

Я знаю, но когда видишь темные скрины с юнити, то по всем законам надо шуткануть))

Ответить
Развернуть ветку
Тёмная Тема

Вот иди и сделай

Ответить
Развернуть ветку
Арсений Мирный

Идеально

Ответить
Развернуть ветку
Zhenya Kolesnikov

Что за пакет для иерархии сцены?

Ответить
Развернуть ветку
Александр Анищенко
Автор

Febucci Custom Hierarchy

Ответить
Развернуть ветку
Zhenya Kolesnikov

Спасибо

Ответить
Развернуть ветку
Mikhail Klochkov

Что будешь делать когда добавишь португальский?
Что будешь делать если надо будет добавить поле в сотню созданных предметов и задать им разумное значение?
Не устаешь махать мышкой между иерархией и инспектором?

Ответить
Развернуть ветку
Александр Анищенко
Автор

1. Португальского не будет
2. Сотни созданных объектов не будет
3. Не устаю

Ответить
Развернуть ветку
Mikhail Klochkov

1. Вообще любой язык. Исправлять опечатки, ошибки, передать перевод профи? Если намеков не понимаешь: перевод хранить в данных предмета - себе делать хуже, это разные данные, переводы мешают. Заведи ид предмета, и пусть в нужном месте запрашивается перевод для этого суфикс + ид + постфикс: “Item.”+item.id+”.Name”. Меняя постфикс сможешь добавлять новые ключи локализации например “.Description”, если возникнет необходимость. При этом чтобы добавить новый ключ в старый код лезть не придется. Опять же надеяться что локализировать ненужно будет - это значит не надеяться зарелизить игру вовсе.
2. Хаха.
3. Молодец если так. В юнити можно панели пересовывать. Стандартный лейаут максимально неудобный, пересунь иерархию ближе к инспектору так будет удобнее имхо.

Ответить
Развернуть ветку
Vaskrol

По локализации - лучше сделать так, чем никак. Потом если что переделаешь. Я уже давно пришёл к тому, что лучше сделать сначала как можно проще, а потом если что переделать. Иначе при работе в одну каску быстро теряется мотивация. В итоге у тебя с большей вероятностью будет законченная игра с двумя локализациями, что лучше чем незаконченная с 15-ю.

Ответить
Развернуть ветку
Mikhail Klochkov

Лучше никак тогда. Проще потом прикрутить будет, чем от старой избавиться.
А еще лучше найти готовое решение для локализации, есть бесплатные на гитхабе даже.
Опять же речь вообще не про локализацию, а про то что данные неправильно организованы. Со временем поддерживать такое в «одну каску» станет невыносимо.
Здесь все через имя поля, любое изменение - маешься с компиляцией проекта. Не дай бог добавится португальский, везде где обращается к локализации надо будет добавлять обращение к конкретному полю в конкретном классе (писать сложное решение на основе рефлексии?).
Тут-то руки у автора и опустятся.

Ответить
Развернуть ветку
Влад Валентюкевич

Ой, какой красивый просмотр иерархии объектов на сцене, что это за плагин?

Ответить
Развернуть ветку
Александр Анищенко
Автор

Febucci Custom Hierarchy

Ответить
Развернуть ветку
Читать все 18 комментариев
null