Мультитаргетная атака

В скиллах  Split Shot и  Flak Cannon лежит один и тот же базис — Barrage, стандартная способность из ладдера. Она позволяет юнитам дальнего боя атаковать несколько юнитов одновременно, при этом побочные атаки летят в случайные цели поблизости. Текст о том, почему они до сих пор плохо работают.

Читать дальше →

Мапхак и как его едят

Первый принцип  WC3 — воспроизводимость. Все компьютеры должны владеть всей ситуацией, знать о каждом объекте, существующем в игре, на равных. В противном случае быстро возникнет десинхронизация. Но, раз и клиент, и сервер знают, где находятся юниты врага, можно об этом узнать и самому игроку, разобравшись в строении памяти игры?



Читать дальше →

Warcraft 3: еще о синхронизации

Естественно, за один мыслительный порыв охватить всю тему не удалось. В предыдущем топике я разобрал основы принципов синхронизации в  Warcraft 3 и причины, по которым вообще возможно существование этого чудо-винхака. Нужно добить некоторые оставшиеся вопросы и абузы синхронизации.

Читать дальше →

Warcraft 3: что такое синхронизация

Warcraft 3, как и большинство игр-продолжений, разрабатывался на движке своего прародителя — Warcraft II. Естественно, от того самого движка практически ничего не осталось с переходом в фул-3D, но глубоко внутри него всё еще можно найти артефакты из 90-х годов. Конечно, в начале 2000-х эти «артефакты» были скорее полезными и реально эффективными решениями, но сегодня они стали просто гирями на ногах.

Обсуждаем — синхронизацию и винхак.

Читать дальше →

Интервью с парнем из команды фрога

Как-то в поисках багов я наткнулся на интервью, взятое сообществом Reddit у парня, который был в команде фрога. Ему уже более 2 лет, т.е. происходило дело в 2013 году, но что поделать — не всегда есть время и желание серфить подобные ресурсы. Никакого подтверждения, что это именно тот самый DamnNoHtml, нет — только ник. Так что верить или не верить в его слова — выбор самого читателя. Я взял эту статью, потому что некоторые ответы показались мне интересными. Знатоки английского же могут сразу знакомиться с оригиналом.

Перевод оформлен от первого лица. Вопросы отсортированы по популярности на Reddit. Некоторые комментарии отвечали вместо автора, но их ценность столь высока, что они тоже пробились.


Читать дальше →

Warcraft 3 и любительские патчи

Battle.net умер довольно давно, и никакая дота ему не смогла помочь. В конце концов, это была заброшенная площадка — Warden (антихак батлнета) обошли давно и легко, следить за соблюдением правил некому, да и статистики никакой не было, кроме игр на постройку (ни малейшей идеи, как перевести ladder games иначе). Все мигрировали на какие-либо площадки, и сейчас бнет едва живой. Это стало одной из причин, по которой близзард забили на любые эксперименты с варкрафтом.

Под катом — моё отношение к фанатским патчам и развитию варкрафта 3 в целом.

Читать дальше →

Игровое зрение

Это перевод статьи уважаемого PD-механика, программиста и просто хорошего багета парня LordShinjo. Для тех, кто читал его оригинал, все равно будет кое-что новое — в основном я сгорю буду говорить о том, почему всё плохо, какие проблемы с видимостью имеются в доте и как они были решены.


Читать дальше →

WC3 never stops to surprise me

In order to support Octarine Orb's spell lifesteal (and overall increase accuracy attack detecting system) I had to move all hardcoded spells into wrappers. Dummies throwing spells being perfect way to detect if damage is magical — just look for Aloc.

Everything was fine — simple triggers, nothing complex. Every hardcoded shockwave being copied and used as dummy-wave: original wave deals 0 damage and no animation, dummy wave provides damage and visuals. These changes affects Lina, Banshee and Magnus in first place.

There were few reports about failed shockwave casters. Only few — and that caused me to think it's minor bug, which cannot be reproduced in any set I've tried. I did know that shockwave cannot be casted on cliffs, so my best guess was — somehow people break my system, casting waves right into cliifs. But once map hit RGC, things went crazy — amount of reports about broken waves rised as Spartacus in da best times. Even more — waves didn't work even on flat terrain. That what I can call catastrophic issue.

One more thing — there were quite few reports of SF's Requiem of Souls being broken as well. If you remember, it's based on Shockwaves too. But let's dig things out.

Читать дальше →

Нож в спину от варкрафта, или искусство кэширования

Ради того, чтобы иметь возможность отличить урон, нанесенный заклинаниями, от урона с атак, мне пришлось переделать все стандартные заклинания в обертки. Это они же, только кастует их уже дамми, а не настоящий герой. Источник урона другой, поэтому можно точно сказать, было это заклинанием или сам герой ударил.

Всё прошло хорошо — вери изи триггеры, никакой высшей математики, на каждую стандартную волну (лина магнус баньша ) — фейковая для каста, настоящая у дамми. Оно работало без проблем, даммик в точности повторял приказ и осечек быть не могло. Я знал про теоретическую возможность даммика не суметь бросить волну, если игрок отдал приказ бросить волну в самого себя, но на практике этот кейс тоже был учтен и не представлял большого интереса — часто ли щелкают на своего героя?

Пару репортов с нерабочими волнами я списал именно на тот случай, когда даммик по каким-то причинам не сумел бросить заклинание. Подумал, что бросок пошел на скалы. Смотреть не посчитал нужным — были и более заметные баги, и более частые. И только когда карта вышла на ргц, я понял, что это серьезная проблема, и что мало репортов не значит «редкий». Кроме того, ульта SF тоже использовала фейковые волны, и они тоже иногда не работали.

Селфи драколича, по мнению игроков за СФа или лину

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


Читать дальше →