Почему реплеи сходят с ума

Несколько лет назад часто звучали предложения перевести икап на свою карту, в которой бы исправили какие-то недоработки оригинала и добавили нужный платформе функционал. Основным аргументом ребят-разработчиков была несовместимость — дескать, реплеи игр на великой платформе отправляются в водоту, и будет некрасиво, если игроки не смогут это делать из-за новой карты. А спустя пару лет они просто выпустили новый лаунчер, который сделал все и каждый реплей «битыми» изначально. #логика #процветание

Расшаренный курьер

Если упростить техническую часть, то принцип расшаривания курьера крайне прост:
  • по умолчанию игра считает, что ты расшарил союзникам контроль;
  • когда союзник выделяет кого угодно из твоих войск, кто не курьер — контроль снимается;
  • как только выделение прекращается, контроль возвращается.



Т.к. эти действия происходят благодаря вмешательству лаунчера, сам варкрафт об этом не знает.

Принцип работы реплея

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

А теперь вернемся к курьеру. Варкрафт сам по себе не знает, что у тебя есть контроль над курьером союзника — лаунчер меняет это своими путями, не оставляя следов в реплее. И, если ты выделишь юнита, которого не можешь контролировать, он не будет тебя слушаться, что логично. Однако в реплее написано, что ты выделил курьера и нажал «принести вещи». Поэтому Wc3 пытается сделать то же самое — выделяет курьера от лица игрока и приказывает принести вещи. Но, если рядом нет лаунчера, который увидит это обращение к курьеру и выдаст право управления курьером, ничего не произойдет — курьер останется стоять.



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

Разные версии

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



В конечном итоге..

Используйте лаунчер для запуска варкрафта и реплея.

Если нужно перемотать на начало, то выйдите в меню и зайдите в реплей еще раз.

Replay Seeker работает корректно, если ему не приходится использовать перемотку назад.

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

13 комментариев

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