Skip to content

Assistant that recognizes the board game situation by a photo, helps to make a next move and calculate score.

Notifications You must be signed in to change notification settings

comptech-winter-school/board-game-assistant

Repository files navigation

«Board Game Assistant» представляет собой реализацию проекта в рамках зимней школы CompTech School 2022.

Папки и файлы репозитория:

  • checkers — модуль обработки игры «Шашки» (распознавание игрового поля, предложение наилучшего хода)
  • docs — комплект документации по проекту
  • gameClassifier — модуль классификации игры на картинке
  • tgbot — модуль для взаимодействия с телеграм-ботом
  • .gitignore — предотвращение загрузки ненужных файлов в репозиторий
  • BoardGameAssistant.py — главный скрипт, соединяющий в себе все модули проекта
  • Dockerfile — файл для сборки docker-образа с проектом
  • config.json — файл конфигурации (в него вписывается acces token для телеграм-бота)
  • tictactoe — модуль обработки игры «Крестики-нолики» (распознавание игрового поля, предложение наилучшего хода)
  • carcassone — модуль обработки игры «Каркассон» (распознавание игрового поля, предложение наилучшего хода)
  • env.yml — список зависимостей проекта (используется при создании docker-образа)

Назначение

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

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

Board game assistant — твой персональный помощник в настольных играх, реализованный в формате телеграм-бота, который способен принимать фотографии разложенной настольной игры и давать cоветы по выбору следующего хода.

Принцип работы

По фотографии разложенной настольной игры бот:

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

На данный момент бот обучен следующим играм:

  • крестики-нолики;
  • шашки;
  • каркассон.

Принцип работы Продукта показан на блок-схеме:

This is an image

Целевая аудитория (пользователи продукта)

Пользователи — люди любого возраста, способные использователь настольные игры и мессенджеры.

Установка и настройка

  1. Открыть приложение Telegram;
  2. Ввести наименование телеграм-бота в строку поиска или воспользоваться ссылкой (наименование телеграм-бота: BoardGameAssistant, ссылка: https://t.me/BoardGameAssistantBot);
  3. Нажать кнопку «START»;
  4. Загрузить и отправить фотографию.

Зависимости

Используемые библиотеки:

  • fastai==2.5.3
  • pygame==2.1.2
  • imutils==0.5.4
  • opencv-python==4.5.5.62
  • seaborn==0.11.2
  • python-telegram-bot==13.10

Использование

Подробное описание в Руководстве пользователя

Дополнительно

Загружаемая фотография должна быть хорошего качества:

  • высокое разрешение,
  • правильная перспектива (строго вид сверху),
  • отсутствие лишних объектов,
  • настольная игра полностью в кадре.

Собранный и размеченный датасет с фото настольных игр доступен по ссылке:

  • 43 размеченных фото шашек:
    • yolo bounding box format
    • 4 класса - белые/чёрные, пешка/дамка
  • 10 685 размеченных фото настольных игр:
    • 24 класса - различные настольные игры
  • 217 размеченных фото каркассона:
    • yolo bounding box format
    • 2 класса - тайл и мип
  • 448 размеченных тайлов каркассона:
    • 24 класса - различные тайлы

Команда

Георгий Шушуев — куратор, Product Owner

Роман Титков — капитан, ML Engineer, DevOps

Владимир Парначев — зам. капитана, ML Engineer

Ирина Мальцева — ML Engineer

Ринат Шаймухаметов — ML Engineer

Софья Щипцова — Data Engineer

Георгий Корченко — Data Engineer

Ольга Бучкина — технический писатель

About

Assistant that recognizes the board game situation by a photo, helps to make a next move and calculate score.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published