Всем привет! Меня зовут Александр, я разработчик игры под названием Gedel Escape (и я уже писал несколько заметок касательно игры ранее). Решил рассказать о том, какие виды инвентаря есть в игре и начать с медикаментов (потому что прям перед написанием статьи добавил их в игру).
Небольшое вступление
Игру разрабатываю на Unity, потому весь инвентарь построен на Scriptable Objects. Медикаменты чисто с технической точки зрения не отличаются от еды и питья, только если первые отвечают за показатели жажды и сытости, то медицина взаимодействует с индикатором здоровья.
Прим.: долгое время в игре не было индикатора здоровья, так как в одном из инди-чатов в ВК меня убеждали, что здоровье не нужно, если с ним не связано игровых механик
У медикамента, как Scriptable Object есть название (русский / английский вариант), описание (русский / английский вариант), характеристики и те показатели, на которые он влияет. Ну и несколько булевых переменных, необходимые для отображения в инвентаре / панели крафта и пр.
Так как события игры происходят в далёком будущем, то я постарался отойти от классических бинтов, аптечек и пр. Но так как опыта в создании инвентаря у меня немного, то в основном «уход» этот произошёл за счёт названий и характеристик. Так обычный бинт превратился в нанитовый пластырь с которого и начнём знакомство.
Виды медикаментов
Этот пластырь использует маленьких нанитов, которые проникают в ткани и регенерируют их. Подходит для маленьких ран, ссадин, порезов. Восстанавливает 5 единиц здоровья.
Сделанный на основе витала (один из видов ресурсов в игре) состав останавливает кровотечение и ускоряет восстановление эритроцитов. Восстанавливает 15 единиц здоровья, но увеличивает жажду на 7 единиц.
Компонент на силиконовой основе. Вводится внутривенно и блокирует размножение вирусов и вредоносных бактерий внутри организма. Вызывает чувство голода. Восстанавливает 20 единиц здоровья и снижает сытость на 10 единиц.
Обезболивает место повреждения и ускоряет восстановление тканей. Восстанавливает 10 единиц здоровья.
Применяются для облегчения болевого синдрома, связанного с воспалением или повреждением тканей и органов. Восстанавливают 7 единиц здоровья.
Немного о крафте и чутка наглядных примеров
При создании новой категории в инвентаре я стараюсь сделать, как минимум 5 вариантов предметов. Делать слишком много считаю нецелесообразным, ибо Gedel Escape небольшая игра, не серьёзный ААА-проект, но и 2-3 пункта в инвентаре в категории «Медикаменты» выглядят смешно. Постарался найти некую золотую середину.
И вот так медикаменты работают непосредственно в игре
Особенно хотелось бы упомянуть про крафт медикаментов. Опять-таки система крафтинга построена на Scriptable Objects и во многом напоминает содержимое инвентаря. Отличия в том, что там добавляются поля для ввода необходимых ресурсов и их количества. При добавлении медикаментов в систему крафта я использовал такую вот таблицу, созданную в Google Таблицах.
Ввиду отсутствия опыта количество ресурсов, которые нужны для крафта подбираю из головы. Но как только выйдет демо-версия игры и пойдут отзывы от игроков, планирую скорректировать модель крафта в плане количества ресурсов и времени, которое затрачивается на создание 1 единицы (например на создание одного медикамента уходит, на данный момент, 10 секунд)
В подобном формате планирую рассказать о других предметах в инвентаре, которые есть в игре. Надеюсь, что пост зайдёт и соберёт адекватный фидбэк.
Заключение
Ну и в конце поделюсь ссылками на паблик ВК по разработке (там первыми появляются сведения о ходе разработки) и страницей игры в Steam (релиз запланирован на 18 октября 2021 года, потому вы можете добавить Gedel Escape в список желаемого). Жду также ваших комментариев и благодарю за внимание!
Ого, у Unity есть тёмная тема!
Не для холопов
С 2019 версии темная тема доступна для холопов
╮(︶▽︶)╭
╮(─▽─)╭
Я знаю, но когда видишь темные скрины с юнити, то по всем законам надо шуткануть))
Вот иди и сделай
Идеально
Что за пакет для иерархии сцены?
Febucci Custom Hierarchy
Спасибо
Что будешь делать когда добавишь португальский?
Что будешь делать если надо будет добавить поле в сотню созданных предметов и задать им разумное значение?
Не устаешь махать мышкой между иерархией и инспектором?
1. Португальского не будет
2. Сотни созданных объектов не будет
3. Не устаю
1. Вообще любой язык. Исправлять опечатки, ошибки, передать перевод профи? Если намеков не понимаешь: перевод хранить в данных предмета - себе делать хуже, это разные данные, переводы мешают. Заведи ид предмета, и пусть в нужном месте запрашивается перевод для этого суфикс + ид + постфикс: “Item.”+item.id+”.Name”. Меняя постфикс сможешь добавлять новые ключи локализации например “.Description”, если возникнет необходимость. При этом чтобы добавить новый ключ в старый код лезть не придется. Опять же надеяться что локализировать ненужно будет - это значит не надеяться зарелизить игру вовсе.
2. Хаха.
3. Молодец если так. В юнити можно панели пересовывать. Стандартный лейаут максимально неудобный, пересунь иерархию ближе к инспектору так будет удобнее имхо.
По локализации - лучше сделать так, чем никак. Потом если что переделаешь. Я уже давно пришёл к тому, что лучше сделать сначала как можно проще, а потом если что переделать. Иначе при работе в одну каску быстро теряется мотивация. В итоге у тебя с большей вероятностью будет законченная игра с двумя локализациями, что лучше чем незаконченная с 15-ю.
Лучше никак тогда. Проще потом прикрутить будет, чем от старой избавиться.
А еще лучше найти готовое решение для локализации, есть бесплатные на гитхабе даже.
Опять же речь вообще не про локализацию, а про то что данные неправильно организованы. Со временем поддерживать такое в «одну каску» станет невыносимо.
Здесь все через имя поля, любое изменение - маешься с компиляцией проекта. Не дай бог добавится португальский, везде где обращается к локализации надо будет добавлять обращение к конкретному полю в конкретном классе (писать сложное решение на основе рефлексии?).
Тут-то руки у автора и опустятся.
Ой, какой красивый просмотр иерархии объектов на сцене, что это за плагин?
Febucci Custom Hierarchy