12 Commits
Author SHA1 Message Date
andrey d5212e9b42 Экономика снастей: апгрейды id=0 ~÷3.5 (удочка 70/210/500, приманка 60/160/400), база id=1 ÷2 (875/625), база id=3 ×1.5 (15000/11250); апгрейды id>0 — по формуле (180/530/1050, 130/380/750; 175/125 → округление до 10). README: Озёра 25 000 → 100 000 (актуальность); AGENTS.md: цифры баланса + 117 проверок; скриншоты обновлены. 117/117, exit 0 2026-09-07 10:07:12 +03:00
andrey 219c33ee31 Иконки снастей: Дедова удочка 🌳 (дерево, как просили), Титан 💪 (🦾 нет в Emoji One — квадрат в Orca/chromium); скриншоты screenshots/ обновлены после установки шрифта. 115/115, Orca 47/47, exit 0 2026-09-06 22:03:14 +03:00
andrey 12c5f7d5ec M6b: Этап 21 — убрано «Улучшить вариант» (рыбу нельзя апгрейдить): кнопка #btnCardUp, VARIANT_CHAIN, cardInfo, cardUpNext()/renderCardUpBtn(); карточка — только бейдж/оформление; сейв/дневник/full_variants не тронуты; по ревью: доки/скрины. 115/115, exit 0 2026-09-06 20:40:29 +03:00
andrey cc6238aa9b Тесты: спринт 4 T4 — свежие скриншоты, харденинг orca-playtest против T2b-гонки escape (атомарный hold) — 47/47 live 2026-09-02 10:34:47 +03:00
andrey 60f375598b Физика: спринт 4 T2b — ребаланс по ревью T3 (MAJOR-1/2, MINOR, NIT) + Monte-Carlo приёмка
MAJOR-1 (skill-curve): отпускание в рывок теперь безопасно и выигрышно —
escape-бар не растёт при pull && !holding (стоимость отпускания — только
дистанция); пассив = 100% сходов, «всегда держать» = обрывы крупных
(сом/Стекло 61% SNAP) и босса (38% SNAP на Титане). Числа (только
константы updateReel/hook): d0 45+7w, drain ×~4 медленнее (дуга усталости
за бой), натяжение 10+over·1.1+22·ag, втягивание (11+3·reel)·(1+0.6(1-st)),
free-run F·0.32, near-miss 1.45·d0.

Monte-Carlo (точные формулы, N=400/сценарий, dt=1/60, 3 бота доки 4.4):
умный: карась 98%/13.0с, окунь 85%/11.7с, лещ 92%, сом/Карбон 66%/20.4с
(уловы), босс/Титан 59.5%/42.8с (т.е. босс ≠ 100% даже на топ-удочке);
держать: мелочь 100%, сом/Стекло 39%/SNAP 61%, босс/Титан 62%/SNAP 38%;
пассив: 100% сходов за 3.5–6.7с. Stamina-дуга видна: st при улове
0.2–0.5 против старта 0.7–1.0. Таблица и остаток P1-2 — доки §4.7.

MAJOR-2: подсказка «⚡ РЫБА ТЯНЕТ — ОТПУСТИ! ⚡» теперь соответствует
механике (отпускание в рывке = выигрышное действие) — текст сохранён.

MINOR: AGENTS.md — forceBite/fishForce в защищённых именах, 68 проверок,
секция «Физика боя»; доки: инвариант «30·reel px/с» заменён фактической
формулой (решение: правка доки, код — источник истины; MINOR-2 ревью).

NIT: сброс forceBite/forceBoss в btnResetYes; полоска stamina сдвинута
после ⛵ (dx+18); near-miss в orca-playtest 1.45·d0; скриншоты свежие.

Тесты: порогов, упёршихся в новые константы, нет (запасы ×2.4–×3.1
проверены прогоном) — 68/68 PASS ×2 подряд, node tools/check.mjs OK.
Живой Orca-браузер: босс 3 фазы прогнан вживую (фазовый SNAP → d=0.6·d0,
tension=0; pointercancel в фоне = сход — поведение корректное).
2026-09-02 06:05:25 +03:00
andrey 70ff9642b3 Физика: спринт 4 P0 — stamina рыбы, drag катушки, честный баланс сил, пустые клёвы + 7 автотестов (68/68) 2026-09-02 00:51:54 +03:00
andrey 057880858e Визуал: обновлены скриншоты (11 кадров: день/ночь/босс, лавка, дневник, карточки) 2026-09-01 19:11:18 +03:00
andrey 5c95309ce0 Sprint 2: ночная рыбалка + босс-рыба + доки/скриншоты 2026-09-01 17:53:42 +03:00
andrey abab18b0d0 Sprint 1: shiny + near-miss + награды (квесты, стрик, достижения) + браузерный плейтест
M1:
- Shiny-рыба (SHINY_CHANCE=0.03, ×3 монет, золотая карточка + бейдж)
- Near-miss: сбежавшая рыба даёт ~10% цены (toast «Сбежала! ...»)
- Миграция сейвов (caught: число → {n,best,sn})

M2:
- Ежедневные квесты (3/день, 6 шаблонов, сид по дате)
- Стрик входов со щитом (1/неделю, награды 25-200 🪙)
- 16 достижений с аддитивными бонусами (+% монет, окно, линия)
- Вкладки 🎯 (квесты+стрик) и 🏅 (достижения) в лавке

Инструменты:
- tests/orca-playtest.js — браузерный плейтест через Orca CLI
- docs/BROWSER-TESTING.md — документация процесса
- AGENTS.md — правила разработки

Проверки: 43 puppeteer + 35 orca-playtest = 78, все PASS
2026-09-01 14:24:21 +03:00
andrey f6d89b7a09 Кнопка сброса прогресса с диалогом подтверждения
- 🗑️ в HUD: диалог «Сбросить прогресс?» (Отмена / Сбросить)
- сбрасывает монеты, снасти, коллекцию и статистику; настройка звука сохраняется
- возврат в главное меню, перезапись localStorage
- автотест: 4 новые проверки (30/30)
2026-08-27 06:50:11 +00:00
andrey 1f224822a9 Механика веса рыбы
- у каждой рыбы свой вес (wMin..wMax кг), цена за 1 кг (price)
- удилища: предел веса (3-40 кг); перегруз -> шнур лопает почти мгновенно
- лучшая удочка/приманка -> выше шанс крупного улова (rollWeight)
- сложность вываживания зависит от веса и перегруза (ov, aggr)
- дневник: максимальный вес по каждому виду
- карточка улова: вес, цена/кг, бейдж «РЕКОРД!» при новом максимуме
- миграция старых сейвов (caught: число -> {n, best})
- автотест: 24 -> 26 проверок (перегруз, рекорд/антирекорд)
- обновлены README и скриншоты
2026-08-27 06:43:54 +00:00
andrey a90123be3b Игра «Рыбалка»: HTML5-канвас, автотесты, скриншоты
- один самодостаточный index.html (мобильное управление, магазин,
  дневник, сохранение в localStorage)
- автотест геймплея в headless Chromium (tests/test.js, 21 проверка)
- скриншоты состояния игры (screenshots/)
2026-08-26 18:15:31 +00:00