Система готовки

Материал из Space Station 14 Вики

Автор оригинальной статьи - Mirrorcult

Перевёл: Myakot

Перевод от 20.06.2023

Готовка

Готовка в СС13 в большинстве своём была и есть ужасно скучна. Есть пара вспышек хорошего контента, но в основном, весь геймплей это "засунь в микроволновку, переработчик, а из неё вылезет что-то замечательное, что кринжовенько, ну правда.

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

Общая идея

Готовка в СС14 будет основан на следующих принципах:

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

Готовка должна быть основана на инструментах и технике под рукой, чтобы создать уникальные пути приготовления любого блюда.
Техника и инструменты должны быть интегрированы и с остальной игрой. К примеру печь или духовка должны просто нагревать предметы до какого-то уровня, а не быть шиткодом уровня "10 секунд в духовке = рецепт сменился, теперь у вас блюдо"
Примерный рецепт:

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

В то же время, модульная готовка позволит сделать точно такой же рецепт, но иначе:

Берёшь тесто и раскатываешь его огнетушителем
Кидаешь на поверхность теста огромное количество банановых кожурок, никакого соуса - просто поливаешь бананами тесто
Бросаешь пиццу в плазменный пожар, просишь друга-брата-атмоса достать её оттуда, когда она наполовину готова
У вас в руках Клувньцца

Рабочий инструмент

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

Ножи
Скалки
Сырные терки
Сито
Кастрюли, сковороды, камни для пиццы, тарелки и тд
Вилки, ложки

Также шеф может использовать различную технику:
Печи
Сковороды
Фритюры
Фризеры для мороженого
Миксеры
Тостеры
Блендеры
Любая другая специализированная техника

Часть идущая ниже ещё не одобрена всеми Визардами. Сверху - одобрено и пока что планируется так

Категории пищи

Очевидно, что большое количество рецептов можно объединить в какую-то одну группу или категорию, у которой одинаковый фундаментальный процесс производства, кроме некоторых деталей, вроде топингов, что позволят игроку поразвлечься с данной ему свободой в использовании ингредиентов и их порядке. Из всех текущих рецептов в игре, я вижу следующие категории:

Пицца=

Берёте шар теста, раскатываете скалкой или любым округлым предметом (огнетушитель). Так вы получаете "базу для пиццы".
Добавляете томатный соус, добавляете любые ингредиенты, в любом порядке.
Греете до 470К.
Когда температура достигнута - игра подберёт имя для пиццы (секция Названия, ниже)
Порежьте пиццу ножом или спец ножом для пиццы
Теперь кусочки пиццы можно скушать один за одним
Визуализация Каждый ингредиент должен создавать новый слой поверх спрайта предыдущего.
После нагрева, слой должен поменять свой спрайт, если это подходит (томатный соус должен потемнеть, сыр растаять, мясо потемнеть).

Бургеры

Положите или возьмите в руку булочку, теперь это "база бургера".
Добавьте ингредиенты в любом порядке. Ингредиенты будут ограничены тем, что можно будет добавлять только "готовые" продукты. Никакого сырого мяса, только готовые к употреблению бургеры.
Добавьте другую булочку сверху
Игра даёт название для бургера
Бургер теперь можно кушать
Визуализация
Каждый добавленный ингредиент добавляет слой. В отличие от пиццы, бургеры должны увеличиваться в высоту с каждым ингредиентом, так можно будет сделать высоченные бургеры.

Кебабы, шашлычки

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

Салаты

Берёте чашку... Этот процесс не завершён автором.
Визуализация Каждый ингредиент должен визуально отображаться в миске салата, однако в отличие от примеров выше - должно быть так, что хрен поймёшь что там вообще находится. Нет ни малейшей идеи как это сделать.

Супы

Берёшь кастрюлю, туда воду, туда любые ингредиенты в любом порядке.
Подогрел воду в кастрюле до кипящей (373к)
Температура достигнута - игра даёт название твоему творению. Может показываться как "Кастрюля Х супа".
Переливаешь суп в чашку, теперь чашка зовётся "Чашка Х супа".
Хлебаешь суп из чашек.
Визуализация
Не показывать каждый ингредиент отдельно, а, возможно, показывать одну цветовую субстанцию, зависящую от цвета ингредиентов.
=====Торты=====
Не сделано
... Далее идут ещё группы, но вы поняли смысл. Далее идут пироги, панкейки, вафли, печенье, хлеб, спагетти.

Названия

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

Очень важно хорошо подумать над именами для блюд, чтобы свобода в выборе ингредиентов реально влияла на РП процесс, а также придавала желания экспериментировать.

=Специализированные рецепты

В то время как иметь свободу творить какую угодно ересь с едой это хорошо, так же хочется и иметь возможность готовить старые - чёткие рецепты. К примеру, вы должны иметь возможность приготовить "420 марихуанна-сити" пиццу, используя общий рецепт пиццы, однако используя ингредиенты из конкретного рецепта. В результате, если все шаги были соблюдены, то название пиццы остаётся уникальным, конкретно этим рецептом (а не сгенерированным), спрайт также остаётся фиксированным.

Еда вне категорий

Еда вне категорий дальше будет оставаться в варианте "шиткод" рецептов. С этими рецептами у игрока нет свободы в действиях и добавлении ингредиентов, но всё ещё должна оставаться возможность как угодно подогреть еду и воспользоваться каким угодно инструментом, чтобы завершить рецепт.
====Опасения====

Спрайты

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