Все уже знают, что я втихаря делаю свою MMORPG? Ха-ха, шутка.
Придумал новую систему «аггро» и поведения мобов для mmorpg. Нормальную, человеческую, диаблоподобную.
Она совсем не революционно новая, но порождает много хороших последствий.
Делюсь.
Аггро, как в WoW, нет.
Каждый персонаж имеет несколько (N) невидимых «слотов», на которые могут «пристроиться» монстры. Скажем, воин имеет 3, паладин — 2, вор — 1. Воин со щитом — 4 (на щите написано «+1 слот»), protection воин — 5, и так далее. Ну, вы поняли идею.
У каждого монстра есть несколько правил:
1. «Вешаемся» и атакуем ближайшую цель (с шагом по M метров, то есть все цели в радиусе M метров считаются ближайшими), если у нее есть свободные слоты (то есть ее не атакуют N других монстров). Если у ближайших целей слоты кончились, ищем цели из этой же партии подальше.
2. Атакуем персонажей с определенным приоритетом. Например, если ближайших целей — две, то монстры сначала вешаются на воина, а потом, когда у него кончаются слоты, на паладина, а потом — на вора. (Никто не мешает делать монстров с хитрым приоритетом, типа «mind flayer», которые любят атаковать только магов. Но в целом есть дефолтная таблица с приоритетами).
3. При прочих равных условиях на игрока вешаются те мобы, которых он успел ударить (скажем, 10 монстров и один воин — как определить, какие 3 моба осядут на нем?).
4. Taunt есть, он принудительно «вешает» монстра на тебя (но сбрасывает лишнего, если на тебе много висит). В некоторые способности можно «вмонтировать» taunt, например, в тот же charge. Ну логично же, выбираем моба, несемся и со всей дури врезаемся в него — он начинает тебя атаковать. (De-taunt тоже есть — это способность, уменьшающая количество слотов на N и сбрасывающая лишних мобов).
5. Когда все слоты у всех партийцев заняты, оставшиеся монстры распределяются равномерно по игрокам.
Мелкие нюансы: Монстры разные, в том числе и дохлые и жирные, отличаются визуально, нападают «случайными» кучами. У монстра есть параметр «сколько слотов он занимает» (по умолчанию — 1, но может быть и 0.1 (для толпы мелких монстров) или даже 3). Ranged damage dealer-ы бывают двух типов: с большой дальностью поражения и с небольшой (чтобы образовывали второй фланг).
Бой выглядит так: на группу бежит толпа мобов, часть из которых оседает на «танке» сама, потому что он впереди и имеет приоритет. Еще часть оседает на других melee-шных классах. Часть прорывается к хилерам и магам.
Тут-то внезапно и пригождается и crowd control и кайтинг, и все остальное. Более того, востребованные способности у танка будут вовсе не те, которые «causes high amount of treat», а нормальные и понятные: замедлить толпу, отбросить толпу назад, и так далее. То есть те, которые визуально держат передний фронт и поэтому понятны всем.
(Ремарка в сторону: а тут представьте засаду сзади, гыгыгы).
(Еще ремарка в сторону: при этом мобы не наносят мгновенные смертельные повреждения даже магу, так что нет ничего страшного в том, что они до него добегают, смотри дальше про хилинг).
«Скилл» танка будет в том, чтобы выбрать из толпы мобов «минибосса» и сделать ему taunt, и чтобы премещаться по игровому полю, «защищая» остальных (но это уже супер-мастерство, без которого группа все равно должна выживать).
Финальный штрих, чтобы все не превратилось в «группа разбирает монстров и каждый бьет свою кучку соло»: делаем КОМБО!11 ПЫЩ-ПЫЩ. Когда моба бьют два и более игрока, их способности складываются, усиляя друг друга.
В WoW-е это тоже есть, но сделано в виде пассивных бафов или proc-ов, что равносильно отсуствию: ты в рейде тупо делаешь в два раза больше повреждений, только потому, что ты в рейде.
Комбы можно (и нужно) «обыграть» визуально: например, воин может делать knock back мобу (как это по-русски? сбивать его с ног), а у мага есть спелл, который наносит троекратные повреждения по лежащим мобам, то есть маг видит — ага, моб лег, надо срочно лупить.
Тут-то внезапно и пригождаются разные спеллы: файрбол-1 просто наносит повреждения, файрбол-2 наносит меньше, но зато наносит троекратные по упавшим мобам, фростболт замедляет, когда моб бежит на тебя, даже если ты огненный маг. Игра снова становится ситуативной, а не основанной на «ротациях», как WoW.
Knock back реально заиграет, в WoW спеллы, у которых есть knock back, бесят неимоверно, ибо отпихивают мобов от танка, мешая ему наращивать aggro. В этой системе knock back позволит отпихнуть мобов от себя на других.
При этом партия, которая не использует комбо и проходит все в режиме «каждый сам за себя» не должна умирать мгновенно, ей просто должно быть сложнее.
В конце инстанса обязательно должна быть таблица рекордов с разными рейтингами: повреждения, максимальные комбо, время твоего crowd control-я, и так далее, чтобы каждый мог найти тот рейтинг, где он первый и игра не превращалась в измерилку DPS-а (привет, WoW).
Осталась последняя, но извечная проблема — хилинг.
«Хилинг» (в кавычках)
Лучше всего «хилинг» сделан в... Left 4 Dead, если под хилингом понимать не только хилинг, но, собственно, любую поддержку, саппорт. Именно так и должно быть в MMO: саппорт-классы, которые могут «поднимать» павших товарищей и как-то предотвращать их «падение».
При этом общие повреждения от монстров должны быть такими, чтобы не надо было «спамить» лечение, а достаточно было раз в 20 секунд бросать HoT (healing over time), раз в 30 секунд снимать какой-нибудь дебуф, типа яда, а остальное время наравне со всеми мочиться, превратившись в форму кошки. (Вот там и «правильный» друид).
Отдельное место должно занимать пассивное лечение: берем из warhammer-а идею с двумя целями — дружественной и вражеской, берем варлока из WoW, как архетип («высасыватель жизни»), все спеллы «противник теряет жизнь, вы получаете столько же» меняем на «противник теряет жизнь, дружественная цель получает столько же» — и внезапно все эти спеллы становятся полезными в группах.
«Лечение» не должно быть обязательным, но должно быть четкое понимание: если партиец упал, то «его» мобы повиснут на других, и всей группе станет хуже. Как в Left 4 Dead, ага. «Умирание» группы под натиском врагов должно быть таким же: сначала падает один, потом — второй, и так до последнего. А вовсе не «танк умер — всем пиздец».
Очевидно, что если есть фланги, то должно быть и «фланговое» и AOE лечение. В WoW, например, у пристов есть бесполезный спелл — lightwell («lolwell»), который создает «колодец» к которому можно отступить во время боя и подлечиться. Спелл бесполезен, потому что в WoW лечение устроено так, что его приходится «спамить», колодец при этом — как слону дробинка.
В этой же системе подобный спелл становится черезвычайно полезным, он позволяет присту не отвлекаться от кровавого веселья, при этом лечить группу.
Лирическое отступление про интерфейс.
Вообще, я уже говорил, что если Valve решит сделать MMORPG, это будет охуенно. У Valve вообще есть хорошее понимание того, что игра — это интерфейс. У Близзарда же игра имеет хороший интерфейс, но сама интерфейсом не является.
Загнул, да?
Короче, маски на spy-е в TF2 — это игра, как интерфейс.
(Для тех, кто не играл — когда шпион превращается в солдата противника, он не меняет свою форму визуально, для своей комманды, чтобы не путали, а надевает маску этого солдата. Для вражеской комманды он, разумеется, форму меняет. Очень круто.)
Максимально различаемые фигуры игроков — тоже. Светящиеся линии вокруг персонажей в Left 4 Dead и разные движения в зависимости от состоянии здоровья — тоже.
А вот полоска жизней, которая висит отдельно поверх экрана — это уже отдельный интерфейс.
Очевидно, что в «идеальном онлайновом диабло» лечить надо только тех игроков, которые визуально упали и брыжжут кровищей, «злые» мобы визуально крупней, и так далее.
То же самое и в нашей идеальной ММО — все должно быть на экране, а не в интерфейсе.