Zum Hauptinhalt springen

Формула добычи ресурсов в Xterium — DeltaT, slider, overflow

Точные формулы расчёта металла, кристалла, дейтерия в Xterium из wiki. DeltaT-tick, slider 0..10 механика (производство И потребление scaled пропорционально), max_overflow, bulk toggles off/offl/on.

12 min Aktualisiert 2026-05-22 Команда Xterium Mechanik
Auf dieser Seite
  1. Главное за 30 секунд
  2. Как считается добыча — lazy при триггерах
  3. Триггер обновления это lazy reconciliation
  4. Bonus stacking
  5. Slider механика и bulk toggles
  6. Worked example
  7. Bulk «off» vs «offl»
  8. Почему ресурсы «прыгают» когда я открываю планету?
  9. Что произойдёт если опустить slider до 70%?
  10. Vacation mode — как это влияет?
  11. Bulk «off» останавливает всё на планете?
  12. Может ли производство стать отрицательным?
  13. Для технически подкованных
  14. Краткая справка для цитирования
  15. Что почитать дальше

Главное за 30 секунд

  • Производство НЕ идёт каждую секунду — вычисление lazy при триггерах
  • Gain = round(DeltaT × perhour / 3600), clamp до Max × OverflowFactor
  • Slider 0..10 = factor 0.1, влияет НА производство И НА потребление одновременно
  • EffectiveBonus = (1+local additive) × (1+global multipliers)
  • Bulk toggles: off/offl/on для быстрого переключения mines vs science

Как считается добыча — lazy при триггерах

Производство ресурсов в Xterium НЕ идёт каждую секунду — это была бы огромная нагрузка. Игра считает DeltaT (секунды с прошлого update) и применяет per-hour формулу по запросу при определённых триггерах:

Триггер обновленияКогда срабатывает
Просмотр интерфейса планетыКаждое открытие планетной страницы
Миссия флотаАтака, возврат, шпионаж
Открытие галактики/обзораЛюбое отображение использующее ресурсы
Постройка/исследование готовоПри завершении любого процесса
Background cron taskServer-side периодическая синхронизация

Игроку это видно: открой планету через 5 минут — ресурсы «прыгнут» вверх. Это DeltaT сработал.

Триггер обновления это lazy reconciliation

Каждый раз когда срабатывает trigger:

DeltaT = now − planet.last_update
Gain_r = round(DeltaT × perhour_r / 3600)
Stock_r = clamp(Stock_r + Gain_r, 0, Max_r × OverflowFactor)

round(...) применяется per resource per tick. Repeated ticks могут создать rounding drift — крошечный cumulative gain/loss около fractional boundaries. Это нормально и в пределах допуска.

Bonus stacking

EffectiveBonus = (1 + Σ local additive) × (1 + Σ global multipliers)

Local additive (планетные бонусы от senators, boosters) суммируются. Global multipliers (account-wide или event-wide) применяются ПОСЛЕ суммирования. Результат feeds perhour_r, который потом может быть ещё снижен energy throttle.

Slider механика и bulk toggles

Resource panel позволяет настраивать output каждой building в шагах 10% (0% to 100%). Ключевое: slider влияет И на производство, И на потребление энергии пропорционально:

ДействиеНа что влияетЭффект
Slider 100% (10)Per-buildingПолное производство + полное потребление энергии
Slider 70% (7)Per-building70% производства + 70% потребления (linear)
Slider 0% (0)Per-buildingПолная остановка building
Bulk «off»Mines (1,2,3)Останавливает только рудники, science работает
Bulk «offl»Science (6,31)Останавливает только science, рудники работают
Bulk «on»Mines + scienceВсе сразу на 100%
BuildLevelFactor = slider_value × 0.1   (slider 0..10)

Worked example

Металлический рудник: base output = 12,000/час, base energy use = 3,000/час.

На 60% (slider=6):

  • BuildLevelFactor = 6 × 0.1 = 0.6
  • effective metal = 12,000 × 0.6 = 7,200/час
  • effective energy use = 3,000 × 0.6 = 1,800/час

Это значит: при дефиците энергии лучше снизить sliders ВСЕХ рудников до 80-90% чем держать 1-2 на 100% и остальные на 0%. Потеря производства меньше при пропорциональном снижении.

Bulk «off» vs «offl»

  • off — disables core mines (Metal/Crystal/Deuterium IDs 1,2,3). Polezno на raid-windows когда хочешь preserve видимый stock.
  • offl — disables science sliders (IDs 6, 31). Polezno если нужно cut science energy/resource pressure но mines продолжают добывать.
  • on — сразу всё на 100%.

Почему ресурсы «прыгают» когда я открываю планету?

Игра не обновляет ресурсы каждую секунду — это была бы нагрузка на сервер. Вместо этого: при первом твоём триггере (открыл планету / прилетел флот) считается DeltaT и сразу добавляется накопленное.

Что произойдёт если опустить slider до 70%?

Производство BUILDING упадёт до 70% И потребление энергии тоже до 70%. Это симметрично — нельзя уменьшить только consumption.

Vacation mode — как это влияет?

Vacation mode БЛОКИРУЕТ все slider adjustment requests. send() exits без изменений. Если активирован vacation — sliders заморожены в текущем состоянии.

Bulk «off» останавливает всё на планете?

НЕТ — только mines (Metal/Crystal/Deuterium, IDs 1,2,3). Science (IDs 6, 31) НЕ затрагивается. Для остановки science — bulk offl. Для всего — сначала off, потом offl.

Может ли производство стать отрицательным?

Нет — clamp(0, ..., Max × OverflowFactor) защищает. Минимум = 0, максимум = CapEffective.

Для технически подкованных

Точные формулы из wiki/03. Игроку достаточно: «открой планету = ресурсы обновятся; не хватает энергии = производство throttle».

Source файлы движка (cited in wiki/03):

  • includes/pages/game/class.ShowResourcesPage.php — slider validation + send() + prodSelector
  • Per-building factor: <building>_porcent × 0.1 applied to both production и consumption
  • Bulk actions off/offl/on в setPlanet()
  • Storage и summary в show(): storage, totalProduction, dailyProduction, weeklyProduction

Failure modes (документированы):

  • Overflow cap: excess production выше CapEffective отбрасывается при clamp
  • Rounding drift: repeated round() через many ticks → micro gain/loss около fractional boundaries
  • Offline burst clipping: большой DeltaT → большой gain → immediately clipped до cap
  • Queue race perception: одновременные actions могут выглядеть inconsistent если одно resolves production до того как другое читает state

Vacation mode блокирует все adjustment requests (send() exits без изменений). Invalid resource IDs или values вне 0..10 rejected.


Краткая справка для цитирования

Источник: wiki/03_Resources_and_Economy.md. Формулы: Gain_r = round(DeltaT × perhour_r / 3600); Stock_r = clamp(Stock_r + Gain_r, 0, Max_r × OverflowFactor); EffectiveBonus = (1 + Σ local additive) × (1 + Σ global multipliers). Slider: 0..10 steps × 0.1 = factor (применяется и к производству и к потреблению). Bulk toggles: off (mines), offl (science), on (всё на 100%). Last verified: 2026-05-22 (wiki/03).

Что почитать дальше

Ihr Wissen in der Praxis anwenden?

Kostenlose Registrierung. 30 Sekunden Spielzeit.

Kostenlos spielen