Процессинг
Это общее название всех пассивно происходящих процессов в Spice, вызываемых в автоматическом или полу-автоматическом режиме. Они сильно зависят от игровой платформы, куда вы используете Spice, для обычной текстовой игры они, обычно, не нужны.
Ежеминутный процессинг
Spice может работать самостоятельно, но куда круче, если работает вместе с экономическим фреймворком Zest. Для процессинга существует эндпоинт process, куда должна присылаться инфа об игроках. По текущему дизайну, оттуда ежеминутно приходят запрос на процессинг энтити, где для каждой энтити передается:
- Набор инструкций. Это массивный словарь функций с их аргументами, сами функции лежат в (
/integration/instructions.py), по сути это набор методов. Первым аргументом туда всегда передается энтити, а остальные - те, что находятся в value словаря. - Ее текущие координаты и дименшен (если ваш движок не поддерживает разные дименшены, передавайте один)
- То, с кем энтити говорила в игре в последнюю минуту.
Сам формат данных тут не рассматривается, но мы уточним, что происходит в этот момент:
- Исполняется каждая инструкция. Обычно это действия по восстановлению стамины/фокуса.
- Прочность каждого надетого предмета снижается на константу DURABILITY_PER_REQUEST из файла constants.py
- Насыщение снижается на значение SATURATION_PER_REQUEST из файла constants.py
- Менталка снижается на значение SANITY_PER_REQUEST из файла constants.py
Малый цикл
Делается каждые 15 минут, с каждым игроком происходят следующие действия:
- Все призванные вещи теряют длительность существования на 1.
- Все кулдауны снижаются на 1.
- Все энтити проходят полную переоценку собственных атрибутов, например, на восстановление частей тела.
- Все энтити восстанавливают ОД.
- Все кризисы, в которых нет участников, деактивируются.
Большой цикл
Происходит раз в неделю, с каждым игроком происходят две вещи:
- Дается один слух для выдачи подробнее о них.
- Наработанный опыт (curr_experience) снижается до 0.