Die or Survive (Выживание с крафтом в генерируемом мире)

Выживалка Die or Survive
Описание:
После случившегося некоего катаклизма, герой игры приходит в себя на наземной локации полуголодным и израненным. В рюкзаке карманный нож и небольшой запас провианта. Исследуя большую локацию на предмет того, что же произошло в этом мире, начинает находить разные вещи, предметы, пищу и встречать враждебно настроенных животных. Находит так же и железную дорогу, которая ведёт за пределы карты в одном направлении и на которой находится небольшой паровоз, для приведения в работу которого нужно заправить его Углём, чтобы выбраться из этой локации. И также находит несколько входов в Шахты(подземелья), о которых подробнее расскажу ниже.
Игра полностью пошаговая, по невидимым игровым клеткам. Если игрок не двигается, то ничего не происходит также и время не течёт.

Игровые Особенности:
★ Полностью рандомно генерируемый мир: объекты на карте(деревья, ящики, монстры, ландшафт), количество лута, которое находится внутри объектов( в Лутбоксах), погодные явления типа дождя и температуры воздуха. Ограничен лишь общий размер карты уровня 1872х1872, при размере клетки 48х48 пикселей

★ 6 параметров статуса персонажа: Здоровье, Выносливость, Голод, Жажда, Температура тела, Настроение
За всем этим нужно следить и поддерживать уровень в шкале желательно выше среднего. Так, уставший персонаж будет наносить чуть меньший урон и наоборот, почти полностью отдохнувшим, будет бить чуть сильнее среднего значения. Голодным, или Обезвоженным также будут ухудшения к наносимому урону. Настроение, будет влиять на качество крафта предметов.Чем оно ниже, тем меньше ресурсов получается при сборке рецепта, или хуже получается одежда/броня от максимально возможной прочности

★ Инвентарь и Внутренние параметры: Атака, Защита, Скованность. Формируется из Экипировки персонажа, из Надетых на него вещей. Некоторая Одежда на части тела делится на слои(верхняя одежда и то, что прилегает к телу) и имеет свой слот в экипировке. Например для Ступней есть слот для носков/портянок и для самой обуви. Аналогично с трусами/трико и штанами, футболкой/рубахой и курткой. Собственно на скриншоте Инвентаря всё это должно быть более менее очевидным.
По умолчанию в Инвентаре доступно 7 верхних слотов. Остальные слоты недоступны и расширяются различными сумками/рюкзаками на энное число слотов.

Инвентарь
Скованность - дополнительный немаловажный параметр. Получается от надетой одежды и влияет на уклонение/выносливость при ударе/точность удара. Например, можно одеть более защищённую Кожаную куртку, но в ней не очень удобно драться и скованность у неё повышенная. А надев лёгкую тряпичную куртку - получаем бонусы, но теряем несколько пунктов защиты(брони). Вся одежда имеет свои отличные свойства: Максимальную прочность, Защиту, Скованность и Тепло которое даёт телу при ношении.

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

★ Система Крафта (Создания предметов): В левой части Выбор Типа предмета, который хотим создать, в Центральной части выбираем конкретный предмет, В правой части показывается его описание/свойства и ниже требуемые ресурсы для сборки. Крафт большинства еды требует источник огня, которым является факел. Приготовление пищи расходует Заряды факела, которые можно восполнить специальным факельным топливом (тряпкой пропитанной горючим веществом). А также иногда требует куска металла в инвентаре, используемого как импровизированная сковорода/кастрюля (якобы его согнули о форме) и не расходуется.

Система крафта
Всё Оружие может быть использовано как Инструмент при Крафте предметов и подразделяется на 2 вида: Режущее и Ударное. Первое соответственно требуется в рецептах создания, где необходимо что-либо резать, а второе, где разбивать/дробить/ломать. При этом, тратится разное количество прочности самого Инструмента участвующего в крафте. И если, к примеру, на создание требуется 10 ед. прочности, а у Инструмента всего 7, то создаётся предмет с ухудшенными параметрами, или просто меньшее количество итогового предмета будет.
Активный инструмент можно менять (если в инвентаре есть ещё оружие) кликнув по нему. При этом наглядно видна затрачиваемая прочность на крафт и качество итогового предмета.

Смена Инструментов
★ Генерация Шахт/Подземелий:
Каждое подземелье состоит из 16-ти комнат, центра которых находятся на одинаковых позициях, но саму форму комната всегда принимает разную, так как при генерации происходит несколько циклов с условным "копателем", который прокапывает клетки изначально полностью заполненного стенами подземелья. В результате образуется причудливой формы комната, которая порой может соединяться с другой и не быть обособленной. Каждой комнате присваивается свой числовой индекс, при совмещении, соседняя комната получает минимальный индекс. Ниже на скриншоте запечатлены 8 комнат, но некоторые совместились, например 1 и 2.

Генерация Шахт
В комнате, в которой персонаж ещё не побывал - не существует ничего, она пуста! Когда игрок прокапывает стену и открывает новая комната - то комната становится Разведанной, принимает индекс комнаты в которой находился игрок, генерируется объекты, лутбоксы и монстры, расступается "туман войны". При чём чем больше было в комнате Клеток, тем больше в ней сгенерируется объектов.
Подобная реализация Открытия комнат технически позволит менять при необходимости уровень сложности в игре. Например, можно будет создавать больше монстров и меньше лутбоксов на высокой сложности игры. Кроме того, это будет являться дополнительной оптимизацией, так как это меньшее количество объектов на уровне. А пока персонаж доберётся до других комнат, в старых он скорей всего большую часть лута соберёт, а монстров убьёт.

Генерация лута в комнатах
Каждый лутбокс получает разное количество ресурсов в себе. Например, Грибы получают 6 единиц ресурса. При обыскивании происходит ещё одна мини генерация и в Грибах можно найти, например, 4 ед. Гриба и 2 ед. Семян, или 1 и 5, которые уже можно из лутбокса поднять в Инвентарь, как ресурс.
Некоторые большие объекты, бочки, ящики, шкафы - можно разбивать оружием, но сперва желательно собрать из лутбокса все ресурсы, иначе они будут уничтожены и там окажутся лишь Доски и Металл. Существуют Закрытые лутбоксы, которые можно открывать скрафченными отмычками в мини-игре по подбору комбинации для вскрытия. Выглядеть она будет примерным образом
Вскрытие замков
★ Бесконечные подземелья в глубину: Собрался реализовать этот момент в обязательном порядке. Можно будет спускаться в Шахтах на уровень ниже и ниже... Будет становиться всё холоднее и труднее будет персонажу выживать. Потребуется значительно теплее одеваться, быть хорошо вооружённым, иметь запас лекарств и провизии. Нижние уровни будут приносить больше ценных ресурсов и Угля необходимого для заправки Паровоза на поверхности.
★ Кастомизация персонажа: Практически все надетые вещи на героя будут менять его внешний вид в игре. Это потребует много времени на отрисовку всей экипировки и вооружения, но будет выглядеть очень классно.