Новый чат и самый важный для игры промпт: в это уже можно будет играть. Управление, удары, блоки, комбо, раунды и соперник-компьютер трёх уровней. Локация пока временная, ею займёмся в следующем шаге.
⏱ DeepSeek: около часатвоё время: 15 миннужно: шаг 3
Ощущения в цифрах
Как проверить, что бой «ощущается нормально»? Модель не может поиграть и сказать «туговато». Но может написать автотест, который нажимает клавишу и меряет, сколько миллисекунд прошло до удара. А второй тест запускает бой компьютера против компьютера и считает попадания, блоки и повторы атак.
Последняя строка промпта самая важная: «гоняй их сам, пока цифры не станут нормальными». Так модель сама проверяет свою работу числами, а не на глаз.
Отправляем промпт
Набери /new и отправь:
новый чат. прочитай AGENTS.md и PLAN.md - там всё про проект. спрайты готовы (этап 2 закрыт), 3d-локацию будем делать следующим шагом, пока бой можно на простом полу.
теперь делаем сам бой (этапы плана про бой), чтобы в это реально можно было играть против компьютера:
- два бойца друг напротив друга, всегда повёрнуты лицом к сопернику (перепрыгнул - развернулся)
- управление: A/D ходьба, W или пробел прыжок (с A/D - прыжок вперёд/назад), S присед, J лёгкий удар, K сильный с рывком, S+J/K низкий, в прыжке J/K удар в воздухе, J+K супер при полной шкале Qi. в одиночной игре дублируй на стрелки + Z/X. для режима на двоих: P2 на стрелках и . / (или Num1/Num2). геймпад тоже
- блок: держишь назад, когда противник бьёт рядом. низкий блок - присед + назад. низкий удар бьёт стоящего, удар в прыжке бьёт присевшего
- хитбоксы бери из твоих точек кончика ударной конечности по кадрам, хёртбокс из bbox тела. тела не должны проходить друг сквозь друга
- реакции: лёгкое попадание - hit, сильное/подсечка/добивание - нокдаун (не на каждый удар, иначе половину боя лежишь), KO - падение и остаётся лежать
- комбо: J J J и J → K при попадании. Qi копится от ударов и блоков
- раунды: до двух побед, таймер 60 с, после KO короткая пауза и следующий раунд
- ИИ трёх уровней (easy/normal/master): подходит, отходит, блокирует, наказывает промахи, бьёт по прыгающему. главное: никогда не повторяет один и тот же удар два раза подряд и не зацикливается на паттерне A-B-A-B, чтобы смотрелось органично. на easy новичок должен выигрывать
- простой временный HUD: полоски здоровья, таймер, Qi, счёт раундов
и сделай себе автотесты (headless playwright), которые печатают цифры:
1. отзывчивость: нажимает клавишу и меряет мс от нажатия до активного кадра удара и до момента, когда снова можно действовать - для каждого удара, прыжка, старта ходьбы. сравни с бюджетами из AGENTS.md
2. матч ИИ против ИИ на 60+ секунд: ошибки в консоли, сколько попаданий/блоков/нокдаунов, сколько времени бойцы лежат, повторы атак подряд и A-B-A-B (должно быть 0), рывки позиции спрайта между кадрами
гоняй их сам, пока цифры не станут нормальными. в конце коротко: что сделано, таблица цифр, что осталось.
git add -A && git commit -m "промпт 04: бой"
Что получилось у меня
Модель работала 50 минут и сделала 235 действий. Бой стал играбельным: клавиатура, режим на двоих, геймпад, блоки сверху и снизу, комбо, шкала Qi и супер, раунды до двух побед и соперник трёх уровней. Автотесты модель написала сама и гоняла, пока цифры не уложились в цели из плана.
Бой после шага 4: всё работает, но сцена временная, бойцы мелкие, фонари пересвеченные.
удар
до попадания
снова можно действовать
лёгкий J
120 мс
428 мс
сильный K
280 мс
713 мс
низкий
145 мс
478 мс
прыжок, отрыв от земли
119 мс
В бою компьютера против компьютера за 62 секунды было 64 попадания, 16 блоков и 15 нокдаунов, а повторов атак подряд ни одного. Одно решение модель приняла сама: нокдаун не чаще раза в 9 секунд, «чтобы не лежать полбоя».
Как проверить: сыграй пару раундов против компьютера на лёгком уровне.
Удары, прыжки, присед и блок работают с клавиатуры
Лёгкий удар выходит сразу, без задержки
Компьютер не бьёт одним и тем же ударом подряд
Раунды идут до двух побед, есть таймер и полоски здоровья