Всем привет. Сегодня я расскажу об одном из направлений Wargaming Platform — Инструментах, и поделюсь взглядом новичка на систему инструментов.
Что такое инструменты платформы и как я к ним пришел?
Система Platform Tools состоит из Core Tools и остальных сервисов, которые используются для настройки, поддержки и управления различными игровыми механиками (например, управление доступом к возможности участия в турнире), дисплеями магазина.Именно в Core Tools собраны общие подходы и механизмы для всех остальных сервисов, чтобы унифицировать и задать единый способ реализации общих задач, таких как единый сервис авторизации, поддержка, сервис платежей, отправка уведомлений и многое другое.
Наша цель — сделать инструменты с единым поведением, интуитивно понятным пользовательским интерфейсом, похожими процессами, чтобы для человека, который управляет нашими инструментами, подходы были едиными и интуитивно понятными, чтобы была единая авторизация и экосистема.
Я работаю с инструментом Катул , который позволяет настраивать продукты, содержащие валюту, недвижимость и другой продаваемый контент, а затем размещать их на витринах для отображения пользователям.
Катул позволяет управлять этими сущностями, изменять настройки, отслеживать изменения, сравнивать их и активировать в нужной среде.
Благодаря универсальному подходу мы решаем проблему, когда разные игры имеют свои «уникальные» типы настроек, разные процессы работы с ними и необходимость настраивать все вручную для каждого окружения.
Мне всегда хотелось заняться разработкой собственных игр, я даже сделал пару небольших.
Я смотрел на игры только с точки зрения написания геймплея, пока не наткнулся на вакансию Wargaming в отделе платформ.
Мне стало любопытно посмотреть на игру с другой стороны: погрузиться в настройки, посмотреть, с какими проблемами сталкиваются те, кто поддерживает игры, и помочь их решить.
Несмотря на то, что я работаю 7 месяцев, мне удалось столкнуться с разными задачами — от разработки самого обычного API до работы со словарем «Танки» и «Корабли» и до обработки изображений для всех игр.
Прежде чем прийти в этот проект, я задумался о том, что и как вообще настраивается в играх: образно говоря, можно создать API, чтобы, например, управлять характеристиками того же танка.
Но чем дольше я думал, что и как настроить, тем больше понимал, что обычным CRUD API здесь вас не отделаешь.
Я предполагал, что задачи будут связаны только с веб-интерфейсом, но было много областей, на которые можно было повлиять: CRUD API, обработка изображений, работа с асинхронным программированием, обработка большого количества данных и многое другое.
Как прошла адаптация?
Я устроился на работу во время первой волны пандемии, и адаптация была удаленной.Поначалу меня это смутило, так как команда была распределена по разным городам/странам, подойти ни к кому и что-либо спросить не удалось.
В первые дни работы мне очень важно познакомиться и пообщаться с командой проекта и понять, что нужно изучить.
Тут мне повезло: ребята написали сообщения с предложением договориться о созвоне, рассказать о проекте, куда и к кому обратиться с вопросами.
А то обычно происходило так: приходишь на проект, тебе присылают документацию и говорят: «Ну, заходи, если что».
Кроме того, очень помогает погружение в бизнес-цель задачи, которую необходимо выполнить.
В описании задачи не всегда об этом говорится, скорее там просто упоминается, что надо делать, как и почему, но как по мне, когда ты понимаешь, почему что-то нужно делать и кто этим будет пользоваться, то это помогает понять это.
гораздо больше и дополнительно мотивирует. Проект начал разрабатываться недавно, активно развивается, устаревших частей пока нет. Команда подсказывает и помогает понять, как все работает, где есть подводные камни и скрытые вещи.
Та же помощь касается и ревью кода, поэтому сложностей с онбордингом и проектом у меня не возникло.
Также мне подобрали задания, которые позволили мне постепенно начать знакомиться с проектом.
Подводя итог, влиться в команду было легко: никто не отказывается от помощи и все борются за общее дело.
Проект не простой и помогает мне развиваться как в плане технологий, так и в плане опыта.
Мой менеджер даже построил для меня план, по которому я следовал и присоединился к проекту.
Не было такого, чтобы я сидел без дела, ничего не понимал и не мог никого спросить.
Кроме того, существует инструмент «Моя команда», который Платформа разработала специально для своих нужд. Он позволяет удобно вести список личных целей, отслеживать прогресс по ним и закрывать их.
Инструмент прост в использовании и интуитивно понятен, это не проблемы Jira, но вам нужно место, где можно делиться статусами с вашим менеджером.
Кроме того, я считаю, это удобно для руководителей выше, которые также могут видеть, как развиваются их подчиненные, какие у них планы на будущее и прогресс.
Что удивило тестеров
Первым сюрпризом было то, что тестировщики понимали технический язык.Я легко могу что-то сказать о фреймворке, который использую, и мне не придется искать слова, чтобы объяснить, как все работает. То есть я как будто позвонил другим программистам, обсудил какие-то технические вещи, а мне ответили: «Да, круто, поймай два бага».
Я встречал некоторых тестировщиков, которых не волновало, почему у вас есть какие-то ограничения или что-то в этом роде — все должно работать так, и их не волнует все остальное.
А здесь ребята слушают, направляют и понимают – это меня радует. Во-вторых, меня удивила тщательность нашего контроля качества.
Могу с уверенностью сказать, что фича тестируется с самых разных сторон, и более того, насколько мне известно, ребята созваниваются друг с другом, выясняя, как все должно работать, что исключает ситуацию, когда у одного человека есть одно мнение.
Кроме того, они участвуют в ревью кода и могут сразу задать несколько вопросов по логике на этом уровне, чтобы приступить к проверке задачи; умеет работать с базами данных, понимать архитектуру и поддерживать боевую обстановку.
Поэтому могу сказать, что ребята красивые.
Инфраструктура
Инфраструктура Platform Tools проста.
Проект не является легаси и не имеет всех наворотов, когда к старому нужно добавлять новое, а старое трогать не следует, в результате чего большое количество сервисов не понимают, как они работают. связаны друг с другом и ведут себя неоднозначно.
Для сборки и настройки конвейеров/сборок мы используем стандартные сборки Jenkins. Инструменты архитектуры — это набор микросервисов, каждый из которых использует разную архитектуру, но следует общим правилам взаимодействия между серверной частью и внешним интерфейсом.
Есть прокси, через который происходит общение, авторизация и логирование.
«Пощупать» конкретный экземпляр можно через Cras — оркестратор запущенных сервисов; вы можете управлять им прямо из браузера.
Его написала DevOps Wargaming, и он позволяет настроить автоматическое масштабирование или развернуть новое приложение в пару кликов.
Это интуитивно понятный инструмент, который позволяет легко подключиться к экземпляру и коду прямо внутри, что позволяет легче понять не столько ошибку, сколько то, почему система ведет себя именно так в данный момент. Благодаря этому инструменту гораздо удобнее подключаться к инстансам: мне не нужно искать свое приложение по тысяче адресов для подключения по SSH; Я могу набрать имя, и отобразятся все доступные мне среды — я могу сразу выбрать нужную и перейти к ней в два клика.
Что я делаю
Я не просто «пишу код и исправляю ошибки».Я легко могу предложить новое решение, улучшить существующее, высказать идею на будущее – это поощряется, обсуждается и принимается.
У меня нет однотипных задач и монотонной работы: задачи постоянно меняются, да и области, в которых они используются, тоже новые, поэтому мне никогда не скучно.
Иногда случаются переделки самих задач, инциденты на производстве, но все построено таким образом, что от момента возникновения инцидента до передачи задачи конкретному разработчику проходит мало времени, что позволяет исправить ситуацию гораздо быстрее.
И еще один важный момент – самообучение.
Мы стараемся, чтобы примерно 20% времени уходило на саморазвитие, а не только на постоянное кодирование, поэтому это учитывается заранее при оценке задач.
Кроме того, в самой Платформе 20% рабочего времени уходит на закрытие технической задолженности, что позволяет не накапливать ее, а поддерживать все актуальное и актуальное.
Заключение
В заключение хочу сказать, что был удивлен, насколько наше направление свежее и интересное, как по своим задачам, так и по технологиям.Нам еще предстоит реализовать множество различных интеграций и идей.
Мы все еще развиваемся и будем рады, если Platform Tools заинтересует вас так же.
Теги: #разработка игр #gamedev #разработка игр #разработка #DevOps #тестирование #wargaming
-
Cjm Для Ложных Срабатываний Антивируса Drweb
19 Oct, 24 -
О Выборе Конфигурации Пк
19 Oct, 24