⚔️🛡️ Вписался в онлайн-батл для программистов: рассказываю, в чем фишка таких движух и стоит ли в них участвовать
Рассказываю о своем первом опыте участия в онлайн-батле для кодеров и делюсь одним лайфхаком.
Всем привет! На днях узнал, что Сбер совместно с Geecko сделали онлайн-игрушку для кодеров под названием SberFight. Здесь все, называющие себя громким словом «программист», могут побороться за ценные призы и признание ИТ-сообщества.
Идея не нова, но довольно редко можно увидеть нечто подобное в рунете. Все мы в душе геймеры — независимо от возраста и рода деятельности. Однако не у всех получается пошпилить в удовольствие в CS:GO или Mortal Kombat из-за обилия однообразной рутины и горящих дедлайнов.
С помощью SberFight наконец-то можно применить накопленные за годы трудовой деятельности знания и победить в жестком спарринге с виртуальным противником. Но давайте обо всем по порядку.
Пиксель-стайл, отсылки и кодинг
Зайдя на сайт, вы сразу окунетесь в мир старых восьмибитных консолей с пикселизированными картинками. Логотип игры и дизайн всего интерфейса сделаны а-ля StreetFighter. Кто помнит этот легендарный олдскульный файтинг конца 90-х?
Лично я несколько минут поностальгировал, прежде чем приступить к регистрации. Зарегистрироваться просто: для начала необходимо создать аккаунт в Geecko ID. После этого система спросит у вас, хотите ли вы работать в Сбер. Это не праздное любопытство, но об этом я расскажу чуть позже. Определяетесь с ответом, нажимаете «продолжить» и вы попадаете на главную страницу игры.
Вот это окошко меня повеселило:
Как вы думаете, что я нажал? Все верно: скучать не хотелось! И понеслось: треки все крутые, прямо знали ребята, что мне будет по душе. Далее перед вами появятся два варианта дальнейшего развития событий:
Так как друзей со мной не было, я решил пройти отборочный тур. До конца которого, к слову сказать, осталось не так много времени.
Атмосфера. Локации и персонажи
Следующая страничка предложит выбрать персонажа:
Их шестеро, все со своими особенностями. У каждого — уникальная «сберталити»: своего рода ульта, кастуемая в конце эпичной битвы, чтобы уничтожить противника. Увидев первого из предложенных героев, я сразу понял, что он мне кого-то напоминает:
Один из персонажей – сам Герман Греф, глава Сбера. Если играть за него, то у вас в арсенале будет крутейшая сберталити: падающий с небес банкомат сами понимаете какого банка. И это не единственная пасхалка в игре.
После выбора бойца открывается первый этап отборочного тура. Их всего восемь, и сложность увеличивается в геометрической прогрессии от уровня к уровню.
Первый и второй – довольно легкие, над третьим уже надо немного подумать и так далее. Переиграть каждый из восьми уровней можно только один раз.
Все задачи — на грамотное построение логики и ее реализацию любым из доступных вариантов. Здесь надо будет создать нужные для прохождения теста методы, поработать с циклами, перебрать несколько массивов — и все это на время. За прохождение каждого из этапов игрок получает фиксированное количество баллов, а также очки за скорость — в зависимости от того, как быстро он справился с задачей.
В конце баллы суммируются и вносятся в сводную таблицу.
Скажу еще, что все тест-кейсы нескучные и я с большим интересом их решал.
Правда, в некоторых заданиях я не сумел до конца разобраться с условиями. Например, с задачей про «сделки и картели» мне не хватило наглядных примеров (а скорее, навыков и знаний), но мои входные данные программа все же обработала корректно. Возможно, мои решения были не совсем универсальными, да и счетчик времени давил на нервы, но все равно решение задачи меня увлекло.
При удачном прохождении каждого испытания появляется ринг. Здесь персонаж проводит серию комбо-ударов в лучших традициях StreetFighter и уничтожает оппонента с помощью сберталити. Выглядит это так:
Для чего это нужно
Почему разработчики решили сделать такой турнир по спортивно-скоростному программированию? Идея была в том, чтобы предоставить возможность всем, кто связан с ИТ-индустрией и умеет писать код, испытать свои силы и морально отдохнуть.
Стоит отметить, что обычно на турнирах по программированию существуют жесткие ограничения по времени выполнения алгоритма и использования памяти. Здесь вы можете об этом не волноваться — и это большой плюс для всех неискушенных игроков и начинающих программистов.
Написание кода в игре отличается от того, что вы привыкли делать на работе. Атмосферу создают красочные фоны, прикольные персонажи и забавные анимационные фрагменты. Надо признать, что Сбер здесь постарался, и за это ему огромный респект.
А еще SberFight предоставил возможность кодить на нескольких языках программирования, чтобы не ограничиваться только наиболее популярными. Решать задачи можно на JavaScript, Typescript, Python, Swift, Java, Kotlin, Go,C#, C++, Ruby, PHP, Objective-C, Dart, Elixir, Rust, Scala.
Поиск потенциальных работников
Вернемся к вопросу, заданному при регистрации: о желании работать в Сбере. Действительно, компания заинтересована в притоке свежих кадров, и лучшие игроки, набравшие наибольшее количество баллов, получат возможность устроиться на работу в Сбер без собеседования. Ну круто же! Я имею в виду саму идею геймификации процесса поиска кандидатов.
А если вдруг вам по каким-то причинам что-то не подойдет – всегда можно отказаться от работы. Классный подход к проведению предварительной оценки кандидатов: задачи решаются с куда большим рвением, когда есть история и цель.
Режимы игры
Помимо отборочного турнира, существует еще два режима игры: арена и PvP.
Режим PvP (player versus player) подразумевает батл один на один, против друга или случайного игрока, выбравшего тот же режим. Победитель каждого поединка определяется по суммарному количеству пройденных тест-кейсов и затраченному времени с поправкой на коэффициент языка программирования.
Режим Арена работает по принципу «стенка на стенку». Игрок создает или выбирает клан, к которому желает присоединиться. Вместе с товарищами по оружию он бьется насмерть с противниками из другого клана. Из оружия — только код, серые клеточки и навык работы в команде.
Соклановцы могут общаться друг с другом в голосовом чате и помогать другим. Однако просматривать решения игроков своего клана и подсказывать решение вы можете, только если сами решили задачу. В поединке между кланами побеждает команда, набравшая наибольшее количество очков: это определяется по суммарному количеству пройденных за единицу времени тестов.
Результаты всех поединков заносятся в турнирную таблицу — Рейтинг Кланов. Каждый месяц лучшие команды получают ценные призы.
Обзор отборочного турнира
Как я уже упоминал, на отборочном этапе нужно пройти 8 уровней, победив 8 бойцов. После этого вы попадаете в турнирную таблицу с набранными во время игры баллами и дожидаетесь финала этого эпического соревнования.
В финальном бое 25–27 февраля сразятся 256 игроков, набравших максимальное количество очков в отборочном туре. После определения победителей будет раздача призов и прочих плюшек. К слову, о призах — они зачетные.
Первые 4 места получат одно из умных устройств Сбера плююююс:
1 место: MacBook Pro, M1 PRO, 512 гб SSD, RAM 16 гб, дисплей Liquid Retina XDR 13″
2 место: Iphone 13 pro 128 гб
3 место: Playstation 5
4 место: Apple Watch Series 7
А еще сбер-порталы, рюкзаки, худи и термокружки. Всего призов будет 256 и, как вы уже поняли, никто не уйдет без награды.
Резюмируем
Довольно интересный сюжет и сама идея, ведь обычно подобные вещи реализованы без души. Тут видно, что разработчики понимают аудиторию и знают, что делают.
Игра проверяет скорость мыслительного процесса и сообразительность, однако ограниченное время подталкивает к не самым крутым решениям. Приятная графика, стиль повествования, сюжет, музыка и неплохой юмор — в общем, все сделано здорово. Плюс ко всему всегда интереснее выполнять задания в игровой форме. Огромный респект всем, кто приложил руку к созданию SberFight. Ставлю зачет!
PS: некоторые задачи меня выбесили. За это минус балл.