Рубрика «Блог компании Wargaming»

Как устроен балансировщик команд в World of Tanks Blitz - 1

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

У танков есть следующие важные для матчмейкинга параметры:

  • Уровень. В зависимости от уровня, у танков меняются различные характеристики (например, скорость, бронепробитие). На 1-ом уровне — самые слабые танки, на 10-ом — самые сильные.
  • Тип. В WoT Blitz существует 4 типа танков: лёгкий, средний, тяжёлый и ПТ-САУ (противотанковые самоходные артиллерийские установки)

Самая простая реализация матчмейкера — закидывание игроков в команды случайным образом. Но в данном случае у игроков на низких уровнях не будет никаких шансов нанести хоть какой-то урон, и играть станет неинтересно.
Читать полностью »

WG Contract API: zoo of services - 1

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

Если хотите познакомиться поближе с тем как команда Wargaming Platform справляется со сложностью системы из более чем сотни взаимодействующих друг с другом web-сервисов, то добро пожаловать под кат.
Читать полностью »

Did you ever think that one day you had got into PHP web programming too quickly?
Several years have passed already, you have gained a lot of experience and can’t think of any other ways to work with web but PHP. Perhaps, you sometimes doubt the choice you have made, but are unable to confirm your doubts here and now. At the same time, you need real examples; you want to understand the changes that may occur in particular aspects of your work.

Today I will try to answer the following question: "What if we use Python instead of PHP?".

I have asked this question myself many times. I have been using PHP for 11 years already and am a certified PHP specialist. I have mastered it so it works just the way I want. I was really puzzled by several articles that criticized PHP severely (PHP: a fractal of bad design). However, when chance came, I switched to Ruby and then to Python. Eventually, I chose the latter. Now I will try to explain how we Python guys live out there.

Things you need to know should you want to switch from PHP to Python - 1
Читать полностью »

WTF is Platform?

В Wargaming есть отдельное подразделение, которое занимается… занимается разработкой некой «платформы» для издания игр. Объяснить, что такое Платформа, чем она является и не является, весьма сложно — но я попробую.

Почему появилась статья

Привет! Меня зовут Максим. И я тут работаю [в компании Wargaming].

У нас есть отдельное подразделение, которые занимается… занимается разработкой некой «платформы» для издания игр. Объяснить, что такое Платформа, чем она является и не является, весьма сложно. Но у меня и моих коллег есть желание рассказать вам о Платформе и ее внутренней «кухне»: кто мы, что мы делаем, какие технические решения принимаем, что у нас получилось, а что не очень. Я один из «старых» сотрудников этой команды, и в этой статье я хочу рассказать о том, как мы пришли к необходимости создания Платформы и основных этапах ее развития.

Wargaming Platform: Hello World - 1

Читать полностью »

В пакет policycoreutils-devel входит python-утилита sepolicy, которая сильно облегчает написание модуля. В этой статье мы рассмотрим процесс создания модуля для nmap с помощью этой утилиты.

Быстрое создания SELinux-модулей с помощью утилиты sepolicy - 1
Читать полностью »

Всем привет!
25 ноября в Минске состоялась восьмая встреча белорусского сообщества аналитиков DataTalks. В этот раз речь шла о том, как исследовать покупателей/игроков/клиентов и на основе полученных данных делать выводы, полезные для бизнеса и пользователей. В этот раз встречу посетили более 200 участников из Беларуси и России.

Под катом вы найдете записи выступлений:
— «Как быстро и просто исследовать продукт с помощью пользователей?» — Софья Чебанова, руководитель лаборатории исследования пользовательского опыта Wargaming.
— «Как меняется покупатель?» — Валентин Соколовский, глава направления по работе с розницей Nielsen Belarus.
— «Удовлетворенность пользователей: от индивидуального мнения к бизнес-решению» — Ирина Малова, руководитель отдела исследований Wargaming; Андрей Ярмола, руководитель отдела Data Science Wargaming; Екатерина Яворская, специалист отдела исследований Wargaming.
— «Данные с человеческим лицом» — Амельков Александр, директор исследовательской компании Amelkov.by.
— «Medtech и кросс-дисциплинарные проекты на стыке IT и профессиональной медицины» — Роман Громов, сoоснователь и соинвестор проектов Ariadna (computer assisted surgery) & ARRM.IO (gesture recognition platforms for mobile platforms).
— «Мне не нужно мнение – я хочу знать, как ты себя поведешь: 10 способов улучшить интервью с пользователем» — Тамара Кулинкович, совладелец «Студии Сорокина и Кулинкович».
DataTalks #8: изучение пользователей - 1
Читать полностью »

Типографика и CSS

Пока одни новые CSS свойства, отвечающие за разного рода красивости (вроде filter, mix-blend-mode или transition) привлекают внимание всех и каждого, другие многим кажутся недостойными внимания и мало освещаются в интернете. Взять хотя бы свойства, отвечающие за типографику. Многие из них работают уже давно, но известны немногим. А зря, ведь они тоже могут быть весьма полезными и эффектными. Давайте же исправим эту несправедливость и осветим то, что обычно остается в тени.
Читать полностью »

Продолжаем текстовую трансляцию с геймдев-конференции 4C в Санкт-Петербурге.

Трансляция с геймдев-конференции 4C в Санкт-Петербурге. День второй - 1Читать полностью »

Привет! Мы ведем текстовую трансляцию с первого дня геймдев-конференции 4С в Петербурге. Сегодня поговорим о тонкостях разработки игр, работе с аудиторией, монетизации VR и многом другом. Присоединяйтесь!

Трансляция с геймдев-конференции 4C в Санкт-Петербурге. День первый - 1Читать полностью »

Предисловие

Ситуация: есть высоконагруженная мета-игра для наших танков под названием Глобальная карта. Эдакая пошаговая настолка для команд, где бои происходят в реальном танковом клиенте. В пиковые часы на карте несколько тысяч руководителей кланов производят игровые действия: атакуют друг друга, перемещают дивизии, покупают, продают, грабят корованы. Помимо этого, существует десяток сервисов, которые также могут вносить изменения в игровую ситуацию: подкидывают деньжат, штрафуют, добавляют игроков в клан и прочее.
Всё это неизбежно приводит к дэдлокам. Так вот, хочу вам поведать историю о том, как мы эти периодические проблемы держим в допустимых рамках.

Как мы ловим Deadlock`и на PostgreSQL и чиним их - 1
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js