Проект: 🎩 Шляпа  Публичный пост
28 июля 2026  114
🎩 Шляпа
https://kix.github.io/hat/

В какой-то момент просто сидеть и пить пиво в баре перед концертом нам с друзьями надоело, и мы решили добавить развлечений. Началось всё с игры в «Крокодила», где показываешь слова жестами, но потом мне рассказали про «Шляпу».

Расскажите о себе и сути проекта?

«Шляпа» в нашем варианте — это когда вы разбиваетесь на пары (обязательно нужно чётное количество человек). По кругу передаётся телефон с запущенным приложением. Тот, у кого в паре сейчас в руках телефон — объясняет слово, а второй угадывает. Использовать для подсказки синонимы, созвучия и переводы на другой язык считается нарушением.

Вот так примерно играем
Вот так примерно играем

Как появилась идея? Что вдохновило?

Идея, конечно же, краденая. В апсторах есть «Шляпа», но NIH-синдром сделал своё дело. Во-первых, словарь очень ограниченный. Во-вторых, ну камон, если что-то можно сделать в вебе, то это нужно сделать. В-третьих, давно хотелось что-нибудь навайбкодить, а то токены лишние валяются.

Что вошло в прототип и сколько времени на него было потрачено?

Прототип уже сейчас довольно полнофункциональный. Играть в режиме «один телефон на толпу» точно можно. Из важных элементов:

  • словарь существительных русского языка на 55 тысяч слов
  • разметка словаря через Wordfreq вайбкожаным скриптом на питоне
  • интерфейс, чтобы ничего случайно не нажималось, ну и понятно было, кто загадывает, кто победил и т.д.
  • запоминание имён игроков и настроек сессий в Supabase
  • туда же в Supabase летит статистика по времени отгадывания слов. Колдовство с частотным словарём — это, конечно, классно, но тут можно развернуться дальше и, предположим, собирать частотность уже исходя из прошедших игр.

Первый коммит был, получается, 1 июля. Но там было немножко уже готового кода, так что потратил где-то месяц.

Какой технологический стек вы использовали? Почему?

Взял TS+React+Mantine+xState. Авторизацию и БД слил на Supabase. Выбор такой, потому что во-первых я люблю реакт, а во-вторых хотелось попробовать, на что вообще похож этот ваш современный фронтенд.

Как вы запускались и искали первых пользователей?

Первые пользователи сами очень обрадовались, когда узнали, что у них теперь будет своё приложение для игры, с мэйнтейнером, которому можно набить лицо купить пива в качестве благодарности.

С какими самыми неожиданными трудностями пришлось столкнуться?

Дебаггинг по скриншотам — святое дело
Дебаггинг по скриншотам — святое дело

Первые несколько игр, конечно, были не без проблем, потому что сформулировать хорошую формулу сложности слова не так-то просто. Я почему-то думал, что если дать длине слова 40% веса, то будет ок, но не тут-то было:

Зато теперь я знаю, что такое льяло
Зато теперь я знаю, что такое льяло

Когда слово не может объяснить даже Gemini
Когда слово не может объяснить даже Gemini

Ну и ещё пришлось файнтюнить интерфейс. Люди случайно нажимали кнопку «Начать раунд» за чужую команду, поэтому добавился итоговый экран. Плюс, чтобы избежать случайных нажатий на «Угадано», добавил таймаут.

Бета-тестеры пишут репорты
Бета-тестеры пишут репорты

В процессе игры ещё выяснилось, что часто игрок успевает в последнюю секунду ткнуть кнопку «Угадано» и видит следующее слово из шляпы, что портит концепт. Так пришли к идее добавить «финальный» раунд, когда у отгадывающего есть только один шанс.

Сколько потратили и заработали? Есть идеи как это можно монетизировать?

Потратил только время. Монетизацию планирую как минимум бесплатным пивом (пп-чат, камон, я про вас!), но можно попробовать добавить, например, полноценный протестированный мультиплеер за денежку, если я вылезу за пределы ресурсов Supabase (что-то мне подсказывает, что держать кучу открытых вебсокетов может быть недёшево).

Какие планы на будущее?

Есть мысль попробовать таки реализовать и другие три режима игры, но с другой стороны может оно и не надо.

Мультиплеер надо прокачивать. Играть с одного телефона проще и удобнее, но поддерживать случай, когда людям стрёмно давать друг другу телефоны, наверное, надо.

Англоязычная версия вообще не тестировалась. Страшно пробовать.

Ну и ещё надо бы больше ачивок и статы. И разобраться, как привязать профили других игроков к игре в один телефон (но тут есть идейки).

Нужны ли какие-то советы или помощь Клуба?

Любой конструктивный фидбек полезен!

Какой совет вы бы сами могли дать идущим по вашим стопам?

Вайбкодить — хорошо, но нужно давать агенту жёсткие рамки тестов, линта и всего остального. Поначалу я пытался это делать, но в итоге забил. Теперь только с рабочими коммерческими проектами так запариваюсь.

За месяц получилось сделать красиво в основном по той причине, что были частые итерации. Днём подёргал ИИ, чтобы он там всё исправил — вечером в баре с друзьями собрал фидбек и получил звездюлей за слово «льяло» — на следующий день готова новая итерация.

PS. Вся эта шляпа — полный опенсорс, так что запросто кидайте пулреквесты!

PPS. Хонорабл меншн за бета-тестирование уходит белградскому комьюнити «Поесть попить»

5 комментариев 👇

у нас в компании друзей практиковался такой вариант:

  1. угадываем только имена — не важно, реальные люди или вымышленные, настоящие/не настоящие, человек или магический зверь — главное, загадываются только имена (с фамилиями, конечно, где это нужно)
  2. каждый участвующий сам придумывает десяток-двадцаток имён, никакого словаря

собственно, предложение, чтобы можно было использовать не только словарь с рандомными словами, а иметь возможность заполнять "банк" своими вариантами перед каждой игрой. с точки зрения реализации будет прикольно, если каждый участвующий сможет делать это со своего телефона — один телефон работает как хост игры, другие скидывают в него варианты перед игрой.

  Развернуть 1 комментарий
🕵️ Юзер скрыл свои комментарии от публичного просмотра...

Мы тоже играем с именами и сами накидываем в шляпу варианты, таким образом игра каждый раз кастомная для разной компании, заранее обговариваем, что все должны плюс-минус понимать кто эти люди)
Плюс у нас одна игра делится на три этипа с одним и тем же пулом слов:

  1. Объясняем голосом всех персонажей
  2. Объясняем пантомимой всех тех же персонажей
  3. Объясняем одним словом-ассоциацией

Звучит сложно, но к третьему прогону вы уже более-менее запомнили пулл вариантов и угадывается легко

Быо бы здорово увидеть этот вариант как режим игры

  Развернуть 1 комментарий
🕵️ Юзер скрыл свои комментарии от публичного просмотра...

😎

Автор поста открыл его для большого интернета, но комментирование и движухи доступны только участникам Клуба

Что вообще здесь происходит?


Войти  или  Вступить в Клуб