+7.92
4 читателя, 55 топиков

Warcraft 3: Голодные игры

Тяжело найти игру, которая пыталась бы так экономить память и процессорное время, как  WC3. Ну серьезно, здесь кэшируется всё, что используется хотя бы один раз. Разработчики хотели добиться такой плавности, чтобы даже на чертовом Pentium 2 игра летала. Конечно, это не было указано в минимальных требованиях, но попробовать всегда можно.



Оптимизация, особенно в сравнении с каким-нибудь проектом уровня  Dota2, поражает. Пока творение на Source-движке отжирает память аки голодный Chrome или старая Лиса, требуя 1 Гб оперативной памяти только для загрузки главного меню,  WC3 просит ~500 Мб на меню и всю карту целиком. Это уже не говоря о скорости обработки информации — пока  Source в несколько ядер бездумно обрабатывает отрисовку шапочек и умудряется лагать,  WC3 держит 200+ юнитов на экране и не особо этим утруждается. Конечно, последнее зависит и от рук автора карты — в том же LTD наплыв крипов вполне успешно ложит производительность. Но старые добрые башенные защиты доказывают, что сам  варкрафт с этим справляется на 5+.

Здесь — о том, какой ценой были достигнуты подобные успехи, и к чему это привело.


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

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

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

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

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

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

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

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

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

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


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

Манипуляции с уроном

Помимо взаимодействия урона с хардкодными (встроенными в игру) механизмами вроде сопротивления к магии и брони, есть и манипуляции, осуществляемые с конкретными способностями и при помощи кода. В нашем случае будем вскрывать доту (ничего нового).


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

Типы урона, резист/сопротивление, блок

Типы урона, доступные в доте 6.83+:

  • Физический
  • Магический
  • Чистый

От них наследуются производные:
Физический делится на
  • Smashing
  • Normal
  • Enhanced

Чистый на:
  • Divine
  • традиционный чистый


Взаимодействие урона, ну и плюс некоторые особо специфичные случаи, разобраны ниже.


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

Пивка никто не желает?

В Warcraft 3 The frozen Throne появился герой Pandaren Brewmaster. Вместе с ним пришла абилка «винные пары» — и на её основе оказалась построена добрая часть абилок доты. А всё потому, что она позволяет редактировать скорость бега или атаки цели, а также добавлять шанс промаха. Она может запрещать произношение заклинаний, ближние атаки, дальние атаки и специальные атаки. И всё это ценой одного бафа! К сожалению, все оказалось не так просто — даже разные бафы, основанные на пиве, не складываются и затирают предыдущий баф.

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

Трансформации

Одни сбрасывают эффект трансформации использованием , а другие пытаются уклоняться ею от дизейблов. Одни не знают про секреты кнопки Shift, другие не могут в тайминг. Есть и третья категория дотеров — те, кто нихера не понял, чем занимаются предыдущие две. Попробуем посвятить и их.

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

Волшебные сети

Один из хардкодных дизейблов варкрафта — Magic leash. Не помню, как оно на русском, "магические оковы", наверное. Принцип действия: абилка полностью дизейблит цель, но требует, чтобы тот, кто её применил, тоже стоял в дизейбле, удерживая врага.

Самые очевидные примеры:




Не самые очевидные:




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