Словозбирачі / Wordreapers
Зміст
1. Про гру
2. Правила гри
3. Автори
4. Використання ШІ при розробці
Про гру
Ця гра живе в нашій родині вже три покоління (а, може, й більше).
Спочатку я грав у неї зі своєю бабусею ще в дитинстві — за кухонним столом, на аркуші паперу в клітинку, ручкою. Правила прості: береш довге слово, записуєш його зверху, і за відведений час намагаєшся скласти якомога більше інших слів з його літер. Хто більше — той і переміг.
Потім я виріс, а гра залишилась. І ось уже за тим самим столом, але тепер з власним сином, знову з'являються папір із зошита в клітинку і ручка. Син підбирає слова, сперечається чи «це справжнє слово», радіє кожній знахідці.
Але папір має свої незручності:
- Виникають суперечки: чи є таке слово в словнику, чи слово написане без помилок.
- Коли слів у списку стає багато, починаєш губитися, чи ти вже писав це слово раніше, чи ще ні.
- Переможець стає відомий тільки після ретельного проходження по списку складених слів всіх гравців - відкидаємо слова з помилками, не іменники і так далі.
- Слова треба перераховувати вручну для кожного гравця. А щоб дізнатися загальний список унікальних слів, потрібна ще й додаткова робота.
А коли приходять друзі з вином і закусками — діставати папір і роздавати ручки вже не так зручно.
Так і з'явилась ідея Wordreapers / Словозбирачі — додатку, який бере найкраще з паперової гри і додає те, що папір не вміє.
Що дає додаток Wordreapers / Словозбирачі:
- Словник перевіряє слова автоматично.
- Додаток підказує, чи ти вже вводив таке слово, чи ні.
- Автоматичний підрахунок слів та очок, унікальні слова дають подвоєні очки (опціонально). Рейтинг гравців прямо під час гри.
- Переможець стає відомий миттєво, щойно завершився раунд.
- Знайдені слова в результатах гри зручно переглядати по гравцях, або спільним списком.
- Після завершення часу раунду можна легко подивитися, скільки ще слів не було знайдено жодним з гравців для обраного базового слова.
Гра залишилась тією самою. Просто тепер їй не потрібен папір.
Wordreapers — проєкт з відкритим вихідним кодом. Код доступний на GitHub; внески, повідомлення про помилки та форки вітаються. Це особистий проєкт фізичної особи, не компанії; у App Store та Google Play додаток платний, без реклами в додатку і без підписки — див. Умови користування.
Правила гри
Мета гри
Скласти якомога більше слів із літер одного базового слова за відведений час. Перемагає той, хто набрав найбільше очок.
Перший запуск: спочатку тренування
На новому пристрої (або після очищення локальних даних у налаштуваннях) додаток пропонує спочатку пройти тренування — одиночний раунд без мультиплеєра.
До завершення тренування недоступні:
- «Змагання» (запрошення інших гравців);
- «Приєднатись» на головному екрані;
- введення коду кімнати, сканування QR;
- «Знайти гру» (публічний список кімнат).
Умова проходження: у тренувальному раунді досягти рівня «Гарний темп» — знайти щонайменше min(ceil(5% × N), 25) слів від повного lexicon обраного базового слова (той самий показник «Можна зібрати до N слів» на екрані вибору базового слова й у лобі). Наприклад, якщо N = 200, потрібно знайти 10 слів; якщо N = 571 — 25 слів (стеля абсолютного порогу).
Під час тренування показується смужка успіху з іменованими рівнями (Є прогрес → Гарний темп → Сильний результат 🥉 → Топ раунду 🥈 → Темп чемпіона 🥇). Рівень зараховується за абсолютним або відносним порогом (що легше для цього lexicon). На екрані результатів і в історії solo-раундів видно досягнутий рівень (якщо відомий max lexicon).
Після проходження всі шляхи в мультиплеєр відкриваються. Стан зберігається лише на цьому пристрої (не в хмарі) і скидається після «Очистити локальні дані».
При першому запуску раунду з’являється коротка підказка «Як грати» (чотири кроки), зокрема що зараховуються лише іменники однини в називному відмінку.
Підготовка
Один гравець створює кімнату і обирає базове слово — іменник довжиною від 6 літер (рекомендовано 8 і більше). Під час введення додаток пропонує підказки зі словника базових слів (8+ літер, включно з містами на кшталт Кропивницький); кнопка ↺ обирає випадкове слово з того ж словника. Це не залежить від опції «Дозволити власні назви», яка стосується лише слів під час гри. Поки базове слово порожнє, під полем видно підказку «Обери базове слово»; після вибору (або паузи в наборі) у фоні рахується lexicon — спочатку «Рахуємо слова…», потім «Можна зібрати до N слів». Решта гравців приєднуються за кодом або QR-кодом. Організатор (або гравець у черзі на наступних раундах) налаштовує тривалість раунду (від 5 до 20 хвилин), за бажанням — бонус x2 за унікальне слово (авто для 3+ гравців), дозволити власні назви та/або сленг (обидві опції вимкнені за замовчуванням), і запускає гру. У лобі та сама підказка «Можна зібрати до N слів» перевикористовує вже порахований lexicon (без зміни вигляду лобі).
Тренування (1 гравець): обовʼязковий перший крок для нового гравця на пристрої. Організатор обирає базове слово й запускає раунд локально, без сервера — кнопка «Тренування» на екрані налаштування (до проходження порогу вона виділена як основна). Слова перевіряються так само; результати з хоча б одним зарахованим словом зберігаються лише на пристрої і потрапляють у історію (порожні раунди без слів не зберігаються і не рахуються в статистиці). У профілі на головному екрані та в історії статистика розділена: Змагання (мультиплеєр: ігри, перемоги, слова) і Тренування (solo-раунди та слова, без перемог); в історії можна фільтрувати список за цими категоріями. Після проходження тренування (див. вище) можна запросити інших (код/QR) або опублікувати активний раунд у мультиплеєр.
Як складати слова
Натискай на літери базового слова — вони переміщуються у поле вводу. Використана літера зникає з набору і повертається після зарахування слова або очищення.
Після короткої паузи в наборі (1 секунда) слово перевіряється локально; у онлайн-грі воно одразу з’являється у вашому списку, а збереження на сервер відбувається у фоні. Якщо слово не зараховано (занадто коротке, немає в словнику, вже вводили тощо), під списком з’являється коротке пояснення. Список підсвічує та прокручує до слів із тим самим префіксом, який ви набираєте — зручно, коли слів уже багато.
Слово зараховується, якщо воно:
- є іменником у називному відмінку однини української мови з основного словника
- (опційно) є власною назвою, якщо організатор увімкнув «Дозволити власні назви»
- (опційно) є сленговим словом зі словника, якщо організатор увімкнув «Дозволити сленг»
- складається виключно з літер базового слова
- кожна літера використовується не більше разів, ніж вона є в базовому слові
- має довжину від 2 літер
- не є самим базовим словом
Приклад. Базове слово КОМП'ЮТЕР (літери К, О, М, П, Ю, Т, Е, Р — кожна по одній). Допустимі слова: порт, метр, темп, рот, тор, мор, орт. Недопустимі: мотор (літера «О» лише одна), рота (немає літери «А»).
Бонус x2 за унікальне слово
Якщо бонус увімкнено (режим «Авто» — для 3 і більше гравців):
- слово, яке склав лише один гравець, дає 2 очки; у списку слів з’являється позначка x2
- якщо те саме слово склали кілька гравців — у кожного 1 очко; біля слова показуються аватари інших гравців, які його ввели (тап — ім’я)
Однакові слова не блокуються — усі можуть їх вводити. Бонус перераховується в реальному часі.
У налаштуваннях раунду: Авто (увімкнено за 3+ гравців) або Вимк. — окремого режиму «увімкнути для двох» немає.
Підрахунок очок
За кожне зараховане слово — 1 очко (або 2, якщо слово унікальне і бонус x2 увімкнено).
Переможець — гравець з найбільшою кількістю очок. За однакової кількості очок — перевага у того, хто знайшов більше слів.
Під час гри
- Рейтинг — кнопка «Рейтинг» показує поточне місце і кількість слів кожного гравця. Твої слова іншим не видно до кінця гри.
- Лічильник слів — у рядку статусу: місце · знайдено/макс · очки (наприклад
2м · 12/571сл · 14оч). Макс — скільки слів можна скласти з літер базового слова за правилами раунду (повний Round Playable Lexicon зі словника). - Таймер — червоніє, коли залишилась хвилина; сповіщення (звук/вібрація) на 60 с, 10 с і 5–1 с — налаштовується в додатку.
- Пауза — будь-який гравець може запропонувати паузу; потрібна згода усіх підключених суперників (без них пауза вмикається одразу). Продовжити може будь-який гравець — знову потрібна згода усіх підключених суперників; якщо за 30 с ніхто не відмовився, гра продовжиться автоматично. У одиночній грі (або коли в раунді немає підключених суперників) таймер також зупиняється автоматично, якщо ви вимкнули екран або перейшли в інший додаток; після повернення натисніть «Продовжити». Якщо система закрила додаток під час паузи (тренування або спільна пауза в мультиплеєрі), після повторного відкриття гра відновлює екран із модалкою паузи — прогрес раунду не губиться. Якщо ви вийшли з мультиплеєр-раунду, але ще на екрані з «Повернутись до гри», і система закрила додаток — після відкриття знову з’явиться цей екран (поки кімната існує).
- Додатковий час — будь-який гравець натискає на таймер і пропонує додати час (+1, +3, +5, +10 або +20 хвилин). Потрібна згода всіх активних учасників. Поки триває голосування (до 30 с), раунд не завершується по таймеру — можна проголосувати навіть якщо на екрані вже 00:00. Якщо всі відмовляться або час голосування вичерпається без згоди — раунд завершиться; якщо всі погодяться — таймер продовжиться.
- Дострокове завершення — будь-який гравець може запропонувати завершити гру раніше (без підключених суперників — одразу). Потрібна згода усіх підключених суперників; якщо за 30 с ніхто не відмовився, раунд завершиться навіть без явної згоди всіх. Після завершення з’являється вікно «Гру завершено!»; результати — за вашим натиском.
Результати
Після завершення раунду відкривається екран результатів з двома вкладками:
- Всі слова — загальний алфавітний список знайдених слів: біля слова — кольорові аватари авторів (тап — ім’я; якщо авторів більше чотирьох — перші три аватари та «+N» зі списком решти), позначка x2 для слів з бонусом. Заголовок: «Базове слово: … · N з M слів» (M — повний lexicon раунду). Перемикач «Показати всі можливі слова» розгортає весь lexicon — пропущені слова приглушені, знайдені — з авторами; біля незнайденого слова можна відкрити тлумачення на сторонньому сайті goroh.pp.ua (системний браузер / вкладка в додатку; лише URL, які формує додаток). Це не частина гри: на сторінках goroh може бути реклама та інший контент, за які оператор Wordreapers не відповідає — див. Умови користування.
- По гравцях — слова кожного гравця окремо; біля спільних слів — аватари інших гравців, унікальні — з позначкою x2
Після раунду можна натиснути «Грати ще» з тим самим складом — кімната відкриється знову, черговий гравець обере нове базове слово. Перехід у лобі — коли ви самі захочете (або коли хтось інший уже почав новий раунд — з’явиться сповіщення).
Онлайн: приватні та публічні кімнати
За замовчуванням кімната приватна — до неї можна потрапити лише за кодом або QR від того, хто знає код.
Організатор може опційно зробити кімнату публічною — тоді незнайомці зможуть знайти її в списку «Знайти гру» на екрані приєднання (без коду). Це сімейна гра з друзями за замовчуванням; гра з незнайомцями — свідомий вибір.
У публічних кімнатах і після приєднання через «Знайти гру» діють додаткові обмеження: базове слово лише з перевіреного списку, без сленгу й власних назв у раунді (lexicon лише з основного словника). У списку «Знайти гру» показуються лише базове слово та кількість гравців — без імен. Після приєднання незнайомцям у лобі та грі показуються псевдоніми «Гравець 1», «Гравець 2» тощо, а не ваше профільне ім’я. У списку «Знайти гру» ви побачите лише кімнати тією ж мовою гри, що обрали для пошуку (коли мов буде кілька). Список завантажується сторінками по 20 («Показано 1–20 з …»); внизу — навігація << 1 2 3 … > >>. Можна сортувати за часом створення або алфавітом базового слова. Чату в додатку немає — лише спільна гра, рейтинг і результати.
Батьки та опікуни вирішують, чи доречно дитині грати в публічному режимі з незнайомцями.
Заголовок переможця узгоджується зі статтю: «Юля перемогла», «Артем переміг» (або нейтральне «Переможець: …», якщо стать не вказана). Стать задається в профілі гравця.
Мова інтерфейсу
Мова меню, кнопок і підказок — українська. Зараз інших мов інтерфейсу немає; англійська запланована в наступних версіях.
Підтримка мов гри
Підтримуються лише мови з повним вбудованим словником — слова перевіряються автоматично під час раунду.
Українська — словник ВЕСУМ. За замовчуванням — лише основний словник (звичайні іменники). Організатор може увімкнути власні назви та/або сленг — окремі опції раунду (у публічних кімнатах і після приєднання через «Знайти гру» ці опції вимкнені на решту сесії).
Англійська — запланована в наступних версіях разом із повним словником; без словника мова гри не з’явиться в налаштуваннях.
У зв’язку з повномасштабним вторгненням Російської Федерації в Україну підтримка російської мови не планується.
Автори
Wordreapers — сімейний проєкт, народжений з любові до слів і спільних вечорів за столом.
Ідея і розробка — Василь Зайцев за підтримки Claude (Sonnet 4.5, Opus 4.6) та Cursor IDE
Натхнення — моя бабуся
Тестувальник — мій син
Найкращий суперник — моя дружина
Додаток створено з нуля як особистий проєкт у 2026 році.
Словник української мови — ВЕСУМ (CC BY).
_Грайте разом. Вчіть нові слова. Сперечайтесь про мову._
Використання ШІ при розробці
Додаток не використовує штучний інтелект під час гри: слова перевіряються локально за словником ВЕСУМ, без звернень до LLM.
При створенні проєкту я користувався Claude (Sonnet 4.5, Opus 4.6), Cursor IDE та ChatGPT (іконка й логотип) як інструментами написання коду, тестів, документації та графіки. Усі зміни проходять автоматичні перевірки (lint, typecheck, тести) і мою перевірку; код відкритий на GitHub.
Відповідальність за зміст гри, технічну реалізацію та дані гравців несе автор — Василь Зайцев.
Повна заява про використання ШІ та відповідальність
Відкритий код
Код додатку відкритий на GitHub. Деталі та ліцензія — у файлі legal/uk-uk/open_source.md.
Юридична інформація
Це особистий проєкт фізичної особи, не компанії. Додаток платний у магазинах застосунків, без реклами в самому додатку; документи нижче описують умови використання.
| Документ | Зміст |
|---|---|
| Політика конфіденційності | Які дані збираються (профіль, ігрові сесії) і ваші права |
| Умови користування | Відмова від гарантій, обмеження відповідальності, правила поведінки |
Коротко:
- Оплата — одноразова покупка в App Store / Google Play; без реклами та підписки в додатку. Добровільне відкриття тлумачень на goroh.pp.ua може показати рекламу того сайту — це не реклама Wordreapers.
- Конфіденційність — гра можлива без реєстрації; ми не продаємо дані; для мультиплеєра використовується хмарний сервіс Google.
- Умови — додаток «як є», без гарантій; оператор не відповідає за спори між гравцями, помилки словника, втрату прогресу чи за зміст / рекламу сторонніх сайтів (зокрема goroh) у межах, дозволених законом.
Питання: vaza18@gmail.com