Привет, Хабр! Думаю, каждый из активных пользователей сайта уже видел рекламку «Северстали» с запуском IT-завода и пинболом.

В шапке страницы
В шапке страницы
В подвале страницы
В подвале страницы
В правой колонке
В правой колонке

Короче много её было так что и я тоже не прошел мимо: с трудом набил 3 тысячи, понастольгировал по пинболу из старого Windows, и… на этом не остановился. Решил найти способ победить!

Его сделали в 1995.. 30 лет назад..
Его сделали в 1995.. 30 лет назад..

Далее в статье я рассмотрю разные стратегии, игру в целом и баги, позволяющие набить любое количество очков по вашему желанию и набрав 35 тыс. участвовать в розыгрыше, а так же прекрасную модерацию ботов.

  1. Изучение игры и особенности механик

  2. Легальные игровые стратегии

  3. Автоматизация

  4. Баги

Изучение игры

Тут у нас всё просто: по сравнению с 3D Pinball Space Cadet, выпущенным аж в 1995 году, мы имеем поле, систему запуска, пару направляющих, «бамперов» и флипперов, а так же зоны «ускорения».
Флипперы - это палочки, которыми мы управляем.

Запуск шара производится слайдером; тут-то и кроется первая особенность: не важно, как сильно или слабо вы его переместите, сила запуска случайна от раза к разу. Так же, кстати, и с отскоком от игровых элементов: они придают разное ускорение.

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

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

Легальные игровые стратегии

Вариант 1: Замастерить навык игры в пинболл, поехать в Америку и победить на чемпионате мира; вы ведь не ищете лёгких путей.

Вариант 2: Выработать стратегию, при которой без вашего непосредственного участия будут зарабатываться очки, например: запускать шар так, чтобы он бился о бампер и возвращался обратно. В таком случае попытка не будет считаться завершенной и жизнь не тратиться. НО вспомните про случайность запуска. Еще вариант: запустить шарик так, чтобы он застрял между стенкой и бампером и начал бесконечно биться между ними. Тут уже проблема в скорости и углах; чисто гипотетически это возможно, но шарик имеет скорость, которая от каждого удара увеличивается. При этом я пытался с помощью скриншотов в тики игры доказать, что и она случайна, но у меня не вышло. И даже если получится его так пропихнуть, то как его потом оттуда доставать?

Вариант 3 (Реализуемый): запустить шар так, чтобы он оказался в зоне ускорения вверх и, соответственно, в зоне набора очков. Он постепенно оттуда выпадет, но может успеть заработать нам большое количество очков.

Вариант 4: Найти такую начальную силу запуска, чтобы шарик без вмешательства набирал по 15к очков за раз. Тут мы довольно логично подходим к идее автоматизации.

Автоматизация

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

Те, кто знаком с творчеством Code Bullet, понимают, что даже в тетрис или сапер, при желании, можно запихнуть ИИ.

Следующим шагом было добавление отслеживания шарика по цвету, а точнее по 3м белым пикселям, расположенным по вершинам треугольника.


Если они опускались ниже, чем нужно, срабатывали флиперы. С первого раза система показала себя плохо: при попадании в зону шар менял цвет с серого на красный, и, вероятно, это и мешало. Закончить автоматизацию я так и не успел, потому что нашел БАГ. Хотя признаюсь, в голове была уже идея делать нейронку для пинболла.

Баги


Так получилось, что я тестировщик не по призванию, а вынуждено: вокруг меня всегда ломается ПО; пока делал статью, обнаружил баг в 10 винде. Если сделать скриншот, открыть «Набросок фрагмента на экране», приблизить через Ctrl и колесо мыши, а затем нажать на кнопку линейки, то попросту окно закроется.

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

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

За одно зависание добавлялось по 3-4 тыс очков. Первое, что я сделал (конечно, после того как немного побаловался и подтвердил результаты тестирования в другом браузере), — это написал в аккаунт «Северстали» и заодно спросил, могу ли я написать эту статью.

Ответом мне было молчание. Я не сдался, полез искать другие контакты. Телефон не подходил. Звонить на завод и говорить: «Дяденька, я тут баг нашел… в пинболле» — я не хотел, так что написал на почту. Оттуда я так и не получил ответа, а баг остался. Видимо, письмо попало в спам или ещё что. Собственно говоря, статью я все же решил не выкладывать, чтобы не портить проходящий конкурс.

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

Итого: Очки заработаны, до админв достучаться не удалось, вероятно я не единственный, кто его нашел, ну или там мастер пинболла набрал 190 тыс. пошел так скажем по 1 Варианту. Если с помощью этого бага я выиграю наушники, то думаю продам их и отдам деньги какому-нибудь приюту.

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

Боты

А теперь немного о наболевшем. Я понимаю, что модерация розыгрыша — дело не очень благодарное, но все же: в верхнем списке претендентов на самый крутой приз всего человек 30. Цифры взяты не с потолка: перед написанием я взял чужой аккаунт и догнал его до 40 тыс. очков. Так вот, я решил посмотреть тогда на 10 лидеров; среди них — 7 новых аккаунтов, созданных, вероятно, только для участия в розыгрыше.
Ниже скрины с тогдашней таблицей лидеров:

Таблица лидеров 26.08
Таблица лидеров 26.08

Хотел разместить тут скриншоты аккаунтов и дат их регистрации с последней активностью, но думаю это не правильно, особенно если кто-то просто завел новый аккаунт, но вот пример

Скрин от 09.09
Скрин от 09.09

Если вам интересно, попробуйте найти кто там сейчас бот. Сейчас еще добавились какие-то чуваки с космическими цифрами, созданные недавно. Видимо целый клан мастеров пинболла пришёл на хабр.

Даже если предположить, что по итогу в главном розыгрыше участвовало аккаунтов 50, то приблизительно половина из них — это чьи-то дубли, созданные ради конкурса и на которые после того, как набили очки, не заходили. Почему их не удалили, вот что мне интересно; мне казалось, что все затеяно ради репутации компании и пиара, а такой пиар…

Ладно, всем спасибо, всем пока, заходите потестить пока есть время https://severstal-pinball.habr.io/

Комментарии (2)


  1. d_ilyich
    10.09.2025 05:33

    У меня однажды шарик остановился прям на верхнем краешке напрявляющей, вдоль которой он вылетает. Оставался там достаточно долго, потом упал. А если управлять щупами с помощью Shift-ов, а не стрелок, то щупы периодически "залипают". Для стрелок такого не замечал.

    По поводу читерства. Конкурс, вроде, сегодня завершается. Интересно будет посмотреть - изменится ли ТОП игроков и сам счёт к моменту завершения.


  1. GoodTimeForMe
    10.09.2025 05:33

    А я бот, и ничуть этого не стыжусь, я тоже готов выигрыш пустить на благотворительность