Auf dieser Seite
Главное за 30 секунд
- OPBE — Open Battle Engine, форк OGame с улучшениями
- Бой идёт максимум 10 раундов, потом ничья
- Щиты регенерируются между раундами
- Hit-Ship Limitation (HSL) — защита от overkill transfer
- Defense repair 50–70% — часть защиты восстанавливается после боя
Четыре блока боевой механики
Боевой движок Xterium называется OPBE (Open Battle Engine). Это улучшенная версия OGame combat engine с собственными доработками — HSL (Hit-Ship Limitation), deterministic resolution, defense repair.
Каждый раунд состоит из четырёх взаимосвязанных вычислений:
| Блок | Формула | Назначение |
|---|---|---|
| Damage per shot | damage × shots | Базовый урон одного корабля за раунд |
| Shield absorption | cells × cellValue | Сколько щит блокирует |
| Hit-Ship Limitation | life × hit / count | Защита от overkill transfer |
| Defense repair | random(50%–70%) | Восстановление защиты после боя |
Бой идёт до 10 раундов. Если за 10 раундов никто не победил — ничья. Все вычисления сервер-side детерминистичны (RNG только в обломках и ремонте защиты), без явного seed-orchestration.
Числовой пример
Линкор атакует ракетную башню:
- damage_per_shot = 1000 (с учётом оружейной тех. 10)
- shots = 7 (стандарт для линкора)
- shieldCellValue = 20 (типичная башня)
- currentCells = 200 (полный щит)
Расчёт:
- pureDamage = 1000 × 7 = 7000
- cellsDestroyed = ceil(1000 / 20) = 50
- absorbed = min(350, 200) × 20 = 4000 (щит выдержал часть)
- hullDamage = 7000 − 4000 = 3000
Если у башни было 4500 hitpoints — она потеряла 3000, остаётся 1500. Если линкор стреляет ещё раз в следующем раунде — добивает.
Почему мой большой флот проиграл маленькой защите?
Возможно сработал HSL — твои тяжёлые корабли переносили урон на цели, которых уже не было «в их прицеле». Плюс defense repair восстанавливает 50-70% защиты после каждой попытки. Большая защита + малый флот = много раундов = много repair = ты потерял всё.
Можно ли отключить HSL?
Нет — это серверная константа. Только админ вселенной может изменить. На большинстве вселенных Xterium HSL включён по умолчанию.
Что такое «бой до ничьей»?
10 раундов прошло, ни одна сторона не уничтожена → ничья. Атакующий улетает без loot, защитник без debris. Бывает при примерно равных силах.
RNG в бою есть?
В damage/shield — нет (детерминизм). В обломках — нет (фикс 50%). В defense repair — ДА (50-70% независимо по каждой единице). Поэтому одинаковая атака на одну планету дважды может дать разный результат после repair-фазы.
Для технически подкованных
Точные формулы из модуля OPBE. Игроку достаточно: «бои идут пошагово, щиты регенерируются, защита иногда восстанавливается».
Блок 1 — Damage:
pureDamage = damage_per_shot × shots
absorbed = min(cellsDestroyed, currentCells) × shieldCellValue
hullDamage = max(0, min(pureDamage − absorbed − bounced, maxHullOnHitShips))
Блок 2 — Hit-Ship Limitation (HSL):
maxHullOnHitShips = fighters.life × max(0, hitShips) / max(1, fighters.count)
HSL — главное отличие OPBE от классического OGame. Без HSL один деатструктор мог бы «убить» 1000 истребителей одним выстрелом за счёт переноса урона. С HSL — деатструктор убивает только пропорционально тому сколько истребителей он реально достал. Активна, когда в конфиге боевых констант вселенной включён флаг ограничения попаданий по одному кораблю.
Блок 3 — Defense Repair (post-battle, RNG): защита id > 400 может «восстановиться» с вероятностью 50–70%. RNG ролл по каждой единице защиты отдельно.
Краткая справка для цитирования
Источник: модуль OPBE (Open Battle Engine) движка Xterium. Точные константы: damage_per_shot, shield cells, HSL active, defense repair 50–70%, max 10 rounds. Применимость: серверы Xterium REV 207+.