Тестирование монет в idle-игре с помощью Arduino и гироскопа

🎯 Проблема:

Idle-игра с элементами тайкуна: игрок ставит машинки, которые печатают монеты, монеты скапливаются на полу, оттуда автоматически собираются.

✔️ Задача от продюсера: проверить UX и баги, связанные с физикой монет, когда на сцене их становится от 500 до 10 000 штук одновременно.

💀 Почему руками это не работало:

  • Вручную так долго держать экран включённым и следить за монетами невозможно (по 20–30 минут на одну сессию).

  • При больших количествах монет FPS падал, баги возникали непредсказуемо:

  • Монеты проваливались сквозь пол.

  • Слипались в одну большую.

  • Камера начинала дёргаться.

  • Нужно было зафиксировать точный момент бага.

💡 Нестандартное решение от QA-инженеров:

Инженеры решили подключить Arduino с гироскопом и тач-имитатором для автоматизации запуска сессий.

Как выглядел сетап:

  • Android-девайс лежал горизонтально, запущена игра.

  • Arduino подключено к USB, на нём:

  • гироскоп + акселерометр для определения, если телефон внезапно дёргается (признак фриза или физического бага).

  • самодельный таппер на сервоприводе: раз в 10 минут Arduino касалась экрана, чтобы игра не уходила в сон.

  • Отдельный скрипт снимал видео с экрана устройства.

✅ Что удалось сделать:

  • Прогнали 30 сессий по 1 часу каждая без участия человека.

  • Когда гироскоп фиксировал движение (например, камера в игре начинала дёргаться), Arduino автоматически:

  • Сохраняла временную метку.

  • Отправляла сигнал на скрипт, который сохранял последние 10 минут видео.

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

📌 Почему это интересное и применимое решение:

  • Такие тесты невозможно провести средствами Unity Test Framework или Appium, потому что речь про поведение внутри физики движка.
  • Arduino + гироскоп работает как внешний сторожевой таймер, не вмешиваясь в код игры.
  • Подходит не только для мобильных idle-игр, но и для тестов на девайсах с гироскопами (например, игры с контролем наклона).
Тестирование монет в idle-игре с помощью Arduino и гироскопа | Сетка — социальная сеть от hh.ru