andrey pushed to main at andrey/fishing-game 2026-09-09 12:02:37 +03:00
053ed3cf17 Доки (AGENTS.md, README.md): i18n (треб. 2.14/2.2) и пауза (треб. 6.3/1.3) — тест-глобалы, «Где крутить», 162 проверки. Вёрстка: check/test(162)/pack(5)/pack-smoke(6) — все PASS.
cef024a2eb Яндекс Игры (6.3, 1.3): кнопка паузы (HUD ⏸, оверлей #pause, pauseOpen-гард в YG.onResume) + пауза звука/игры при blur/focus окна; syncDom() перенесён в frame(). Тесты §Y6 (162/162).
e05a8d1bd3 Яндекс Игры (2.14, 2.2): i18n RU+EN — автоопределение языка через SDK (ysdk.environment.i18n.lang), T-таблица 82×2, device-aware меню, тесты §Y5. 152/152.
1be0c998e9 Скриншоты: витринный набор под требования Яндекс Игр (tests/gen-screenshots.js).
08a6b0195f Яндекс Игры (Y1–Y4): адаптация под требования каталога — SDK, монетизация, полировка, упаковка.
Compare 5 commits »
andrey pushed tag 1.0.0 to andrey/fishing-game 2026-09-08 17:51:06 +03:00
andrey released at andrey/fishing-game 2026-09-08 17:51:06 +03:00
andrey pushed to main at andrey/fishing-game 2026-09-08 12:25:25 +03:00
cacd956e31 Визуал: живая оснастка — крючок под водой, топление поплавка при клёве, диагональное вываживание. 1) Оснастка (WAIT/APPROACH/BITE): поводок от поплавка вниз, крючок (дуга+жало) и наживка; глубина крючка — 42–54% водной колонны по дальности заброса (hookY()); новый глобал castDist (дальность 0..0.97 из doCast), hookPos (позиция крючка, экспорт для отрисовки); эмодзи наживки с крючка убран. 2) Поклёвка: в APPROACH дрожание поплавка растёт по мере приближения рыбы, цель подплывания — hookPos (рыба идёт диагональю от поверхности к наживке, не телепортируется); в BITE поплавок топится (bobber.y=waterY+9, кромка воды поверх нижней половины — drawBobber(sink)), рыба дёргается у крючка в такт топлению (time*22). 3) Вываживание: fishReelPos() — рыба по диагонали от глубины крючка (castTo.x, hookY()) к лодке у поверхности (boatX+24, waterY+10) по прогрессу d/d0 (ease), подводный сегмент лески bobber→рыба; при holding линия удочка-поплавок-рыба натянута (sag=0, поплавок — точка пересечения прямой tip→fish с поверхностью, сглаживание dt*8), при отпускании провис (pull 16 / calm 12); риплы/брызги в REEL/BITE — по позиции поплавка, не castTo.x. Только canvas: механика (updateReel/startBite/hook/catchFish), сейв, баланс и имена тест-глобалов из AGENTS.md не тронуты. tests/shots.js: кадр reel — reel.holding=true + пауза 650 мс (поплавок доходит до натянутого положения). 129/129, exit 0; кадры wait/bite/reel проверены по скриншотам, свежие в screenshots/.
andrey pushed to main at andrey/fishing-game 2026-09-07 13:15:51 +03:00
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.
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
Compare 2 commits »
andrey pushed to main at andrey/fishing-game 2026-09-07 10:50:19 +03:00
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.
andrey pushed to main at andrey/fishing-game 2026-09-07 10:07:13 +03:00
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
andrey pushed to main at andrey/fishing-game 2026-09-06 22:41:36 +03:00
c1e0389e44 HUD вываживания: escape-полоска рисуется поверх синей и слева направо (раньше — справа налево под синей). 117/117, exit 0
f843bc8033 Экономика: базы снастей ×5 (удочки 1750/4500/10000, наживки 1250/3000/7500), цена апгрейда upgCost() — id 0 фикс (250/750/1800, 200/550/1400), id>0 база×UPG_MULT (0.2/0.6/1.2); Озёра 100000; HUD вываживания: ⛵ → иконки 🐟+⚡ (полоска выносливости сдвинута). Тесты: ассерты цен/сиды монет обновлены, +2 (апгрейд по формуле, пин цен), shots 30000. 117/117, exit 0
7496e70e7b Лавка/снасти: Дедова удочка 🧹; строка снасти — в описании только характеристики (без «далее: …»), кнопки в столбец, описание апгрейда на кнопке («⬆ фонарик (ночь), леска ×1.15 · 400 🪙»); скриншот лавки обновлён. 115/115, exit 0
Compare 3 commits »
andrey pushed to main at andrey/fishing-game 2026-09-06 22:03:49 +03:00
219c33ee31 Иконки снастей: Дедова удочка 🌳 (дерево, как просили), Титан 💪 (🦾 нет в Emoji One — квадрат в Orca/chromium); скриншоты screenshots/ обновлены после установки шрифта. 115/115, Orca 47/47, exit 0
andrey pushed to main at andrey/fishing-game 2026-09-06 20:40:45 +03:00
12c5f7d5ec M6b: Этап 21 — убрано «Улучшить вариант» (рыбу нельзя апгрейдить): кнопка #btnCardUp, VARIANT_CHAIN, cardInfo, cardUpNext()/renderCardUpBtn(); карточка — только бейдж/оформление; сейв/дневник/full_variants не тронуты; по ревью: доки/скрины. 115/115, exit 0
929191b46d Доки/тесты: orca-playtest — вкладка Дневника по id (tabJournal), таблица BROWSER-TESTING — иконки вкладок (📔/🎣) как в UI
Compare 2 commits »