andrey abc66745a7 Баланс: клёв медленнее, крупная рыба и босс реже (T5 плейтест)
Живая проверка в браузере Orca (бот с человеческой реакцией 140 мс,
582 заброса, 3 профиля снастей): клёв почти мгновенный (медиана 4.8-6.5 с,
0 пустых забросов из 292), вываживание без риска (0 сходов и 0 обрывов
на 329 уловов, сом 17.5 кг на дедовой удочке), экономика обгоняет лавку
(192 мон/мин старт, 979 мон/мин на стеклопластике с червём, rod3+lure3
к 8-й минуте), босс 18/18 побед без шанса проигрыша (пик нагрузки 0.46-0.6
линии, награда +8-16.6k против цены топ-комплекта 2800).

Правки только числами:
- клёв: rand(2.5,7)→rand(4,10), rand(3,7)→rand(5,10), rand(3,8)→rand(5,11);
- SPECIES: щука 12→9, сом 7→5, осётр 3.5→2.5, цена осетра 80→65;
- SPECIES_NIGHT: щука 30→22, сом 25→18, осётр 5→4.

Веса карася (день 100 / ночь 40), цены удочки-2 (250) и червя (150)
не тронуты — зафиксированы ассертами test.js. Сходы/обрывы (тела
updateReel) и ×5 босса (catchFish) — логика, вне компетенции T5:
рекомендации в отчёте. Проверка: node --check OK, test.js 58/58
6 прогонов подряд.
2026-09-01 21:04:53 +03:00

🎣 Рыбалка

Браузерная мобильная игра про рыбалку. Один HTML-файл, без зависимостей — просто открой в браузере и играй.

Меню Клёв Вываживание Улов
меню клев вываживание улов

Как играть

Управление одним пальцем (вертикальный экран):

  1. Держи палец — заряжается мощность броска, отпусти — кидаешь удочку. Чем дальше, тем реже, но ценнее рыба.
  2. Когда поплавок нырнул и появилась «!» — быстро нажми экран, чтобы зацепить. У редких рыб окно на подсечку всего доли секунды.
  3. Вываживание: держишь палец — втягиваешь, но растёт нагрузка на шнур (жёлтая полоса справа). Рыба периодически тянет (⚡, с вибрацией) — отпусти в этот момент, иначе шнур лопнет. Полоса снизу — оставшаяся дистанция: доведи рыбку до лодки. Чем крупнее рыба, тем сильнее рвёт и дольше тянет.
  4. У каждой рыбы свой вес, продажа — по цене за кг своего вида (от 20 до 1500 🪙/кг). Крупная рыба = большие деньги.
  5. У удочек есть предел веса (3–40 кг): зацепишь более тяжёлую — шнур лопнет почти мгновенно. Чем лучше удочка и приманка, тем выше шанс зацепить крупную. Новый максимум по виду отмечен бейджем «🏆 РЕКОРД!» на карточке улова.
  6. На монеты — новые удилища и приманки в магазине 🛒.
  7. Награды 🎯: три квеста дня (уловы, монеты, забросы) с наградой за выполнение; стрик входов — ежедневная награда растёт до дня 7, «щит» прощает один пропуск в неделю; 17 достижений 🏅 с постоянными бонусами (+% к монетам, окно подсечки, нагрузка шнура).
  8. День/ночь: полный цикл суток ~5 минут (утро → день → вечер → ночь). Ночью свой состав рыб — сом, щука и окунь активнее, но без 🪯 фонарика из лавки клёва не будет.
  9. Осётр-босс: при поимке осётра есть шанс встретить босса. Бой идёт в 3 фазы — босс «рвёт и уходит», и каждая следующая фаза глубже; удерживай, чтобы втащить. Награда ×5 к цене.

Возможности

  • 8 видов рыб с собственным весом (0.05–40 кг) и ценой за кг (5 уровней редкости)
  • Удилища: предел веса, прочность шнура, скорость подсечки, бонус на крупную рыбу
  • Приманки: частота клёва, дальность броска, шанс редких и крупных
  • Цикл дня и ночи (~5 мин на сутки): ночью своя таблица рыб (сом/щука/окунь активнее), без 🪯 фонарика ночью клёва нет
  • Босс-рыба — Осётр-босс (шанс при поимке осётра): 3 фазы «рвёт и уходит», награда ×5, достижение «Босс-рыбак»
  • Квесты дня (3 шт, генерация по дню), стрик входов со «щитом», 17 достижений с бонусами
  • Дневник рыбака — коллекция, максимальный улов по каждому виду, статистика
  • Магазин с вкладками: Снасти 🎣, Дневник 📔, Награды 🎯, Достижения 🏅
  • Прогресс и коллекция сохраняются в localStorage (старые сейвы мигрируются автоматически)
  • Сброс всего прогресса кнопкой 🗑️ в HUD — через диалог подтверждения (настройка звука при сбросе сохраняется)
  • Звуки на WebAudio, вибрация на телефоне
  • Вся графика нарисована на Canvas — внешних ресурсов нет

Документация

📋 Процесс разработки — этапы (ТЗ → прототип → автотесты → публикация), инструменты, найденные баги, гигиена секретов и как развивать игру дальше.

Запуск

Просто открой index.html в браузере (десктоп или телефон). Для локальной разработки:

python3 -m http.server 8000
# → http://localhost:8000

Тесты

Автотест прогоняет весь геймплей (бросок, подсечка, все исходы вываживания, магазин, дневник, сохранение, shiny-рыба, near-miss, миграция сейва, квесты, стрик, достижения, день/ночь с фонариком, босс-рыба в 3 фазы) в headless Chromium:

cd tests
npm install          # ставит puppeteer-core
node test.js         # 54 проверки

Нужен установленный Chromium (executablePath в test.js при необходимости поправить).

Есть и браузерный плейтест «вживую» во встроенном браузере Orca: node tests/orca-playtest.js (из каталога репо, требует запущенный Orca app) — детали в docs/BROWSER-TESTING.md.

S
Description
Браузерная мобильная игра про рыбалку: один HTML-файл, без зависимостей
Readme
228 MiB
1.0.0
Latest
2026-09-08 17:51:06 +03:00
Languages
HTML 63.6%
JavaScript 35.5%
Python 0.9%