Теперь голы считаются автоматически, соперника вызывают на бой через телеграм-бота, а система оповещает звуками «Мортал Комбат» Fight! Расскажу, как провели цифровую трансформацию настольного футбола.
Привет, я Иван Григорьев, управляющий партнер LARD. В офисе между рабочими задачами мы с коллегами любим поиграть в настольный футбол. Игра здорово разгружает голову, после нее легче придумывать решения в наших digital-проектах.
Однажды нам пришла мысль модернизировать игру. В коллективе много разработчиков, и мы подумали: почему бы не сделать любимый футбол современнее? Например, автоматизировать процесс подсчета голов и вести статистику игр.
В статье рассказываю, как реализовали эту идею и как автоматизация настольного футбола повлияла на нашу корпоративную культуру.
Что и как автоматизировали в игре
Автоматизацией игры мы занимались в свободное время. Через два месяца была готова MVP-версия с подсчетом голов и визуализацией основных игровых моментов в режиме реального времени, а также с последующим сохранением этих данных для статистики. Затем постепенно дорабатывали и улучшали «умный» настольный футбол.
Вот что появилось в нашей игре в результате:
1. Вызов соперника через телеграм-бота. В боте есть список пользователей, зарегистрированных в системе. Из списка нужно выбрать, с кем хотите поиграть, и «бросить вызов». Выбранный пользователь получает сообщение от бота с приглашением — он может его принять или отклонить.
2. Визуализация данных текущей игры. К мини-компьютеру Raspberry Pi, который также является сервером «умного» футбола, мы подключили сенсорный дисплей. Во время игры на нем отображаются имена игроков, время с начала тайма и текущий счет.
3. Расчет текущего счета игры в режиме реального времени. Чтобы система автоматически определяла, когда мяч попадает в ворота, мы установили датчик прерывания на основе светодиода и датчика ИК-диапазона.
Когда мяч попадает в ворота, возникает препятствие между ИК-датчиком и светодиодом — свет излучателя на доли секунды прерывается. Датчик прерывания регистрирует событие, а затем информацию о нем обрабатывает Raspberry Pi. После анализа данных информация выводится на дисплей, и мы понимаем, кто забил гол. Так мы регистрируем каждое попадание мяча в ворота.
В качестве программного стека используется связь Laravel и Vue, а для передачи данных в режиме реального времени — WebSocket.
Сначала датчики регистрировали ложные голы, но мы нашли решение.
Ворота технически не идеальны. Ось излучателя двигалась, и луч не всегда попадал в принимающий диод. Были помехи, и система засчитывала нелегитимные голы.
Сначала мы добавили функционал, который сбрасывает такие голы, а затем сконструировали крепления для датчиков и напечатали их на 3D-принтере. Теперь считаем только реальные голы, а заодно избавились от дребезга ворот во время игры.
4. Звуковое сопровождение. Каждое попадание мяча в ворота, будь то гол или два подряд, сопровождается звуковым сигналом. Для вывода звука использовали обычные колонки, которые подключили к «сердцу» системы — Raspberry Pi. Причем для каждого события можно установить разные звуки, например фанфары для победного гола.
5. Персонализация. Мы спроектировали личный кабинет, в котором пользователь может настроить свой профиль: выбрать аватарку, задать звуки для событий, посмотреть историю игр. Бросить вызов можно прямо из личного кабинета, а еще он привязан к телеграм-боту, чтобы данные о вызовах синхронизировались.
6. Статистика на основе истории игр. После каждого состязания система сохраняет данные об игре, из них формируется статистика. В личном кабинете можно посмотреть не только историю своих игр, но и общую турнирную таблицу: сколько всего игр у каждого игрока, сколько из них поражений и побед, какой рейтинг.
«Умный» настольный футбол — часть нашей корпоративной культуры
Мы и так любим настольный футбол, а после модернизации интерес к игре у коллектива вырос еще больше.
За игрой мы расслабляемся. Добавили интерактива, и играть стало увлекательнее. В любое время можно отвлечься и пойти поиграть, главное — найти соперника. Подавляющее большинство сотрудников играет, и отдых помогает нам перезагрузиться, легче переключаться на разные темы в рабочих проектах.
Общаемся без формальностей. Нередко в компаниях люди общаются сухо и формально на «вы», и за обедом нечего обсудить с коллегой, не считая рабочих вопросов. В таком коллективе скучно и неинтересно работать. У нас всё иначе, и во время футбола мы можем посмеяться, выразить эмоции.
Непринужденная обстановка помогает нам генерировать новые идеи и создавать крутые digital-решения. Это еще сильнее сплачивает наш коллектив.
Придумываем новые идеи
Несмотря на уже немалый функционал, хотим реализовать в игре следующие идеи:
Регистрировать больше событий. Например, с помощью датчика силы и шкалы измерений оценивать силу удара, чтобы знать, был ли это обычный или суперудар. А затем сделать разную озвучку для разных по силе ударов.
Приглашать не зарегистрированного в системе пользователя. Сейчас телеграм-бот приглашает только зарегистрированных.
Увеличить число игроков. Например, чтобы могли играть четыре человека, то есть двое на двое.
Запустить турниры. Всё, как в настоящем футболе, согласно турнирной таблице: есть много команд, система распределяет соперников, победители разных команд играют друг с другом.
Добавить достижения игрока. Разные ачивки и анимации. Например, забил пять голов подряд — дается медалька, присваивается статус какого-нибудь известного футболиста вроде Месси.
Так мы сочетаем отдых с работой. После автоматизации настольного футбола игра с расширенным функционалом и интерактивом стала более интересной. Теперь мы чаще играем и тусуемся вместе в неформальной обстановке, после чего придумываем классные решения в разработке проектов.
Поделитесь в комментариях, какая корпоративная культура есть в вашем коллективе. Может, тоже во что-то играете или автоматизируете?
О некоторых наших проектах я пишу у себя в телеграм-канале, если интересно, подписывайтесь.
Комментарии (7)
UksusoFF
21.10.2023 14:04+1У нас была рандомилка которая генерировала команды 2 на 2 из всех участников чата и приглашала играть в определенное время :)
До железной части так и не дошли.IvanGrigorjev Автор
21.10.2023 14:04+1Хорошая идея, нужно нам прикрутить ))
Сейчас в планах турнирную сетку реализовать с рандомной генерацией противников)
Mirzapch
21.10.2023 14:04Какой наглый игрок справа на видео. Покажите ему правила настольного футбола. https://www.tablesoccer.org/rules/documents/ITSFRulesEnglish.pdf
sokolov_fv
21.10.2023 14:04Забавно. С точки зрения игры много чего можно предложить и улучшить, только какое отношение это имеет к управлению персоналом? У меня возникло впечатление, что это не просто реклама своих достижений, но и попытка собрать идеи читателей, а потом их монетизировать.
Действительно, часто на работе общение происходит на уровне "привет" и "пока". Игра расслабляет, дает выплеск эмоций и способствует неформальному общению, но всё это работает и без планшета с личным кабинет. Напротив, технологии скорее мешают этому общению. Вместо того, чтобы зайти к коллеге в его кабинет, договориться с ним об игре, вы нажмёте кнопку, он нажмёт кнопку.
То есть игра, призванная наладить неформальный контакт, познакомить людей, сблизить, дать им возможность общаться чаще, в результате мешает этому контакту, человек больше общается с планшетом и с ботом в телеграм. Вместо того, чтобы спросить: какой у нас счёт, оба игрока будут пялиться на экран.
Резюме. Этим открытиям уже около ста лет, ещё при советской власти в учреждениях стояли бильярды и столы для тенниса. Это работает, это даёт сотрудникам отдохнуть, производительность труда повышается. Нужны ли новейшие технологии с приложениями? Скорее нет, это пустая трата денег и времени.
BogdanPetrov
О, у нас тоже было что-то подобное. Правда из общего с перечисленным в статье только статистика по игрокам, при этом все собиралось вручную.
Рейтинг тоже был по аналогичной схеме + можно было отслеживать динамику от матча к матчу. Из интересных показателей: diversity. Если он низкий, то игрок часто играет в паре с одними и теми же людьми.
В статистике фиксировали тип гола (в том числе автогол) и номер фигурки. Это позволило визуализировать стиль игры каждого участника.
Картинки
Например, за свою недолгую игровую карьеру я забил 62 гола вот с таких фигур
и распределение по типам голов (здесь черным - обычные удары, зеленым - более хитрые, а красным - случайные)
Для более профессионального игрока статистика выглядит иначе
IvanGrigorjev Автор
Очень круто на счёт статистики голов каждого игрока на поле. А как регистрировали авторов голов, т.е. фигурки?