A. Назначение, человеческий образ и границы проекта
- A01 · SPEC
Practice-бот для Duel, рабочие имена PzyZ0r-bot / Psyz0r_bot; каноническое имя проекта — Psyz0r_bot.
- A02 · SPEC
Не отдельная нейросеть: скриптовая система решений, параметры, статистика и примеры из демок.
- A03 · SPEC
Имитировать осмысленные человеческие действия, характер, колебания формы и ошибки; не имитировать слабость зависанием, вращением или стрельбой в пустоту.
- A04 · SPEC
Бот должен оставаться обходимым: может смотреть не туда, неверно ждать из угла, пропустить тихий обход или атаку в спину.
- A05 · SPEC
Человеческое восприятие отделено от разрешённых observer-таймеров и точного стека соперника. Эти привилегированные данные не дают скрытые координаты или будущий spawn.
- A06 · SPEC
Все уровни используют реальные HP, armor, ammo, размеры модели, урон, скорость и физику.
- A07 · SPEC
Центральный результат — качество дуэли и обучение игрока, а не обязательный равный счёт или заданная длительность 0:0.
- A08 · SPEC
Возможны длительные «игры до фрага», когда оба около пяти минут разменяются и восстанавливаются; это возникает из дистанции и риска, а не из запрета убивать.
- A09 · SPEC
Бот может сделать серию после ключевой ошибки соперника, например превратить долгое 0:0 в 5:0.
- A10 · PAUSED
Серверный MMR и рейтинг отложены; текущая задача — тренировка.
- A11 · SPEC
Первый целевой набор карт — Blood Run/ZTN, затем ещё две карты владельца; архитектура должна оставаться расширяемой.
- A12 · SPEC
Текущий приоритет — максимально жёсткий тестовый профиль; пропуски ресурсов, застревания и промахи по стоящей цели не оправдывать человеческими ошибками или адаптацией.
- A13 · SPEC
Усиление прежде всего через маршруты, контроль, оружие, позиции и добивание. Согласованную точность не повышать молча; результат сравнивать с реальным Xaero skill 5 серией матчей.
- A14 · SPEC
Новая серия до альфы должна сохранять силу штатного Xaero 5. Общие attack/aim/view нельзя незаметно ослаблять вместе с human accuracy; профиль и дополнительные ошибки документируются отдельно.
B. Основы Duel и формальный контекст матча
- B01 · SPEC
Duel — 1v1; правила времени, fraglimit, overtime и окончания всегда читаются из фактической factory/config, а не зашиваются универсально.
- B02 · SPEC
Различать разминку, countdown, активный матч, паузу, overtime и завершение.
- B03 · SPEC
Различать победу, текущее лидерство, контроль карты и доминирование. Один показатель не заменяет остальные.
- B04 · SPEC
Смерть от мира/self-kill меняет счёт по правилам сервера; отрицательный счёт допустим.
- B05 · SPEC
При лидерстве и малом остатке времени уменьшать неоправданный риск, сохраняя возможность очевидного добивания.
- B06 · SPEC
При отставании сопоставлять оставшееся время с длительностью восстановления, маршрута и атаки; иногда оправдан повышенный риск.
- B07 · SPEC
В overtime играть осторожнее: безопасные ресурсы, выгодный размен, выживание; не считать любой overtime правилом «до следующего фрага».
- B08 · SPEC
Смена карты/матча очищает несовместимую память; пауза не расходует игровые окна.
- B09 · SPEC
Формальный результат и причина завершения нужны для адаптации сложности и предложения реванша.
- B10 · DATA
Философия Duel: десять минут концентрации, борьба нервов и характеров; макро похоже на шахматы, непосредственная стычка — на бокс.
- B11 · DATA
Опытные игроки большую часть времени приблизительно понимают положение соперника по маршрутам, звуку и ресурсам; это не разрешает точный hidden tracking.
- B12 · DATA
Высокий порог входа: движение, стрельба, оружие, тайминги, респауны и несколько глубоко изученных карт.
C. Восприятие, звук, память и честная информация
- C01 · SPEC
Бот без WH. Точное положение соперника допустимо только при видимости или достоверном событии.
- C02 · SPEC
Использовать LOS, звук шагов/прыжков/оружия/подбора, недавнее направление, вероятные маршруты и исчезающую память.
- C03 · SPEC
Уверенность в прогнозе должна убывать со временем и при наличии развилок.
- C04 · SPEC
Бот умеет слушать этажи и проходы из отмеченных позиций, но может неверно определить маршрут.
- C05 · SPEC
Остановка владельца на 5–10 секунд создаёт кандидата listen/hide/escape/ambush; роль подтверждается меткой, а не выводится из одной неподвижности.
- C06 · SPEC
После обнаружения или выстрела из засады менять позицию; не стоять вечным идеальным кемпером.
- C07 · SPEC
Разрешён observer-authorized таймер предмета, но не координаты живого соперника.
- C08 · PARTIAL
Собственный стек и точный стек соперника читаются серверным модулем; использование чужого стека в полной макрологике ещё не завершено.
- C09 · SPEC
Не быть всегда лицом к сопернику; сохранять ограниченный поворот, реакцию и возможность неожиданного контакта.
- C10 · SPEC
Логи обязаны указывать источник знания: visible, heard, pickup, timer, predicted, unknown.
D. Знание карты, AAS, маршруты и позиции
- D01 · LIVE
Штатный QL botlib/AAS остаётся базой жизненного цикла и навигации.
- D02 · PARTIAL
На Blood Run подключены 257 демонстрационных подходов к 22 назначениям; не все проверены, есть неудачные маршруты.
- D03 · LIVE
При провале demo-route бот временно запрещает его, повторяет цель штатным AAS и затем освобождает застрявшую цель.
- D04 · SPEC
Маршрут выбирается по предмету, времени, стеку, набору оружия, контролю, риску и противодействию.
- D05 · SPEC
Отделить перемещение к ресурсу от движения в бою; маршрутная распрыжка не должна вмешиваться в боевой эпизод.
- D06 · SPEC
Из демок извлекать быстрые и безопасные пути, повороты, вертикальные переходы, телепорты, точки отхода и альтернативы.
- D07 · SPEC
На ZTN отдельно проверить достижение красного через телепорт, RJ, long jump и plasma climb. Вход в верхний телепорт часто штрафуется и не всегда выгоден.
- D08 · SPEC
Карта должна содержать позиции прослушивания, крысинга, безопасного штрафа, приёма погони, спама и выхода.
- D09 · SPEC
Бот может исследовать карту в офлайн/тестовом режиме, но найденный путь становится игровым только после проверки достижимости и пользы.
- D10 · SPEC
Техническое застревание, AFK у доступного предмета и бесконечное повторение провального пути запрещены на любой сложности.
- D11 · PAUSED
Полное автоматическое построение оптимального графа всех карт отложено до завершения Blood Run.
- D12 · PARTIAL
В 0.7.4 неподвижность в пределах 8 units за 1,5 с вне боя/ожидания передаёт demo-route в AAS; повторный провал освобождает цель. Есть smoke-наблюдение, все застревания не устранены.
- D13 · PARTIAL
Временный nav-ban красного учитывается дебютом; при отказе сбрасывается watchdog, чтобы не повторять уже просроченный путь.
- D14 · LOCAL
Близость до 48 units к предмету без реального подбора не сбрасывает watchdog. Ожидание spawn допустимо лишь до 96 units от цели и с действующим таймером.
- D15 · SPEC
Оптимальность маршрута проверяется по фактическому времени пути, подбору, полученному урону и возможности выхода; кратчайшее геометрическое расстояние не равно лучшему решению.
- D16 · DATA
В новой аналитике смерть, смена POV, разрыв >100мс и скачок позиции >128u обрывают локальные окна. Ресурсные цепочки не склеиваются через недоказанный переход/респаун; teleport-разрывы поэтому дают консервативную неполную выборку.
- D17 · PARTIAL
0.7.8 добавляет независимый от смены целей сторож реального перемещения на каждом think. Остановка в радиусе 32u от 1.8с запускает ограниченный 3с возврат движения штатному AAS; цель и плохой demo-route получают cooldown. Вечный огонь имеет конечный бюджет паузы.
- D18 · PARTIAL
Управляемый бот определяется по bot flag и имени, а не по слоту 0. Человек в нулевом слоте не получает надстройки и его подборы не записываются как подборы Psyz0r.
- D19 · PARTIAL
0.7.9 отслеживает реальное перемещение и при target=-1, если штатный AI выдаёт forward/right. Мёртвый бот, свой RJ и неподвижность без цели и команды движения не запускают этот сторож. Сброс цели не равен гарантированному выходу из угла.
- D20 · PARTIAL
PSYZ_NAV 0.7.9 записывает forward/right/up/buttons, цель, маршрут, броню и escape. Скорость ps без изменения координат не доказывает движение. Старые неподвижные эпизоды без команд остаются кандидатами, а не автоматически ошибками навигации.
E. Движение, распрыжка и триксы
- E01 · PARTIAL
Есть ограниченный route strafe-start и два первых прыжка; выигрыш скорости и устойчивость по всем маршрутам ещё не доказаны.
- E02 · SPEC
Последовательность: обычный бег → prestrafe/circle jump → single beat → half beat/переходы → RJ → plasma jump → plasma climb → триксы карты.
- E03 · SPEC
Первый прыжок после остановки включает наземный разгон, согласованный поворот мышью и направление WASD; второй продолжает набор скорости.
- E04 · SPEC
Стрейф и угол взгляда меняются по скорости и направлению; прыжок не должен быть механическим спамом пробела.
- E05 · SPEC
Выбирать бег, тихий шаг, остановку и прыжок по цели, опасности, шуму и стеку.
- E06 · LIVE
Новые прыжки подавляются в ближнем/среднем боевом эпизоде; существующий полёт не переписывается.
- E07 · SPEC
В ближнем и среднем RL/LG бою основа — непредсказуемые наземные стрейфы, короткая остановка и резкий длинный стрейф. Постоянные прыжки запрещены.
- E08 · SPEC
Прыжок в бою допустим как редкое позиционное исключение, например дальний rail pixel-shot; исключение подтверждается контекстом.
- E09 · LIVE
Crouch запрещён по умолчанию.
- E10 · SPEC
Будущие исключения crouch: конкретный jump-pad сценарий и LG с highground за укрытием; оба требуют геометрической проверки и отдельного whitelist.
- E11 · LIVE
RJ sample 0 автоматически разрешён; подтверждены подъём и подбор на сервере.
- E12 · DATA
16 исходных успешных RJ владельца; короткий sweep дал единичные успешные повторы samples 1,2,3,6,9,10,11,15, но этого недостаточно для авторазрешения.
- E13 · LOCAL/DATA
Исполнитель умеет задавать оружие, число импульсов и интервал; plasma climb из demo 10774 хранит три plasma-shot через ~100 мс.
- E14 · SPEC
Успешный RJ: стал выше либо сразу/до 1.5 секунды взял полезный предмет/оружие; не вернулся на прежнюю/нижнюю точку.
- E15 · SPEC
Для красного plasma/RJ-кандидат связывается с self-damage, вертикальным импульсом и подбором в пределах 0–3 секунд; POV не всегда доказывает владельца damage.
- E16 · SPEC
Оптимизировать успех, время, точность приземления и реальную потерю HP/armor; никаких отмен self-damage.
- E17 · SPEC
При стеке около 200/200 допустим более агрессивный RJ для погони; при восстановлении лишний self-damage запрещён.
- E18 · PARTIAL
В 0.7.4 исправлен знак W+rightmove/yaw; первый прыжок после разгона до 350 UPS либо ограниченного ожидания. Логируются первые 2–3 прыжка и peak4s; достижение эталона не доказано.
- E19 · DATA
129 отобранных стартов, 72 полных окна 4 с; лучший наблюдаемый кандидат 651,184 UPS. До применения проверить физику; допуск 10–15 UPS не означает принудительное назначение скорости.
- E20 · SPEC
Plasma→красный искать в 1–3 с, расширенный self-damage→красный до 5 с; подтверждать оружие, импульс, траекторию и реальный подбор, не только изменение HP.
- E21 · DATA
Сольная демка nekitz0r_ZTN_solo_01 заново разобрана: 12510 snapshots без временных разрывов, общий максимум 661.09 UPS; это не эталон разгона после остановки.
- E22 · SPEC
Эталон старта: 2–4 секунды после остановки, первые 2–3 прыжка, траектория yaw и скорости, проверка препятствий; допуск владельца ±10–15 UPS, без физического ускорения читом.
- E23 · SPEC
Редкие видимые повороты 360° в безопасном маршрутном прыжке исследовать по Agent/rapha; конечная угловая скорость, без мгновенного боевого разворота и с проверкой пользы.
- E24 · DATA
360° извлекаются как ограниченные по угловой скорости кандидаты: 350–410° net yaw за 0.25–2с, скорость ≥150 UPS, без своего недавнего огня и разрывов. Это не доказательство намерения и не разрешение крутить live-прицел.
- E25 · DATA
В 200 дополнительных оригиналах у доступных POV победителя/лидера урона выделены 37 стартов после остановки, 18 с полными 4с. Лучший наблюдаемый кандидат 617.776 UPS, не проверенный физический эталон. Медиана первого пика 494.553 и второго 575.893 UPS. Сырые WASD/mouse не восстановлены.
F. Стрельба, прицеливание, dodge и точность
- F01 · SPEC
Стрельба Quake строится совместно с движением ног, а не только наведением крестика.
- F02 · SPEC
Из демок извлекать пары: позиция, дистанция, оружие, направление стрейфа, остановка, viewangles, исход.
- F03 · SPEC
Контрстрейф: смена направления/резкая остановка для окна точного выстрела и нарушения tracking соперника.
- F04 · SPEC
Rail peek/prefire: показать часть модели из-за угла, держать прицел в ожидаемой точке/стене и минимально корректировать при выходе.
- F05 · SPEC
Предикт движения соперника использует скорость, направление, геометрию, видимость и вероятный выход; уверенность и время прогноза ограничены.
- F06 · LOCAL
Есть расчёты lead для projectile, геометрии выстрела и combat prediction; полноценная связь с retail aim/fire ещё неполная.
- F07 · SPEC
Rocket prediction учитывает скорость ракеты, расстояние, полёт цели, пол/стену, splash и возможный dodge.
- F08 · SPEC
Prefire разрешён в типовом проходе при достаточной уверенности; нельзя стрелять по точной скрытой координате.
- F09 · PARTIAL
Aim humanization меняет команды наведения, не damage и не зарегистрированные попадания.
- F10 · DATA/PARTIAL
Согласованные ориентиры: plasma 10–16% (база 12%), LG 33–41% (база 37%); rail и остальные диапазоны извлечены в таблицу демок и требуют live-калибровки.
- F11 · SPEC
Точность плавает внутри уровня и матча: при собственном контроле может быть выше, под давлением ниже; это достигается наведением, а не подменой hit result.
- F12 · SPEC
Plasma и LG не должны держать нечеловеческие 70% постоянно. Краткий удачный эпизод допустим, постоянный — нет.
- F13 · SPEC
Разные сложности ограничивают точность всех пушек, реакцию, tracking, lead, ошибку исполнения и вариативность.
- F14 · SPEC
LG визуально строить от WASD: боковые/диагональные и вперёд-назад стрейфы, восьмёрка и переменные паузы по ситуации, без постоянной тряски прицела и механического повторения фигуры.
- F15 · SPEC
При LG-пуше держать рабочую дистанцию, продвигаться ногами; в размене менять длину и направление стрейфа. Короткий выход плечом у стены сменяется укрытием.
- F16 · SPEC
Реактивный dodge RL: наблюдать выстрел/снаряд, выдержать человеческую задержку, оценить точку прихода и сместиться. Случайное движение заранее не считать доказанным доджем.
- F17 · SPEC
Разбирать k1llsen отдельно: момент выстрела → пауза → направление уклонения. Без экспортированных вражеских ракет эта причинная связь не установлена.
- F18 · SPEC
Rail/RL допускают редкие ограниченные флики, не постоянные 180/360. Пример 800×800 пикселей не переводится в угол без FOV/разрешения. Присед против rail — кандидат, основной запрет crouch сохраняется.
- F19 · DATA
Разобраны окна LG в 500 демках: Cypher/rapha/k1llsen/evil и другие; данные — POV-углы и скорость, не сырые WASD/мышь. Доли наземного движения включают контексты погони/полёта и не разрешают боевые прыжки.
- F20 · SPEC
Контекстная LG-точность: предсказуемый полёт/стояние около 60–65%, слабый додж 45–50%, кратко до 70%; настраивать наведение, не результат попаданий. Жёсткий человеческий предел после 1000 damage не доказан.
- F21 · SPEC
Новый плавный LG-filter и footwork есть в незавершённом рабочем дереве, но не подтверждены тестами/деплоем. Не представлять написанный фрагмент как готовый человеческий стиль.
- F22 · LOCAL
LG-фильтр проверяется отдельно на ограничение угловой скорости, отсутствие мгновенного 180° и сброс после смены эпизода; safe-stop штатного движения сохраняется немедленно.
- F23 · SPEC
Стрейфы и остановки при LG связываются с дистанцией, укрытием и давлением; готовая восьмёрка или синусоида не заменяют анализ боевого эпизода.
- F24 · SPEC
Додж RL запускать после наблюдаемого выстрела и задержки реакции, с оценкой времени прилёта и свободного выхода. Нужна связка с реальным сенсором ракеты; одних углов POV недостаточно.
- F25 · DATA
Перед выстрелом измеряется непрерывное 250мс окно: максимальное отклонение от угла выстрела yaw≤6° и pitch≤4° означают held-view candidate. Окна LG перекрываются; долю нельзя выдавать за независимую выборку игроков или точность попаданий.
- F26 · DATA
Банк направлений прицела группируется по ячейке игрока 128×128×64u и оружию, ≥8 выстрелов из ≥3 демок, circular concentration≥0.8. Без BSP/LOS и подтверждения цели это не готовый прострел и не скрытый aim point.
- F27 · DATA
Из 500 демок найдены 478 матчей с однозначно сопоставленным победителем. Среднее accuracy считается только по наблюдаемым положительным shots у строки победителя; pooled hits/shots отдельно. Нет данных — не нулевая точность.
- F28 · PARTIAL
0.7.8 применяет среднее accuracy победителей и диапазон ±7.5 процентного пункта для MG/SG/RL/LG/RG/plasma как цели калибровки. Ошибка наведения отдельная для каждой пушки; урон/регистрацию попаданий не менять. GL исключён.
- F29 · DATA
Для дополнительной выборки и общего корпуса отдельно считаются строки победителя и лидера damageGiven. Один игрок не удваивается внутри выбранной группы; ничья по урону отмечается отдельно. Нет обоих damageGiven — лидер неизвестен. Нет shots — точность отсутствует; shots>0 и accuracy=0 — реальный ноль. GL не получает aim-профиль.
G. Оружие, выбор, комбо и зонирование
- G01 · PARTIAL
Есть приоритет отсутствующего полезного оружия и диагностика причины выбора/пропуска/подбора.
- G02 · SPEC
До двух-трёх пушек Unholy Trinity бот редко принимает добровольный прямой бой. Допустимые пары: LG+RL, RL+RG и контекстные исключения.
- G03 · LIVE/PARTIAL
Добровольный forward-push блокируется при недостаточном Trinity-наборе; оборонительная стрельба штатного AI сохраняется.
- G04 · SPEC
Средняя дистанция 1v1: основной приоритет LG; затем RL; RG даёт дальний безопасный урон и преимущество для последующего пуша.
- G05 · SPEC
Если у соперника нет оружия и LG достаёт, LG обычно лучше; RL важен для splash, узких проходов, подброса и зонирования.
- G06 · SPEC
SG, plasma, grenade, machinegun и gauntlet — преимущественно ситуационные, но не запрещённые.
- G07 · SPEC
Выбор учитывает расстояние, позицию, высоту, проход, ammo, свой/чужой стек, возможность отхода и текущее оружие противника.
- G08 · SPEC
LG vs LG при сближении и красном сопернике: резко перейти на RL или SG для добивания.
- G09 · SPEC
После дальней precise rocket, остановившей/подбросившей модель, быстро переключиться на RG, пока полёт ограничивает управление.
- G10 · SPEC
Попадание rail создаёт условие для пуша только после оценки оставшегося стека, расстояния, оружия и выхода; один rail не означает безусловный раш.
- G11 · SPEC
Подбирать оружие со своего и чужого трупа, если это не отдаёт позицию и лишает соперника полезной пушки.
- G12 · SPEC
«Штраф» — короткий безопасный damage с уходом; «спам» — предупреждающий огонь в проход; «зонирование» — временное ограничение пространства.
- G13 · SPEC
Grenade Launcher на ZTN: спам зоны Mega с позиции GL и верхнего выхода телепорта к красному/нижних арок у аптечки и ammo.
- G14 · SPEC
GL используется только при высокой уверенности в положении соперника и **отсутствии возможности быстрого сближения**.
- G15 · SPEC
Цели GL: задержать подбор, закрыть выход, не дать занять точку или начать драку; бесцельный spam не является готовым навыком.
- G16 · SPEC
Против свежего респауна со 100 HP и MG при активной мести допустима ракета/рейл → подтверждённый урон → оценка брони/дистанции → перчатка. При потере безопасного окна возвращаться к обычному бою.
- G17 · SPEC
Комбо: LG→RG при отходе/дальней дистанции; LG→RL при сближении; RL→LG/RG; RL/LG→gauntlet только при выгодном безопасном добивании. Ориентир 65–70% подходящих эпизодов не является квотой фрагов.
- G18 · SPEC
Комбо-кандидат по чередованию выстрелов не доказывает урон одной цели; нужен подтверждённый damage/kill эпизод и геометрия контакта.
- G19 · LOCAL
Новый чистый C-модуль добивания выбирает оружие только при видимом контакте, известном стеке и подтверждённом hit не старше 900мс. Учитывает боезапас, self-splash, направление сближения и безопасный melee. К usercmd текущего теста не подключён.
- G20 · DATA
Смена пушек в 5с перед POV-фрагом даёт multi-weapon candidate. Не засчитывать это как урон каждой пушкой той же цели; квота 65–70% не должна заставлять лишний switch.
- G21 · PARTIAL
Недобор двух пушек Trinity повышает ресурсные приоритеты, но не обнуляет forwardmove во время защитной стрельбы с MG. Нельзя создавать неподвижность вместо осмысленного восстановления.
H. Предметы, тайминги, стек и макроигра
- H01 · LIVE
Нативный модуль читает item clocks всех зарегистрированных предметов; известность срока и доступность логируются.
- H02 · SPEC
Классические интервалы: Heavy Armor 25 секунд, MegaHealth 35 секунд; фактический engine nextthink имеет приоритет.
- H03 · SPEC
Бот знает таймеры как разрешённый observer, но выбирает, какие предметы оспаривать или сознательно оставить.
- H04 · SPEC
Приоритет цели учитывает свой стек, точный доступный стек соперника, оружие, путь, время ожидания и режим матча.
- H05 · SPEC
«Цикл» — маршрут по основным и вторичным ресурсам, включая shards/green/yellow при наличии.
- H06 · SPEC
На контроле: связывать предметы в цикл, давить, перекрывать оружие и возможные выходы, но не обязательно включать тотальный контроль.
- H07 · SPEC
Без контроля: избегать прямой драки за MH/RA, брать остатки, аптечки, YA/GA, ammo, наносить 1 rail или 1–2 rockets из безопасной позиции и уходить.
- H08 · SPEC
Строгий контроль основных ресурсов и тотальный контроль всей карты — разные режимы.
- H09 · SPEC
Редкость тотального контроля 1–2/10 сохраняется как прежняя настройка характера. В текущем максимально сильном тестовом профиле не запрещать выгодный контроль искусственно; это не отменяет оценку риска.
- H10 · SPEC
При равной игре или сильном отставании контроль усиливается; при большом лидерстве бот может оставить часть ресурсов.
- H11 · SPEC
Против сильного соперника строже считать YA и вторичные ресурсы.
- H12 · SPEC
Опытный игрок сокращает дистанцию, узнав о слабом стеке/оружии; бот должен учитывать риск погони при восстановлении.
- H13 · PARTIAL
Таймеры работают, но ранний приход под противодействием и полный цикл пока не подтверждены.
- H14 · PARTIAL
0.7.4 добавляет веса recover/anchor/cycle по собственному стеку/Trinity и преимуществу соперника. Это ещё не полноценное скрытное планирование или гарантированный полный контроль.
- H15 · PARTIAL
Anchor выбранного основного предмета до 15 с, цикл при HP>=120/armor>=80 и двух Trinity; аварийное восстановление, дебют и nav-ban выше этих ресурсных весов.
- H16 · LOCAL
Локальный arrival planner считает время выхода по проверенному p90 маршрута и запасу раннего прихода. DEFER = собирать другие ресурсы; HOLD только внутри подтверждённого объёма подбора и при безопасном ожидании. Непроверенный путь не получает выдуманный ETA.
- H17 · DATA
Неподвижность до 2с перед major pickup хранится как dwell candidate с timer_verified=false. Это может быть ожидание или ошибка пути; без глобального item clock не доказывает секундный stopwatch.
- H18 · PARTIAL
Доступная Mega/RA может прервать удерживаемую вторичную цель без требования двух пушек. Стек соперника сам по себе не доказывает опасность на точке. При HP<40 RA не получает принудительный приоритет; недоступные будущие предметы по-прежнему требуют боевого набора.
- H19 · PARTIAL
Оба маршрутных сторожа используют одинаковую границу ожидания: менее 64u до предмета, перепад менее 40u, предмет недоступен и до появления не более 3с. Близость под платформой и уже лежащий предмет ожиданием не считаются; геометрия объёма подбора этим не доказана. В intermission pm_type!=0 надстройка не управляет ботом и не запускает восстановление.
I. Дебют, респауны, повторы и тактический прогноз
- I01 · PARTIAL
В 0.7.4 банк расширен до 48 кандидатов, 42 с основной пушкой; 135 переходов, 48 покрыты demo-подходами, остальные AAS. Полная оптимальность/покрытие не доказаны.
- I02 · SPEC
Дебют — стартовый spawn, первая пушка и первые 2–3 предмета; задача — получить выгодный ресурс/оружие без лишнего damage или наказать ошибку.
- I03 · SPEC
Аккуратное начало с прежним общим акцентом на Mega; конкретный spawn и близость предметов могут сделать RA/оружие правильнее.
- I04 · LIVE
После первого цикла введён обязательный выход к первому красному второго цикла; срок берётся от item clock.
- I05 · LIVE
Для выхода на красный диагностируются `fight` при достаточном стеке/двух Trinity и `penalty` при слабом наборе; фактический подбор подтверждён против Sarge 1.
- I06 · SPEC
Режим penalty означает безопасный штраф/оспаривание с выходом, а не обязательную прямую драку; позиционный исполнитель ещё нужен.
- I07 · SPEC
После красного следующим ключевым окном обычно является Mega по её фактическому таймеру.
- I08 · SPEC
Повторяемые циклы игрока распознаются по нескольким обходам; бот заранее занимает позицию, красит типовой ход или приходит к power-up в срок.
- I09 · SPEC
Наказание повторов должно обучать вариативности и постепенно меняться после того, как игрок адаптировался.
- I10 · DATA
Spawntrap-кандидаты искать по минимальному времени от respawn до damage/frag, позиции стрелка и направлению spam.
- I11 · SPEC
Знание spawn algorithm и вероятностей отделять от незаконного знания будущего конкретного spawn.
- I12 · SPEC
После контроля допустимы 2–3 последовательных перехвата за матч; частота и длина зависят от уровня и ситуации.
- I13 · SPEC
Бот занимает подтверждённую точку и spam RL/plasma по вероятному spawn; быстрое нажатие respawn может привести игрока под огонь.
- I14 · SPEC
Spawntrap учит задерживать respawn и понимать позицию соперника; не должен становиться бесконечной гарантированной казнью.
- I15 · SPEC
Если выход LG к Mega встречает RL в узком проходе при 100/50, чаще выгоднее отдать Mega и выйти к RA/RG, чем бежать в смертельный choke.
- I16 · DATA
Сводка 0.7.4: 924 окна дебюта, 863 с наблюдениями, только 42 полных 30-секундных. Не заполнять пропущенный старт выдуманными действиями.
- I17 · PARTIAL
Кандидаты ранжируются по наблюдаемому времени и потере HP плюс геометрия старта/цели. Это эвристика, а не доказательство глобально оптимального дебюта.
- I18 · SPEC
Дебют оценивается по spawn, первой Trinity-пушке, первым 2–3 полезным подборам, урону и выходу на второй RA; полная цепочка проверяется противодействием, а не одной разминкой.
- I19 · DATA
Повторяющиеся тройки предметов и переходы хранятся с числом разных демок и median/p90 времени. Частота не доказывает оптимальный дебют; отдельно нужны spawn, урон, противодействие и результат цепочки.
J. Стили, адаптация и «игра до фрага»
- J01 · LOCAL
Базовые стили: aggressive, balanced, passive; live-связь всех переходов неполная.
- J02 · SPEC
Aggressive: после нанесённых ~80–90 damage при выгоде резко пушит; основные ресурсы MH/RA, высокий темп.
- J03 · SPEC
Balanced: если получил ~70–100 damage, выходит из боя, больше собирает YA и восстанавливается.
- J04 · SPEC
Passive: после одного rail-hit может уйти, собрать 1–2 YA/аптечки, снизить прыжки, RJ и темп.
- J05 · SPEC
Оценивать силу не по одному счёту: damage trade при сопоставимом стеке, ресурсы, оружие, позиции, погоня/отход, повторы и наказания.
- J06 · SPEC
Отдельно оценивать aggression, caution, chase и risk; несколько окон наблюдений и hysteresis.
- J07 · SPEC
Против слабого: ограниченные повторяемые маршруты/позиции, пропуски предметов/пушки, хуже слушает этаж, чаще выдаёт себя, рискует и делает лишний корректный RJ.
- J08 · SPEC
Ошибка слабого профиля остаётся читаемой несколько эпизодов, затем меняется после наказания.
- J09 · SPEC
Иногда сначала продавить слабого, затем слегка снизить темп; не выдавать фраги по квоте.
- J10 · SPEC
Против сильного: лучшие доступные тайминги, восстановление стека/оружия, перекрытия, короткий spawntrap, выгодное добивание и борьба за инициативу.
- J11 · SPEC
Сильно наглого соперника встречать после подготовки около 100/100 и выгодных LG/RL/RG; после 70–110 damage оценить контрпуш RL/SG.
- J12 · SPEC
После устойчивого перехвата инициативы темп немного снижается, включается «Крыса»: слушать углы, коротко штрафовать и менять позицию.
- J13 · SPEC
Адаптация работает внутри текущего уровня сложности и не выдаёт навыки следующего уровня.
- J14 · SPEC
Уровень не меняется посреди карты; между картами максимум ±1 после явного согласия на реванш.
- J15 · SPEC
В текущем сильном тесте адаптация не должна искусственно скрывать проблемы. Человеческое ослабление — отдельный включаемый характерный профиль, а не объяснение любого поражения.
K. Характер, давление, расслабление, тильт и forfeit
- K01 · LOCAL
Есть отдельные состояния relaxed, lead tilt, surrender/forfeit и pressure_escape; live-арбитраж неполный.
- K02 · SPEC
При лидерстве вроде 20:0 бот может ослабить контроль, больше рисковать и дать сопернику реальные шансы на 5–10 фрагов; результат не назначается скриптом.
- K03 · CONFLICT
Редкий тильт с потерей лидерства: ранний ориентир 1–2 матча из 100; поздний — 1–2 из 10–15. Нужен окончательный выбор после серии тестов.
- K04 · SPEC
Тильт — состояние матча/эпизода, а не случайный roll каждый кадр; ошибки остаются физически и тактически правдоподобными.
- K05 · SPEC
При доминировании игрока 0:5/0:6/0:10 возможна поведенческая сдача: со spawn HP и первой пушкой лететь в атаку без полноценного восстановления.
- K06 · SPEC
Случайные 1–2 фрага в forfeit не обязаны вернуть нормальную игру.
- K07 · SPEC
Pressure_escape («Обоссанец») противоположен сдаче: бот хочет выжить, восстановиться и вернуться.
- K08 · SPEC
Pressure_escape: уступает позиции, играет вторым номером, quiet/walk где безопасно, собирает YA/GA/HP/rail ammo.
- K09 · SPEC
MH/RA преимущественно штрафует rail/RL из позиции с выходом; не рискует прямой дракой без стека.
- K10 · SPEC
После одного rail меняет позицию независимо от попадания; один удачный rail не включает мгновенную агрессию.
- K11 · SPEC
Предварительный выход из pressure_escape: минимум 30 секунд, затем 15 секунд без давления и восстановление примерно до 100/50; числа ещё тестируются.
- K12 · SPEC
Последний ориентир раннего ухода: сильный разрыв 15–18–20+ и примерно 1–2 матча из 10. Старые 30 фрагов/50% и 5:30/90% — исторические примеры, не одновременно действующие вероятности.
- K13 · SPEC
Решение о выходе принимается один раз при достижении условия; нельзя reroll каждый тик. Autofill не должен мгновенно вернуть ушедшего бота.
- K14 · PARTIAL
Ранний уход бота теперь запрошен владельцем; исполнение проверять только на тестовом сервере, без удаления людей и мгновенного autofill. Разрешение не означает готовый lifecycle.
- K15 · SPEC
Отдельно считать выбор состояния, ранний уход и полный знаменатель матчей. Один roll с вероятностью 0,15 только среди подходящих матчей сам по себе не доказывает 1–2 ухода из всех 10 игр.
- K16 · LOCAL
Поздняя просьба владельца: ранний forfeit примерно в 1–2 играх из 10 при отставании 15/18/20+ фрагов; решение один раз на матч, без повторного броска каждый кадр. 0.7.6: один выбор 15% на матч, после 120с и при дефиците ≥18; только подтверждённый бот на 27961, без autofill. Проверено локально; частота и выход в живой дуэли ещё не подтверждены.
L. Чат, спортивность и ответные реакции
- L01 · LIVE
Отдельный Psyz0r minqlx-плагин загружен на тестовый сервер; штатный bot chat подавлен.
- L02 · LIVE/PARTIAL
GL/HF/GG/WP, старт/финиш, rail/rocket/gauntlet-kill, ограниченная грубость и редкие реплики подключены; клиентская полнота ещё проверяется.
- L03 · SPEC
Спортивные фразы распознаются после удаления цветов/регистра и по словам; бот отвечает взаимно, иногда с добрым приколом.
- L04 · SPEC
Не отвечать самому себе/другому боту, дедупликация и cooldown исключают петли.
- L05 · SPEC
Тематические rail/Mega/RA/rocket фразы редки; они не должны выглядеть как ботский spam.
- L06 · SPEC
На грубость человека бот может ответить грубо, но ограниченно и без постоянного потока.
- L07 · LOCAL/PARTIAL
Gauntlet: выбор оружия сам по себе не событие; требуется подтверждённый damage конкретного игрока.
- L08 · SPEC
Накопленные 50 фактического урона перчаткой активируют цель мести без обязательной смерти бота; 100/150 усиливают реакцию. Короткая реплика должна сопровождаться поиском возможности убийства перчаткой.
- L09 · SPEC
Порог активации уточнён владельцем: 50, затем ступени 100/150. Реальные потери здоровья и брони логировать раздельно; выбор счётчика явно записать в конфигурации и тесте, не возвращать прежний тестовый 25.
- L10 · SPEC
При около 30 HP соперника, с учётом брони, геометрии и контакта, приоритетно сблизиться/стрейфнуть и добить перчаткой. Допустим оправданный прыжок. Не махать через стену или бежать через карту.
- L11 · SPEC
Изначально трупы не добивает. Случайный порог 2–4 отдельных подтверждённых эпизодов добивания его трупа включает обязательную реплику и зеркальное поведение; не считать пули одного эпизода отдельно.
- L12 · SPEC
Killing shot, auto-gib и случайный damage не считать corpse episode; очередь по одному трупу — один эпизод.
- L13 · SPEC
После активации может до секунды добить следующий безопасно доступный труп соперника и вернуться к игре.
- L14 · SPEC
Перчатка/трупы имеют приоритет над редкими оружейными комментариями; устаревшие сообщения не накапливаются.
- L15 · SPEC
В конце один вопрос «GG! Реванш?». Только явное согласие запускает следующий матч и разрешает изменение сложности.
- L16 · PAUSED
Управление людьми и вызов дуэли отложены. Реванш согласован отдельно; собственный ранний уход при большом отставании теперь запрошен, но не подтверждён.
- L17 · PARTIAL
Установленный minqlx не даёт Python `damage` hook: накопленный gauntlet damage и corpse damage требуют нативных сенсоров.
- L18 · SPEC
На каждый порог 50/100/150 — разные короткие реакции, 4–5 вариантов на перчатку, включая пару грубых; ASCII-смайлы, без проблемных запятых/символов и повторяющегося бинда.
- L19 · SPEC
Месть — состояние конкретного соперника/матча. Записывать цель, контакт, HP/armor, причину выбора/отказа и результат; успешное убийство закрывает эпизод, новая дуэль сбрасывает память.
- L20 · SPEC
Для добивания оценивать эффективный остаток: 30 HP с бронёй не обязательно один удар. Бот обязан искать надёжное окно, но не гарантировать попадание вопреки физике.
- L21 · SPEC
Проверки: 50 урона без смерти бота, ступени 100/150, low HP без/с бронёй, стена, MG-респаун и комбо, потеря контакта, завершение мести и сброс матча.
- L22 · SPEC
Нативный G_Damage-мост пока незавершённый рабочий код; текущие Python fallback-события смерти не доказывают накопительный урон или намеренное добивание трупа.
- L23 · SPEC
Приветствия/короткий Quake-диалог и ответы на ругань поддерживать тематически; перчатка/трупы выше редких оружейных реплик, cooldown не должен терять обязательную актуальную реакцию.
- L24 · LOCAL
Приветствия и короткие ответы по темам mega/red/LG добавлены в отдельный плагин. Убран ложный триггер грубости от одного слова bot; исходящие запятые и сложная пунктуация нормализуются.
- L25 · LOCAL
Порог накопленного gauntlet damage в чат-политике приведён к 50, без обязательного убийства. На старом minqlx отсутствующий damage hook остаётся ограничением и требует нативного сенсора.
- L26 · SPEC
Комментарий после 2–4 намеренных эпизодов добивания трупа обязателен при подтверждённом сенсоре; один труп = один эпизод, killing shot/случайный splash не считаются.
- L27 · PARTIAL
0.7.8 понимает нуб/nub/noob и русские/английские приветствия/темы. Отправитель сравнивается по Steam ID и слоту, не Python identity. Ответы на одну тему повторяются после 4с паузы с разными репликами; короткое продолжение разговора хранится 45с. Метки #bot и команды не обсуждаются.
M. Пять уровней сложности
- M01 · SPEC
Пять классических уровней; старт нового соперника — уровень 3.
- M02 · SPEC
Уровень задаёт границы точности всех пушек, реакции, movement, ошибок, разнообразия маршрутов/решений, контроля, combo и spawntrap.
- M03 · SPEC
Level 1 / I Can Win: почти нет распрыжки, нет сложных tricks/spawntrap, низкая точность/реакция; отдельный простой RJ только для нужного предмета.
- M04 · SPEC
Level 2 / Bring It On: базовый strafe с потерями скорости, простые освоенные RJ и switches, шире маршруты, без систематического spawntrap.
- M05 · SPEC
Level 3 / Hurt Me Plenty: полупрофи; уверенная базовая распрыжка, tricks/RJ/combo, человеческие ошибки, 1–2 spawntrap-эпизода за матч.
- M06 · SPEC
Level 4 / Hardcore: быстрый movement, больше tricks, лучше tracking/lead, вариативные решения, чтение циклов.
- M07 · SPEC
Level 5 / Nightmare: максимум согласованного человеческого исполнения, контроля и прогноза; ошибки и возможность обхода сохраняются.
- M08 · SPEC
Адаптация слабый/сильный/наглый/осторожный присутствует на каждом уровне только внутри его разрешённых навыков.
- M09 · SPEC
Частота и длина spawntrap задаются отдельно от общей точности.
- M10 · SPEC
Tilt/forfeit/relaxed не используются как надёжная оценка силы игрока для следующего уровня.
- M11 · SPEC
После реванша уровень меняется максимум на ±1; при близкой игре остаётся прежним.
- M12 · PAUSED
Числовые профили accuracy и ошибки каждого уровня требуют серии демок и live-калибровки.
N. Демки, обучение, источники и повторное использование кода
- N01 · DATA
Исходный ориентир: 100 демок PsyRoZa и 20 владельца; затем 100–200 на карту. Это ориентир объёма, не магическая квота.
- N02 · DATA
На Blood Run собран большой корпус профессиональных и пользовательских демок; сохраняются SHA и происхождение.
- N03 · SPEC
Сольные демки: маршруты, цикл, оружие, позиции, listen/hide/escape, RJ/tricks. Боевые: стрейфы, дистанция, размены, контроль и восстановление.
- N04 · PARTIAL
Метки `#bot cycle`, `rocketjump`, `listen`, `hide`, `escape`, `punish`, `spawntrap` привязываются ко времени и позиции; чат демки при необходимости дополняется sidecar.
- N05 · SPEC
Сырые WASD/mouse не объявлять доступными без доказательства; реконструированные команды помечать отдельно с ошибкой.
- N06 · SPEC
Каждый эпизод хранит карту/physics/source/time/position/velocity/view/weapon/stack/ammo/events/outcome/confidence.
- N07 · DATA
Изучены штатные Q3/QL bot files, Workshop-наборы, Quake III/BrainWorks/minqlx/Wolfcam/UDT; переносится подход или лицензированный код, не закрытый бинарник целиком.
- N08 · SPEC
Не «декомпилировать и скопировать всё»: закрытый QL код не выдавать за свой исходник; сохранять лицензии и границы переносимости.
- N09 · DATA
3–5 текстовых movement-гайдов используются как источник гипотез; статья не считается доказательством исполнения.
- N10 · SPEC
Для каждого правила: условие → решение → исключения → способ проверки → источник.
- N11 · SPEC
Демки являются основной базой маршрутов и решений, но live-движок/AAS подтверждает достижимость.
- N12 · SPEC
Новые карты добавляются после отдельной разметки item registry, routes, openings, combat positions, jumps и QA.
- N13 · DATA
Дополнительные 300 и новые 500 оригинальных ZTN-демок скачаны/разобраны с происхождением/SHA. В top500 только 26 новых Agent; каталог содержит 72 подходящие записи, цель 100 Agent не достигнута.
- N14 · DATA
Видимая папка владельца C:/Users/user/Desktop/Quake SERVER/PsyZ0r-bot/demos: копирование проверено SHA, оригиналы сохранены. 932 уникальных тренировочных оригинала представлены в манифесте.
- N15 · DATA
LG-аналитика измеряет углы/скорость во время выстрелов. Нажатия клавиш, мышиные дельты и наблюдаемые вражеские ракеты отдельно требуют доказанного источника данных.
- N16 · DATA
После обновлённого обхода сохранено 1165 уникальных оригиналов: 265 локальных и 900 архивных с SHA-256. Корпус доступен также через PsyZ0r-bot/demos/Профи ZTN; повторный анализ помечается отдельно от старых отчётов.
- N17 · DATA
Две свежие 10-минутные ZTN-дуэли 19.10 дали Psyz0r 1:29 и 3:13; в каждой RA=1, Mega=4. Статистика UDT и подборы правильной эпохи serverTime совпали. Исходники сохранены в проекте и видимой папке demos с SHA-256.
- N18 · SPEC
Сольный круг владельца остаётся источником циклов, GL/plasma spam и стартов. Сырые кнопки и намерение не объявлять известными; эпизод спама требует позиции/времени/оружия и геометрической проверки.
- N19 · DATA
Переразобраны 200 SHA-уникальных оригиналов вне прежних top500; это файлы из сохранённого запаса, не 200 новых скачиваний. У всех извлечены snapshots и metadata; 127 итоговых 1v1-записей, в 22 победитель и лидер урона различаются. Для отсутствующих scoreboard/POV сведения не выдумываются.
- N20 · DATA
Реестр матчей включает 7 известных дуэлей Psyz0r и 59 архивных записей Xaero отдельно. Неизвестные старые версии и skill остаются неизвестными. Каждая запись хранит источник, счёт, доступный damage, оружие и подборы; пропуски не превращаются в 0%.
O. Архитектура, журналы, проверки и фактическая готовность
- O01 · LIVE
C++ overlay подключён только к изолированному 27961 и Blood Run; основной 27960 защищён отдельным условием.
- O02 · LIVE
Item clocks, target selection, demo routes, AAS fallback, ограниченный movement, RJ sample 0, combat jump suppression и chat работают на тестовой среде.
- O03 · PARTIAL
Opening bank, обязательный второй RA, loadout preparation и aim humanization подключены, но требуют матчей против человека.
- O04 · LOCAL/PARTIAL
Три стиля, adaptation, pressure_escape, relaxed/tilt/forfeit, difficulty session, prediction и реакции имеют автономный код/спеки; большая часть не управляет retail bot полностью.
- O05 · SPEC
Любая функция получает независимые статусы: описано, данные есть, код локальный, подключено, подтверждено человеком.
- O06 · SPEC
Нельзя считать тест формулы доказательством игрового навыка; нужен наблюдаемый результат в QL.
- O07 · SPEC
Для item/movement/weapon диагностики писать: потребность, выбранную цель, причину пропуска, путь, фактический pickup, начало/конец действия и исход.
- O08 · SPEC
Каждый модуль включается отдельным cvar/feature flag и проверяется узким сценарием перед расширением.
- O09 · SPEC
Сохранять локально, в GitHub и на сервере только нужный исходный пакет; runtime, исходники и резервные копии не смешивать.
- O10 · LIVE
Последний подтверждённый отчёт 0.7.4: MSVC Debug/Release 14/14, Python 105/105. Финальный 80-секундный Xaero smoke: 25 подборов, один major, два шага дебюта, счёт 1:2; победа не заявлена. Это отчёт этапа, не новый опрос сервера.
- O11 · SPEC
После каждого теста сохранять demo, комментарий владельца, серверный log, версию, карту, состав, cvars и результат по пунктам.
- O12 · SPEC
Перед следующим крупным модулем обновлять эту Mind Map и таблицу traceability; ни один новый абзац не остаётся только в чате.
- O13 · SPEC
Документация и графика обновляются при каждом изменении требований/подтверждённом этапе. Сохранять ID, дату, источник и прежнюю версию; написанный код не повышает автоматически статус до LIVE.
- O14 · PARTIAL
WEB-панель разработки: читать GitHub и MD/реестр, строить схемы и аналитику готовности; использовать готовый бесплатный UI/UX с проверенной лицензией. Локальный снимок из MD/JSON реализован; автоматическая синхронизация с GitHub ещё не подключена.
- O15 · PARTIAL
Развиваемая панель: фильтры по ветке/статусу/версии, ссылки на код/тест/демо, история изменений и отдельные показатели описано/данные/код/интеграция/подтверждение; не выдумывать общий процент готовности.
- O16 · SPEC
Для текущего документационного выпуска регенерировать PNG/SVG/OPML/HTML и машиночитаемый JSON из одной MD-версии; проверять потерю ID, переполнение, кодировку и ссылки до Git-публикации.
- O17 · LOCAL
Локальная панель аналитики создана на Tabler Dark с неоновыми акцентами по окончательному выбору владельца. Без облачной публикации, секретов и автоматического изменения сервера.
- O18 · SPEC
Показывать отдельно требования, исходные демки, локальный код, подключение и наблюдаемый результат. Исторический LIVE не означает новый live-аудит или процент готовности.
- O19 · SPEC
Показывать редактируемые файлы в Visual Studio/VS Code при доступном приложении, а в коде оставлять понятные комментарии к условиям и ограничениям.
- O20 · SPEC
Пока владелец тестирует 0.7.6, live-бинарник/конфиг не менять. Новые надстройки сохранять локально и в GitHub, на сервер — только версионированную исходную/аналитическую копию отдельно от runtime; следующий бот-v-bot прогон после человеческих игр.
- O21 · PARTIAL
0.7.8 собрана с сохранением основного 27960; четыре изменяемых live-файла копируются перед заменой. Развёртывание только при отсутствии людей; новая короткая проба не считается полной победой или альфой.
- O22 · PARTIAL
0.7.9 установлена только на 27961 после backup; SHA native проверен, основной PID 27960 сохранён. Профиль Xaero-derived, чат и aim-настройки не менялись. 17 CTest, 138 Python и 5 Linux групп прошли. Пятиминутная диагностика не доказывает силу серии 10-минутных дуэлей.
- O23 · PARTIAL
Read-only ZMQ sidecar отдельно от QL сохраняет MATCH_STARTED/PLAYER_STATS/MATCH_REPORT в файл. MATCH_GUID дедуплицируется, поздние stats ожидаются, два bot STEAM_ID=0 различаются по имени. Приватный буфер и Steam ID не публикуются; реальная первая новая дуэль ещё ожидается.
- O24 · PARTIAL
Локальный watcher забирает только public JSON через SSH и публикует MATCH_LEDGER.json из отдельного проверенного Git worktree. Сайт читает HTTPS-файл раз в 30с; офлайн HTML хранит снимок. Работа синхронизации зависит от включённого ПК, серверный сборщик работает независимо.
- O25 · SPEC
Автоматическое обучение модели не подключено. Оценка прогресса требует хотя бы 10 сопоставимых матчей одной версии/native SHA, карты и соперника длительностью от 5 минут. Рост числа правил и разный счёт против разных соперников не доказывают обучение.