Купить рекламу на сайте: баннерная, ссылка и витрина с оплатой онлайн

Между линий: за кулисами Dota 2 (выпуск 1)

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

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

Однако, благодаря нашему преданному сообществу, у нас всегда есть шанс исправить обнаруженные проблемы. Наше сообщество активно изучает Dota 2 и экспериментирует, находя скрытые преимущества, новые стратегии и доселе неизвестные ошибки, которые могут сбить с толку даже нас, разработчиков.

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

«Парные порталы» предоставили герою возможность создавать управляемые Sticky Bomb, которые можно было перемещать по всей карте и использовать неограниченное количество раз. Такое нововведение, можно сказать, создало несколько проблем, и вскоре они были обнаружены нашими преданными фанатами на GitHub.

Между линий: за кулисами Dota 2 (выпуск 1) → photo 7

В мире разработки игр, и особенно в Dota 2, часто используется подход, при котором на основе уже существующих работающих элементов создаются новые, чтобы избежать поломок в игре. В случае с Sticky Bomb, мы вдохновлялись классическими минами из способности «Remote Mines», которые использовали тот же базовый тип создания, известный как «npc_dota_techies_remote_mine».

Создание и поведение Sticky Bomb основывались на последовательности действий: бросок бомбы, её преследование и отсчёт до взрыва. Всё это контролировалось серверными модификаторами, регулирующими движение и поведение объекта на каждом этапе. Управление бомбой было запрещено во время преследования и отсчёта, а также некоторые команды игрока блокировались во время броска. Кроме того, код игры запрещал атакам такого типа существа как «npc_dota_techies_remote_mine».

Между линий: за кулисами Dota 2 (выпуск 1) → photo 8

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

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

Решение, которое мы нашли, было довольно простым: мы убрали возможность управления бомбой-липучкой игроком при помощи «Парного портала». Мы просто удалили соответствующую пометку, и теперь последовательность не нарушается, а бомба всегда взрывается вовремя.

Между линий: за кулисами Dota 2 (выпуск 1) → photo 9

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

Таким образом, ошибка с бомбами-липучками случайно проникла в игру, но была успешно устранена благодаря активной помощи нашего сообщества. И что же дальше? Мы всегда открыты к вашим отзывам и предложениям. Если вы обнаружите что-то ещё, не стесняйтесь сообщать нам на нашем GitHub.

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

Добавить комментарий