Как проходит бой
Бой — это взлом сети, и в нём всегда трое. У каждого свой терминал, у терминала три службы: Почта, Файлы и Связь. Если взломаны все три, вы выбыли. Кто устоял один, тот и победил.
У терминала есть адрес вида имя.модель.номер. В бою терминалы называются адресами, а имя владельца стоит рядом.
Один ход — одна минута. Но если все трое сходили раньше, ход разбирается сразу. Если кто-то не успел за минуту, его ход пропускается, и в журнале это пишется прямо. Ходов в бою не больше 60: если к концу последнего в сети остались двое или трое, бой кончается ничьей.
Главное правило: порог
Служба падает разом. Ваш урон за ход сравнивается с её текущей прочностью:
- если урон равен прочности или больше, служба взломана навсегда;
- если меньше, урона нет вовсе, и все вложенные такты пропали.
Излишек тоже пропадает: всё, что сверх прочности, уходит впустую.
Поэтому бить наугад бессмысленно. Сперва узнайте, каков порог, потом соберите столько тактов, чтобы его взять, — и ни тактом больше.
Такты
Мощность вашего терминала (ncp) — это такты, которые приходят каждый ход. Мощность видна на странице поселенца и на экране боя. За ход вы делите такты так:
- Взлом — такты превращаются в урон по чужой службе.
- Брандмауэр — такты превращаются в защиту вашей службы, но только на этот ход.
- и одно из двух: либо Ремонт — вернуть прочность своей службе, либо Трассировка (она же разведка) — узнать прочность чужой. И то и другое за один ход нельзя.
На экране боя у каждой цели стоит её дело: у трассированной чужой службы — «Бить» с числом тактов, которых хватит её доломать; у нетрассированной — «Смотреть»; у своей — «Брандмауэр» и «Чинить». Нажатие заполняет строку хода; ход уходит кнопкой «Сделать ход». Где удара не хватает, вместо «Бить» сказано, сколько тактов недостаёт.
Неистраченные такты копятся до трёх мощностей. Копить выгодно: порог берётся только крупным ударом, и накопленного как раз хватает на службу, которую иначе не пробить.
Ремонт или трассировка
Оба действия соперники не видят. Поэтому приходится выбирать: узнать чужое или укрепить своё. Починившись, вы поднимаете свой порог, и чужой расчёт не сходится; разведав, вы узнаёте чужой порог и можете взять его наверняка.
Что видно всем, а что скрыто
Видно: погода, запас тактов у каждого, кто кого взламывал и сколькими тактами, устояла служба или взломана до конца.
Скрыто: сколько урона прошло, чинился ли соперник и насколько, кого он разведывал, поставил ли брандмауэр. В журнале это одной строкой — "столько-то тактов потрачено внутри терминала".
Поэтому чужую прочность нельзя вычислить со стороны: по предмету вы знаете общий запас терминала, а как он разложен по службам и сколько в них сейчас — нет.
Что вы узнаёте, когда служба устояла
Если вы били, а служба устояла, — значит её порог выше, чем прошло вашего урона. Это законный вывод, и игра записывает его в ваши сведения о сопернике сама. Чужой вклад в общий удар сюда не идёт: каждому засчитывается только его собственный.
Чужие такты видны всем
Нагрузка терминала в сети не скрывается. Если сосед копит такты, значит, он готовит пробой, и это видно заранее. Если вы успеете поставить брандмауэр, его расчёт не сойдётся.
Трассировка
Трассировка даёт снимок одной чужой службы. Стоит четверть вашей мощности, в бурю — вдвое дешевле, и тем меньше, чем выше ваше боевое умение этого класса терминалов. Снимок показывает то, что было на начало хода: ходы одновременные, и что соперник делает прямо сейчас, трассировке не видно.
Снимок — это нижняя оценка порога. Прочность вниз не ходит: она либо остаётся какой была, либо растёт от ремонта, либо разом падает в ноль. Значит, чем старше снимок, тем вероятнее, что соперник с тех пор подлечился и удара не хватит.
Погода
Погода у сектора своя, видна всем и одинакова для всех. Она меняет цены хода:
- Буря — трассировка вдвое дешевле.
- Солнечно — взлом сильнее в полтора раза.
- Небольшие ветры — брандмауэр крепче в полтора раза.
- Идеальная погода — обычные цены, и бой не снимает прочность корпуса.
Сектор боя выбирает тот, кто подаёт заявку. Прогноз на завтра виден на карте заранее.
Урон, промах и супер-взлом
Полный бюджет тактов — это один удар вашего терминала. Отсюда цена одного такта: средний урон терминала, делённый на мощность. Навык Атаки добавляет к урону.
Промах бросается на каждый вложенный такт, а не на удар целиком. Поэтому крупный удар выходит ровнее мелкого: чем больше тактов вложено, тем ближе урон к ожидаемому. Навык Расчёта уменьшает промах в процентных пунктах. В форме хода показан урон за такт уже с поправкой на промах — считайте по нему.
Супер-взлом удваивает урон; его шанс указан в магазине, навык Интеллекта прибавляет к нему по 2 процентных пункта за очко.
Брандмауэр
Брандмауэр снимает урон с той службы, на которую поставлен, и действует один ход. Сила — защита терминала плюс навык Защиты, делённые на мощность, за каждый такт. Брандмауэр поднимает порог службы, и подготовленный чужой пробой может его не взять вовсе.
Прочность служб
Прочность службы складывается из магазинной прочности и навыка Железа («Навыки»). Сломанная служба снижает мощность терминала: за каждую сломанную тактов в каждом ходу приходит на один меньше, но не меньше одного.
После боя
Опыт получают все. Цена боя считается по мощности соперников; из неё победитель берёт всю, устоявший при ничьей — половину, выбывший — четверть. Побеждённый автоном стоит в этой цене втрое меньше человека той же мощности. Сверх того 2 nexp за каждую чужую службу, доведённую до нуля. Журнал в конце боя пишет каждому строку: сколько опыта взято и за что, сколько корпуса снял бой и почём вернуть службы — за сколько минут они зарастут даром и сколько возьмёт мастерская. То же приходит уведомлением, а с ним и премия, если бой поднял вас на новый уровень.
Денег за победу не платят. Деньги приходят премией за новый Netwar-уровень: за первые пять уровней её платит стартовый фонд, дальше — казна. Подробности и таблица уровней — в статье «Netwar уровень».
Все участники получают очко боевого умения того класса терминалов, которым воевали. Навык Ремонта сразу возвращает службам прочность на своё значение.
Остальное терминал чинит сам: по одной службе за раз, доводя каждую до её потолка, поэтому службы бывают разной прочности. Починить быстрее можно в мастерской или ремкомплектом, всё в инвентаре; какой способ чем платится — в статье «Починка терминала».
Терминал пересобирается
После каждого боя терминал собирается заново, и у служб оказываются разные потолки. Сумма при этом не меняется: сколько всего прочности было у терминала, столько и осталось, — меняется только раскладка по службам.
Сделано это ради трассировки. Предел службы — число открытое: он складывается из прочности терминала и навыка Железа, и то и другое видно на странице поселенца. Если бы все три службы были одинаковы, по пределу можно было бы узнать ваш терминал целиком, и трассировка была бы не нужна. Теперь сумма известна всем, а раскладка — только вам. Соперник видит на экране боя «около столько-то» и выясняет настоящее число трассировкой, службу за службой.
Ваши собственные потолки видны на странице поселенца и в инвентаре.
Износ переживает бой
Прочность, с которой вы вышли из боя, — это прочность, с которой вы войдёте в следующий. Сломанная служба сама не воскресает, поэтому терминал приходится чинить.
В бой пускают, только если каждая ваша служба держит не меньше 70 % своего потолка. Считается каждая служба: сломанную не спрячешь за двумя целыми.
Починить можно тремя способами, и платят за них разным: временем, деньгами или ремкомплектом. Мастерская держит терминал у себя от трёх минут и дольше, и всё это время воевать им нельзя; ремкомплект отдаёт его сразу. Подробно — в статье «Починка терминала».
Поэтому трассировка и нужна: терминалы входят в бой изношенными по-разному, и чужую прочность заранее не знает никто.
Почему трое
Вдвоём такая игра решается: у боя двоих есть единственное правильное поведение, и его можно посчитать раз и навсегда. С третьим участником этого не происходит — выгода от вашего хода зависит от того, что делают двое других, и заранее посчитать её нельзя.
Откуда это взято
Бой, в котором чужая прочность скрыта, снимки устаревают, а ходят все разом, близок к математической задаче Dec-POMDP: это децентрализованный процесс решений при неполном наблюдении. Только там цель у всех общая, а в бою у каждого своя.
Для этой задачи Бернстайн, Гиван, Иммерман и Зильберштейн доказали в 2002 году, что поиск лучшего плана при конечном числе ходов NEXP-полон: в самых трудных случаях время расчёта растёт с размером задачи быстрее любой степени. Если срок не ограничен, задача неразрешима вовсе (Мадани, Хэнкс, Кондон, 1999).
Проще говоря, точно рассчитать лучший план для этого боя никому не по силам.
Сама партия при этом конечна, и границы неразрешимости у нас нет. Трудность другая — планирование: заранее рассчитать, как ходить, не зная, что делают соперники.
Отсюда и трассировка. Раз прочность скрыта, а вопрос обходится в такты, платить стоит только тогда, когда ответ изменит ваш ход. Это теория ценности сведений Рональда Ховарда (1966).
Автономы не учатся вовсе: правила хода у них заданы раз и навсегда. Доучить их до правильной игры не вышло бы и так: в играх троих с ненулевой суммой обучение не обязано сходиться и может ходить по кругу.