{"id":14284,"url":"\/distributions\/14284\/click?bit=1&hash=82a231c769d1e10ea56c30ae286f090fbb4a445600cfa9e05037db7a74b1dda9","title":"\u041f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0444\u0438\u043d\u0430\u043d\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043d\u0430 \u0442\u0430\u043d\u0446\u044b \u0441 \u0441\u043e\u0431\u0430\u043a\u0430\u043c\u0438","buttonText":"","imageUuid":""}

Что бывает, когда в настольный футбол играют разработчики: проапгрейдили не только игру, но и корпоративную культуру

Теперь голы считаются автоматически, соперника вызывают на бой через телеграм-бота, а система оповещает звуками «Мортал Комбат» Fight! Расскажу, как провели цифровую трансформацию настольного футбола.

Привет, я Иван Григорьев, управляющий партнер LARD. В офисе между рабочими задачами мы с коллегами любим поиграть в настольный футбол. Игра здорово разгружает голову, после нее легче придумывать решения в наших digital-проектах.

Однажды нам пришла мысль модернизировать игру. В коллективе много разработчиков, и мы подумали: почему бы не сделать любимый футбол современнее? Например, автоматизировать процесс подсчета голов и вести статистику игр.

В статье рассказываю, как реализовали эту идею и как автоматизация настольного футбола повлияла на нашу корпоративную культуру.

Что и как автоматизировали в игре

Автоматизацией игры мы занимались в свободное время. Через два месяца была готова MVP-версия с подсчетом голов и визуализацией основных игровых моментов в режиме реального времени, а также с последующим сохранением этих данных для статистики. Затем постепенно дорабатывали и улучшали «умный» настольный футбол.

Вот что появилось в нашей игре в результате:

1. Вызов соперника через телеграм-бота. В боте есть список пользователей, зарегистрированных в системе. Из списка нужно выбрать, с кем хотите поиграть, и «бросить вызов». Выбранный пользователь получает сообщение от бота с приглашением — он может его принять или отклонить.

Один игрок выбирает соперника, а второму приходит приглашение на игру

2. Визуализация данных текущей игры. К мини-компьютеру Raspberry Pi, который также является сервером «умного» футбола, мы подключили сенсорный дисплей. Во время игры на нем отображаются имена игроков, время с начала тайма и текущий счет.

3. Расчет текущего счета игры в режиме реального времени. Чтобы система автоматически определяла, когда мяч попадает в ворота, мы установили датчик прерывания на основе светодиода и датчика ИК-диапазона.

Когда мяч попадает в ворота, возникает препятствие между ИК-датчиком и светодиодом — свет излучателя на доли секунды прерывается. Датчик прерывания регистрирует событие, а затем информацию о нем обрабатывает Raspberry Pi. После анализа данных информация выводится на дисплей, и мы понимаем, кто забил гол. Так мы регистрируем каждое попадание мяча в ворота.

В качестве программного стека используется Laravel и Vue, а для передачи данных в режиме реального времени — WebSocket.

Сначала датчики регистрировали ложные голы, но мы нашли решение.

Ворота технически не идеальны. Ось излучателя двигалась, и луч не всегда попадал в принимающий диод. Были помехи, и система засчитывала нелегитимные голы.

Сначала мы добавили функционал, который сбрасывает такие голы, а затем сконструировали крепления для датчиков и напечатали их на 3D-принтере. Теперь считаем только реальные голы, а заодно избавились от дребезга ворот во время игры.

4. Звуковое сопровождение. Каждое попадание мяча в ворота, будь то гол или два подряд, сопровождается звуковым сигналом. Для вывода звука использовали обычные колонки, которые подключили к «сердцу» системы — Raspberry Pi. Причем для каждого события можно установить разные звуки, например фанфары для победного гола.

5. Персонализация. Мы спроектировали личный кабинет, в котором пользователь может настроить свой профиль: выбрать аватарку, задать звуки для событий, посмотреть историю игр. Бросить вызов можно прямо из личного кабинета, а еще он привязан к телеграм-боту, чтобы данные о вызовах синхронизировались.

6. Статистика на основе истории игр. После каждого состязания система сохраняет данные об игре, из них формируется статистика. В личном кабинете можно посмотреть не только историю своих игр, но и общую турнирную таблицу: сколько всего игр у каждого игрока, сколько из них поражений и побед, какой рейтинг.

Мы придумали свою формулу для расчета рейтинга: кто часто выигрывает — забирает баллы оппонента.

Так выглядит турнирная таблица

«Умный» настольный футбол — часть нашей корпоративной культуры

Мы и так любим настольный футбол, а после модернизации интерес к игре у коллектива вырос еще больше.

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

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

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

Непринужденная обстановка помогает нам генерировать новые идеи и создавать крутые digital-решения. Это еще сильнее сплачивает наш коллектив.

Придумываем новые идеи

Несмотря на уже немалый функционал, хотим реализовать в игре следующие идеи:

  • Регистрировать больше событий. Например, с помощью датчика силы и шкалы измерений оценивать силу удара, чтобы знать, был ли это обычный или суперудар. А затем сделать разную озвучку для разных по силе ударов.
  • Приглашать не зарегистрированного в системе пользователя. Сейчас телеграм-бот приглашает только зарегистрированных.
  • Увеличить число игроков. Например, чтобы могли играть четыре человека, то есть двое на двое.
  • Запустить турниры. Всё, как в настоящем футболе, согласно турнирной таблице: есть много команд, система распределяет соперников, победители разных команд играют друг с другом.
  • Добавить достижения игрока. Разные ачивки и анимации. Например, забил пять голов подряд — дается медалька, присваивается статус какого-нибудь известного футболиста вроде Месси.

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

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

Об интересных проектах я рассказываю у себя в телеграм-канале. Поделитесь в комментариях, какая корпоративная культура есть в вашем коллективе. Может, тоже во что-то играете или автоматизируете?

0
40 комментариев
Написать комментарий...
Павел Кожевников

Крутая идея, крутая реализация! В офисе видимо скучно не бывает)
Осталось дисплей малинки заменить на экран телевизора)
Еще есть предложение, добавить анимацию (также с персонализированной настройкой в личном кабинете) при забитом голе (как в боулинге) ;)

Ответить
Развернуть ветку
Павел Кожевников
Ответить
Развернуть ветку
Павел Кожевников
Ответить
Развернуть ветку
Павел Кожевников
Ответить
Развернуть ветку
Иван Григорьев
Автор

Идей сейчас очень много, накидывайте, мы обязательно возьмём на вооружение)

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

Ответить
Развернуть ветку
Павел Кожевников

А отказались в связи с отсутствием органов управления (напр. для начала матча)?

Ответить
Развернуть ветку
Иван Григорьев
Автор

Да, именно так и ещё есть идея сделать гостевой режим с управлением через дисплей.

Ну и телевизор мы поставили на 65 дюймов, был слишком большой))

Ответить
Развернуть ветку
Павел Кожевников

Ух как. Но можно было поставить телевизор, а органом управления оставить сам Распберри. Но по-скольку у вас там на готове лежит дисплей с тачскрином, то идея уже не имеет смысла)

Ответить
Развернуть ветку
Иван Григорьев
Автор

Да, у нас как раз остался дисплей от терминала электронной очереди. Нужно только корпус изготовить)

Ответить
Развернуть ветку
Куляшова Наталья

Судя по табличке, у вас активно играют три-четыре человека... по сути все сделано для них, а не для коллектива

Ответить
Развернуть ветку
Иван Григорьев
Автор

Корректировали формулу расчёта рейтинга и обнуляли статистику. Было бы значительно больше ))
Но да, есть несколько самых активных игроков, а многие собираются и следят за ходом матчей

Ответить
Развернуть ветку
Аня Шумахер

Как у вас весело! :)

Ответить
Развернуть ветку
Иван Григорьев
Автор

Спасибо!)

Ответить
Развернуть ветку
Tomoko

Ахахахха, круто получается, вы там работаете вообще?)

Ответить
Развернуть ветку
Иван Григорьев
Автор

Даже лучше стали работать )

Ответить
Развернуть ветку
Валерий Погодин

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

Ответить
Развернуть ветку
Иван Григорьев
Автор

Полностью согласен:) Да и сама разработка была очень увлекательна ))

Ответить
Развернуть ветку
Вовчик

Отличный способ расслабиться на работе и получить положительные эмоции!)

Ответить
Развернуть ветку
Иван Григорьев
Автор

Спасибо!

Ответить
Развернуть ветку
Павел Заводов

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

а нет проблем что датчик не всегда успевает считать? потому что там скорость иногда прям нормальная бывает

Ответить
Развернуть ветку
Иван Григорьев
Автор

Спасибо)
Нет, все хорошо, забития все регистрирует) были раньше ложные срабатывания, пришлось напечатать крепления на 3d принтере для диодов

Ответить
Развернуть ветку
Джон Уик

Отдых тоже должен быть, не возможно продуктивно работать полный рабочий день без перерывов, а смена деятельности ещё лучше даёт отдохнуть

Ответить
Развернуть ветку
Иван Григорьев
Автор

Полностью согласен!)

Ответить
Развернуть ветку
Дмитрий

Крутая тема)

Ответить
Развернуть ветку
Иван Григорьев
Автор

Спасибо)

Ответить
Развернуть ветку
дед Мазай и санитары

Как-то это всё уныло. Банально. Депрессивно

Ответить
Развернуть ветку
Иван Григорьев
Автор

Есть идеи, как сделать менее уныло?)

Ответить
Развернуть ветку
Михаил Полярус

считаю это идеально
где купить?

Ответить
Развернуть ветку
Иван Григорьев
Автор

Для себя делали, не думали над коммерциализацией)

Ответить
Развернуть ветку
Михаил Полярус

пора задуматься над коммерческой реализацией)

Ответить
Развернуть ветку
Сергей Иванов

Столкнулись с тем, что желающих играть много, поэтому начали играть 2х2. Ваши алгоритмы это учитывают?)

Ответить
Развернуть ветку
Иван Григорьев
Автор

Планируем реализовать в будущем )

Ответить
Развернуть ветку

Комментарий удален автором поста

Развернуть ветку
Дарья Волкова

Настраиваемые звуки это прекрасно)) А штуками для ручного подсчёта голов по привычке пользуетесь?

Ответить
Развернуть ветку
Иван Григорьев
Автор

Нет, просто не стали снимать, чтобы не заделывать отверстия )

Ответить
Развернуть ветку
John Smith Junior

Есть исходный код?

Ответить
Развернуть ветку
Иван Григорьев
Автор

Нет, не публиковали )

Ответить
Развернуть ветку
Алексей Рожков

Лишь бы не работать, хах
Ну вообще на самом деле классная штука, офис для того и нужен, чтобы можно было нормальную атмосферу создавать ))

Ответить
Развернуть ветку
Иван Григорьев
Автор

Согласен) наш главный актив - это люди. Талантливых ребят тяжело найти, им должно быть комфортно)

Ответить
Развернуть ветку
Vladimir Lebedev

Laravel с Vue на малинке - это амбициозно)))
С другой стороны, если это ваш основной стек, то другие фреймворки лень искать, понимаю.

Ответить
Развернуть ветку
Иван Григорьев
Автор

Да, использовали свой основной стек для решения задачи )

Ответить
Развернуть ветку
37 комментариев
Раскрывать всегда