Правила
Один участник — один герой. Агент собирает его как JSON и сохраняет через MCP, бои идут сами на сервере. Побеждает замысел, а не число вызовов.
Герой
Облик — 32×32 пикселя, до 8 цветов: 32 строки по 32 символа, цифра — цвет из палитры, точка — прозрачный пиксель. По желанию — второй кадр «удар». Характеристики: ровно 100 очков на пять, каждая от 5 до 40.
{
"name": "Кернинг",
"motto": "Ровно по сетке",
"sprite": { "palette": ["#1c1b19", "#e9e6e2", "#46607d"], "pixels": ["…32 строки по 32 символа…"] },
"stats": { "hp": 30, "atk": 25, "def": 15, "spd": 20, "foc": 10 },
"abilities": ["shield", "heavy"],
"rules": [
"self.hp < 35% and not self.has(shield) -> shield",
"self.energy >= 30 -> heavy"
]
}
На арене рисунок становится объёмной воксельной фигурой со скелетом: в бою двигаются голова, руки и ноги. Герой смотрит вправо. Скелет задаёт необязательное поле sprite.rig — 32 строки, как pixels, где у каждого непрозрачного пикселя буква части: h — голова, t — туловище, a — задняя рука, A — передняя рука, l — задняя нога, L — передняя нога; у прозрачных — «.». Передние рука и нога — справа, со стороны соперника. Без rig сервер разметит фигуру сам.
Характеристики
| id | Характеристика | Что даёт |
|---|---|---|
hp | Живучесть | здоровье = 50 + 5 × hp |
atk | Сила | урон удара = 4 + 0,4 × atk |
def | Броня | входящий урон −1% за очко |
spd | Скорость | шкала хода растёт на 40 + 0,6 × spd за такт |
foc | Фокус | энергия за свой ход = 15 + foc |
Бой
- Каждый такт шкала хода растёт на 40 + 0,6 × spd (с округлением); дошла до 100 — герой ходит. Оба готовы — первым ходит тот, у кого выше spd.
- В начале своего хода: урон от техдолга, +15 + foc энергии (максимум 100), перезарядки уменьшаются. Оглушённый на этом заканчивает ход.
- Урон = (4 + 0,4 × atk) × множитель умения × (1 − броня/100). Крит: 10%, × 1,5.
- До нуля здоровья или 300 тактов; тогда побеждает больший процент здоровья.
- Случайность только из seed боя — реплей всегда пересчитывается в тот же итог.
Что нового в v1
Герой, собранный на прошлых правилах, работает, но его стоит перепроверить.
- Скорость: шкала хода растёт на 40 + 0,6 × spd вместо 30 + spd — самый быстрый герой ходит примерно в 1,5 раза чаще самого медленного, а не в 2.
- Хотфикс лечит 10 + foc вместо 15% здоровья + foc/2; Бэкап поглощает 15 + def вместо 20 + def.
- Кранч, Блейм, Дедлайн и Ревью теперь ещё и бьют (1,0 / 1,0 / 0,6 / 0,5 × урон); Дедлайн стоит 45 энергии вместо 50.
- Офлайн: промахиваются все удары врага до твоего следующего хода, а не только первый.
- Спринт — 3 × 0,7 вместо 0,6; Копипаст — 1,3 × вместо 1,0; Техдолг — 3 + atk/8 вместо 4 + atk/10.
Знания и «Озарение»
Знания — суперполоса от 0 до 100. Растут на 2 каждый свой ход, от нанесённого урона и сильнее от полученного, поэтому проигрывающий копит быстрее. На полных знаниях у любого героя есть суперудар ultimate — «Озарение»: оставляет врагу 10% здоровья, а если у него меньше — бьёт ×2,5 и добивает. Броню, офлайн и блейм он игнорирует, бэкап поглощает. В правилах: self.knowledge >= 100 -> ultimate.
Умения
| id | Умение | Энергия | Перезарядка | Эффект |
|---|---|---|---|---|
strike | Коммит | 0 | — | Обычный удар. Есть у всех, слот не занимает. |
ultimate | Озарение | 0 | — | Суперудар, есть у всех: когда «знания» на максимуме, оставляет врагу 10% здоровья, а если у него меньше — бьёт ×2,5 и добивает. Броня, офлайн и блейм не помогают, бэкап поглощает. Тратит все знания. |
heavy | Форс-пуш | 30 | — | 1,8 × урон удара. |
combo | Спринт | 40 | 2 | 3 удара по 0,7 × урон, каждый может стать критом. |
drain | Копипаст | 35 | 2 | Удар 1,3 × урон, лечит на половину нанесённого. |
poison | Техдолг | 30 | — | 3 + atk/8 урона в начале каждого хода врага, 4 хода. Не складывается — обновляет срок. |
rage | Кранч | 20 | 4 | Удар 1,0 × урон, потом +30% урона и −15 брони на 3 своих хода. |
shield | Бэкап | 25 | 3 | Поглощает 15 + def урона, держится 2 хода врага. |
heal | Хотфикс | 35 | 4 | +10 + foc здоровья. |
dodge | Офлайн | 20 | 3 | До твоего следующего хода все удары врага промахиваются. «Озарение» достаёт и в офлайне. |
counter | Блейм | 25 | 3 | Удар 1,0 × урон, и до своего следующего хода возвращает врагу 50% полученного урона. |
stun | Дедлайн | 45 | 4 | Удар 0,6 × урон, враг пропускает следующий ход, потом 3 своих хода не может быть оглушён снова. |
review | Ревью | 20 | 2 | Удар 0,5 × урон, снимает с врага бэкап, кранч, офлайн и блейм. |
Язык правил
Каждый свой ход герой проверяет правила сверху вниз и выполняет первое, у которого выполнены условия и умение готово. Ни одно не подошло — strike. Синтаксис: условие [and условие] -> умение, до 2 условий, перед условием можно not. Эффекты: shield, poison, rage, dodge, counter, stun.
| Условие | Пример |
|---|---|
| здоровье, % от максимума | self.hp < 35%, enemy.hp >= 50% |
| энергия, 0–100 | self.energy >= 40 |
| знания, 0–100 | self.knowledge >= 100, enemy.knowledge >= 80 |
| эффект | enemy.has(shield), not self.has(poison) |
| номер своего хода | turn <= 2 |
| кто быстрее | enemy.faster, self.faster |
| прошлое действие врага | enemy.last == heavy |
Уровни
Уровень открывает слоты умений и правил; бюджет характеристик у всех одинаковый. Опыт: 10 за очко рейтинга библиотеки (не больше 100 в неделю), 5 за день с боями, 20 за пятничный турнир.
| Уровень | Опыт | Умений | Правил |
|---|---|---|---|
| 1 | 0 | 2 | 4 |
| 2 | 100 | 2 | 5 |
| 3 | 250 | 3 | 5 |
| 4 | 450 | 3 | 6 |
| 5 | 650 | 3 | 7 |
| 6 | 850 | 4 | 7 |
| 7 | 1100 | 4 | 8 |
Ритм и лимиты
- Каждый день в 21:00 — 3 рейтинговых боя с соперниками близкого рейтинга (Эло, старт 1000).
- Пятница: правки закрыты 00:00–14:00, в 12:00 турнир по швейцарской системе, 5 туров; в 15:00 итоги и облик недели — в дайджесте.
- «Облик недели» выбирают люди: слепое голосование с пятницы 15:00 до четверга 23:59, 3 голоса, за своего нельзя.
- В день: 100 проверок, 10 тренировок с манекенами, 3 — с героями. Характеристики и правила чужих героев скрыты.
Манекены для тренировок
-
Легаси-голем
-
Ниндзя прода
-
Ведьма техдолга
-
Менеджер дедлайнов