Hawk logoHawk logo

Valve выпустили блог о том, как они чинили Sticky Bomb у Techies

Последнее изменение:  Techies Dota 2
Valve выпустили блог “Между линий: как мы бомбу чинили”, где рассказали о баге со Sticky Bomb у Techies и о том, как этот баг появился и как его исправили. 

Разработчики решили начать серию блогов под названием “Между линий”:

Представляем «Между линий» — новую серию записей в блоге от наших разработчиков. В ней они будут рассказывать о сложностях, ошибках и счастливых случайностях, с которыми мы сталкиваемся во время работы над такой уникальной игрой, как Dota 2.

В первом выпуске Valve решили рассказать о баге с Sticky Bomb у Techies и Парными порталами:

Прекрасным примером последнего послужит ошибка с бомбами-липучками от способности Sticky Bomb у Techies. Предпосылки к ней появились ещё в прошлогоднем обновлении, когда мы изменили способности героя и его стиль игры. Эти правки привели к тому, что при определённых условиях бомба-липучка существовала вечно, а создавший её игрок мог ей управлять.  Любопытно, что тогда в игре не существовало обстоятельств, при которых эта ошибка могла бы возникнуть — так что она оставалась незамеченной до весеннего обновления «Новые горизонты», в которых появились Парные порталы.

Techies Sticky Bomb Twin Gates bug

Напомним, что с помощью бага с Порталами игрок на Techies мог создавать вечные бомбы, которыми можно было управлять. Само собой, это создавало дизбаланс на карте, а в некоторых случаях приводило к просадке FPS. 

Techies Sticky Bomb bug

По словам разработчиков, после переработки Techies и его способностей, некоторые механики для новых скиллов они позаимствовали у предыдущих. Таким образом, что бы не придумывать что-то новое, разработчики взяли для бомб-липучек прообраз механики Remote Mines,которые использовали тот же базовый тип призываемого существа под названием npc_dota_techies_remote_mine:

Бомбы используют последовательность из броска, погони и отсчёта до взрыва, которая управляется набором серверных модификаторов (проще говоря, эффектов), регулирующих передвижение и поведение существа на каждом этапе. Запрет на управление игроками встроен в модификаторы погони и отсчёта, а эффект броска блокировал многие команды игрока, поскольку управлял движением. Всё это дополняли характеристики самогó типа npc_dota_techies_remote_mine — в частности то, что код игры запрещает такому существу атаковать.

Techies Sticky Bomb Remote Mines

С другой стороны, герой мог взорвать мину вручную с помощью её собственной способности, поэтому у мины была возможность применять способности, а это означало, что в коде игры она считалась принадлежащей игроку (чтобы ему засчитывалось убийство) и управляемой им. Нажатие правой кнопкой мыши на Парные порталы (или на любой другой постепенно активируемый объект на карте) превращает команду атаки в применение способности на цель (используя Парный портал, вы как бы применяете на него способность). Другими объектами на карте могут пользоваться только герои, но Парные порталы доступны и другим существам, ведь через них ходит Рошан.

Из-за механики Парного Портала, которым могут пользоваться другие существа, проявился баг с бомбой-липучкой. В момент, когда она находилась в воздухе после броска, игрок мог выбрать её вместе с героем и нажать на Парный Портал. Бомба выходила из состояния броска, начинала телепортироваться и алгоритм прерывался, что и вызвало ошибку.

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

Techies Sticky Bomb bug solution

В итоге большая часть времени разработчиков ушла на поиск причины бага. 

«Что теперь?» — спросите вы. А теперь мы ждём, когда выяснится, что удалённая нами строчка кода отвечала за что-то ещё. Если что-то заметите — ждём вас на GitHub.
топ матч
через 8 часов
One Move
BO3
Nemiga Gaming
Расписание
Road To The International 2025 - EEU CQ
Cyber Goose
07:00
Quantum
BO3
Road To The International 2025 - EEU CQ
eSpoiled
10:00
Runa Team
BO4
BetBoom Streamers Battle 10
Korb3n Team
12:00
Goodwin Team
BO3
Road To The International 2025 - EEU CQ
One Move
13:00
Nemiga Gaming
BO3
Esports World Cup 2025: EEU OQ
ShashMin
13:00
Cyber Goose
BO3
Результаты
Road To The International 2025 - CN OQ#2
大怪洛战队
栗神全球粉丝后援会
Dota 2 Space League
TOXIC TEAM
Real Eclipse
LatAm Fem League
Influtonic eSports
Five Pixels
MAD DOGS LEAGUE
Moonlight Wispers
Project Achilles
Road To The International 2025 - SA OQ#2
Sustancia X
Estar backs
Road To The International 2025 - NA OQ#2
Cidade De Deus
Tt Geam
Road To The International 2025 - NA OQ#2
PARACETAMOL
my 4 and 3 eldne ring
Road To The International 2025 - NA OQ#2
CDUB ESPORT
Chilling