18 Commits
Author SHA1 Message Date
andrey 126e402dee Экономика: ушедшие рыбы без наград — выплаты 10% цены убраны из обеих веток схода в updateReel() (escape>=1 и near-miss 1.45·d0), общий хвост вынесен в fishEscaped() (тост «Сбежала! <emoji> <имя> <вес> кг» → WAIT → biteTimer → sfx('escape')), устаревший near-miss-комментарий удалён; формат сейва не менялся. Тост обрыва: теперь с рыбой («💥 Линия лопнула! 🐟 Карась 0.5 кг» / «💥 Рыба крупнее предела удочки! …», разбор ov>1.15 сохранён); босс-обрыв фазы не тронут. Закрывает камень #12 из Этапа T4 (утешения за сходы = 43–47% раннего дохода, фармить сходы было выгоднее). Тесты: §9c переписан (пин save.quests/стрика — монеты не изменились; тост «Сбежала!» с весом без «🪙»), (2b) переиспользован (сход монет не даёт, HUD в согласии с сейвом), +1 чек тоста обрыва (чтение в следующем eval сразу после waitState('SNAP'): тост 1.6 с > SNAP 1.0 с); orca шаг 9 — «сход без выплат». 129/129, exit 0; Orca 61/61 live. Доки: DEVLOG Этап 23, PHYSICS-RESEARCH исходы, README/AGENTS 128→129. 2026-09-07 13:15:28 +03:00
andrey 9914fe89a9 Тесты: починка orca-playtest (ломался с 622d203 — M5) + +13 проверок последних дополнений (48→61). Фикс: профиль Orca переживает localStorage между прогонами (test.js — свежий headless-профиль), а с M5 «фонарик» — не строка, а апгрейд-кнопка удилища 0 при 1–3 ур. → на грязном сейве (4 ур.) шаг 9c падал «no flask»; добавлен шаг 2b — сброс сейва через игру (🗑️ → «Сбросить» = freshSave()+persist+сброс тест-форсов) после error-хуков, без перезагрузки. New: 7c скины (🎨 рендер, покупка «Красный» 500 — списание/авто-экип, клик+состояние в одном eval), 7d локации (🗺️, покупка «Озёра» 100000 — авто-переход+тост+списание, возврат на Реку), 8' золото в дождь (пилюля 🌧️, ratio variantChance ×2.5, улов с SHINY_CHANCE=1 в дождь → 4 ачивки Этапа 22 разом: first_shiny+rain_variant+skin_first+lake_first — skin/lake выдаются на улове, checkAchievements в catchFish, не в лавке), 8b туман (пилюля 🌫️, ratio biteChance ×1.5, скрытие пилюли); +скрины orca-skins/orca-locations; ratio-чеки независимы от баланса/фазы суток (одна eval); реальная погода за прогон не стартует (gap ≥120 c). Доки: BROWSER-TESTING — строки 2b/7c/7d/8/8b в таблице, п.10 камешков (localStorage), пример вывода построчно под реальный прогон, 400/250→70 (d5212e9), 1.4→1.45. 61/61 live ×4 (в т.ч. из грязного сейва), 128/128 headless, exit 0 2026-09-07 11:32:01 +03:00
andrey 4c4b6db1fa Ачивки: Этап 22 — +11 достижений (18→29) по итогам M5/M6/M8/скинов/локаций + «shiny»→«золотая рыба». new: first_silver 🥈 / first_rainbow 🌈 / rain_variant 🌧️ (особая в дождь) / fog_catch 🌫️ / skin_first 🎨 / skins_all 🎭 / lake_first 🗺️ / gear_max ⚒️ (4 ур.) / titan 💪 / weight_1000 🚢 / night_first 🌙 — все coinPct 1–2%. Сейв: +kgTotal/nightCatch/wxRainV/wxFog (чтение ||0, без миграции), крючок в catchFish() до checkAchievements() (rain — только вариант ≠ normal, босс normal). Тексты: квест catch_shiny и desc first_shiny — «Поймай золотую рыбу» (id/SHINY_CHANCE не тронуты); README/BROWSER-TESTING/лейблы test.js+orca-playtest — «золотая рыба». Тесты: +11 (§10g: тексты, данные 29/уникальность, геймплей ночной улов в дождь — 3 счётчика+3 ачивки, first_rainbow/fog_catch, граница 999.9/1000, скины, lake, снасти, старый сейв), пин full_variants 0.13→0.16. 128/128, exit 0; доки: DEVLOG Этап 22, AGENTS/README — 128/29. 2026-09-07 10:50:03 +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 929191b46d Доки/тесты: orca-playtest — вкладка Дневника по id (tabJournal), таблица BROWSER-TESTING — иконки вкладок (📔/🎣) как в UI 2026-09-06 20:40:25 +03:00
andrey e2d9b1fc58 Локации: Этап 5 — «Озёра» за 25000 (вкладка 🗺️, авто-переход), 3 новых вида (судак/хариус/гигантский рак), 4 таблицы ролла (река байт-в-байт), цвет воды по локации, ачивки масштабируются до 11 видов; по ревью: доки/тест-фантом/NIT/скрин озёр. 117/117 ×2, exit 0 2026-09-06 19:29:32 +03:00
andrey 89c6680ae5 M-skins: Этап 4 — скины лодки (Красная 800 / Лодка-домик 2000) и поплавка (Красный 500 / Неоновый 1500), вкладка «Скины» 🎨, чистая косметика; по ревью: доки/миграция бесплатного скина/NIT. 107/107, exit 0 2026-09-06 17:47:01 +03:00
andrey 6b723545c1 M8: Этап 3 — погода: дождь (варианты ×2,5) и туман (клёв ×1,5), событие 120с раз в 2–4 мин, HUD-пилюля + canvas-визуал, forceWeather; по ревью: доки/харденинг флейки 9h/polling-тесты/NIT/скрин дождя. 100/100 ×2, exit 0 2026-09-06 16:00:38 +03:00
andrey e13613a782 M6: Этап 2 — варианты рыб (серебряная ×2 / золотая ×3 / радужная ×5), «Улучшить вариант» на карточке (cost=0.6×Δ), энциклопедия 4 счётчика, ачивка full_variants (+5000, +5% перманентно); по ревью: orca-playtest/доки/скрин/орфо. 92/92, exit 0 2026-09-06 14:37:10 +03:00
andrey 622d203e52 M5: Этап 1 — апгрейды снастей (lv 1..4, save.rodLv/lureLv + миграция), фонарик → первый апгрейд удилища (LURES id=4 удалён), гейтинг лавки lv(i-1)===4; по ревью: доки/скриншот/индентация/NIT. 82/82, exit 0 2026-09-06 12:04:21 +03:00
andrey 73b4ab3bd2 Релиз 5 «Симулятор»: доки спринта 4 (DEVLOG этап 15, AGENTS «Физика боя», README механика) + харденинг escape-теста (пинн aggr/escape — флейк при ag≥0.65). 68/68 ×3, exit 0 2026-09-02 13:31:58 +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 fafa0adacd Исследование: физика рыбалки для спринта 4 (docs/PHYSICS-RESEARCH.md)
Состояние механик (бросок/клёв/подсечка/вываживание/босс), как drag/рывки/
выносливость/подсечка/баллистика устроены в реальности и симуляторах,
приоритеты P0/P1/P2 с формулами и рисками для 61 автотеста, план спринта:
P0 = выносливость рыбы + тормоз катушки (drag) + ребаланс рисков + пустые
клёвы (~190-235 строк, сейв не меняется).
2026-09-01 23:31:03 +03:00
andrey 2c6018748c Девлог: Этап 14 — спринт 3 (параллельные worktree, багфиксы, визуал, тест-инфра, баланс) 2026-09-01 21:18:36 +03:00
andrey d65815ad95 Тесты: харденинг orca-playtest.js — pageerror-хуки, бэкофф ретраев, диагностика кнопок 2026-09-01 18:39:52 +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 34c93b1229 Документация процесса разработки (docs/DEVLOG.md)
- этапы: ТЗ, реализация, среда проверки, автотесты, визуал, баги, публикация
- таблица инструментов с версиями и командами установки
- найденные автотестом баги и выводы
- гигиена секретов (отзыв токена, чистка remote)
- как развивать игру дальше
2026-08-27 06:13:00 +00:00