MMORPG: Мана — зло
Про ману я писал вот тут и вот тут. Рекомендую перечитать.
Если коротко, то изначально «мана» — это количество применяемых магом заклинаний «за один раз» и, собственного, его дамаг в одном бою. Мана нужна (была) для баланса. У мелишников, которые не умеют лечиться, главный ресурс — это толстая жопа и количество здоровья, когда здоровье кончилось — ты помер.
У всяких манаюзеров есть куча преимуществ, например, range, лечение и защиты, благодаря которым их здоровье чисто теоретически может никогда не кончится, поэтому количество применяемых магом заклинаний «за один раз» является как бы продолжением здоровья и конечно.
Соответственно, «мана» должна кончаться. Мана кончилась — ты умер.
А потом пропал GM, появились кажуалы, рейды, соло-игра куча всего-всего и внезапно оказалось, что когда мана кончается, ты умираешь!!11
Для убийства трешевого моба нужно одно количество маны, в ПвП — другое, в рейдах — третье, тебе постоянно нужно непредсказуемое количество маны.
Понятно, что почти сразу главным ресурсом стала скорость восстановления маны, а не ее количество, с чем, например, в WoW близзард до сих пор ебется, то мана восстанавливается слишком быстро, то ее не хватает. Они ищут «золотую середину», что неправильно, потому что они лечат симптомы, а загнали в эту ловушку они себя сами.
Правильный ресурс на примере того же WoW — это энергия у воров или руны у ДК. И то и другое растет с контролируемой близзардом и понятной игроку скоростью, скорость роста и того и другого можно немножко менять (focused attacks и combat potency у вора, «разноцветные» руны и ДК), все спеллы сбалансированы под конкретную стоимость, и так далее. Rage у воинов — тоже почти правильный ресурс.
А дальше, у мана-юзеров, начинается полный кошмар. Даунранкинг, репелишмент, проблемы с маной у гибридов, паладины с бесконечной маной, несколько нерфов лайфтапа, метание от mp5 к спириту и обратно, «5-секундное правило», и так далее и тому подобное.
Вот уж насколько rage кривая и непредсказуемая — и то проблем и фиксов с ней было меньше в разы.
Почти правильно «мана» сделана в Warhammer Online: там у всех классов есть абсолютно одинаковая «энергия», которая регенерирует со временем, у некоторых классов в добавок к этому есть дополнительный уникальный ресурс, есть даже аналог rage-а у воина, но, в отличие от WoW, rage тратится не на базовые способности, а на реально «злые». Еще есть «мораль» — еще один ресурс, который растет со временем. А еще есть кулдауны.
Там есть свои минусы, например, «моральные» способности надо пересадить на кулдауны, у кучи способностей совершенно «левая» стоимость, некоторые уникальные ресурсы высосаны из пальца и должны быть не у всех.
Как делал бы я:
У всех классов есть 300 «энергии», которая восстанавливается довольно быстро и постоянно. Пусть она даже называется «мана».
Когда у тебя 30% энергии (0-100), она восстанавливается быстрее всего, когда 30-60% — со средней скоростью, когда 60-100% — медленно. (Понятно, почему?). Способности имеют понятную фиксированную стоимость, и их цена является фактором, влияющим на выбор.
В WoW, кстати, все туда и идет, но медленно и через жопу: есть некое базовое представление, сколько маны имеет средний представитель класса на своем уровне, все спеллы балансируются под эту цифру, многие спеллы даже имеют стоимость в виде (% of base mana), repelishment восстанавливает тоже процент маны, и так далее.
Проще не париться, дать всем 300 «маны» и балансировать всё те же, как и сейчас, просто без кучи головной боли, вместо «спелл стоит примерно 10% среднестатистического (по больнице) манапула» делать тупо «стоимость = 30» и не париться.
(Лирическое отступление: ну, например, становится совершенно понятно, почему воскрешенье стоит много «маны», и почему его можно сделать в комбате с длинным кастом: потому что ты не просто выбываешь из комбата на 10 секунд, но потом еще и не можешь лечить и вообще беспомощен. В WoW-е воскрешенье сделано бредовое: оно вне комбата и с большой стоимостью по мане и временем каста, что вне комбата не играет никакой роли вообще. Понятно, что оно исторически сложилось, и у каждого пункта есть объяснение, но все вместе пункты выглядят бессмысленно).
Для баланса это — рай.
Способность за 30 энергии «дружесвтенная цель восстанавливает 30 энергии» всегда идеально сбалансирована, на любом уровне, не надо плодить разные ранги. Способность «восстанавливает +5 энергии каждую секунду» одинакова по силе для всех классов, в WoW она же приводит к стакингу интеллекта, с чем безуспешно борются.
При этом даже способности «плюс к мане» имеют полное право на существование.
С WoW разгадка проста — игровую механику ВоВа делали бывшие воины из Еверквеста, поэтому все милишные классы сделаны довольно хорошо, с «правильной маной», а кастеры в жопе.
Криты надо было вынести на отдельный стат («удача») и сделать его одинаковым для кастеров и мелишников (кстати, сейчас так сделали, но только на уровне вещей), интеллект должен работать, как сила у мелишников (так зачем-то сделали через таланты у избранных классов), то есть усилить магический дамаг, а спирит — увеличивать скорость регенерации «маны», то есть быть, фактически... haste’ом для всех классов (что опять-таки сделали на уровне итемизации, 4 года спустя).
Заплатки, заплатки.
Про идеальную систему характеристик — в следующий раз, если хорошо попросите.
MMORPG: Crowd Control
Ну че, продолжаем?
Я, кстати, 15 лет в геймдеве, хахаха.
Идеальный CC должен иметь не только плюсы, но и минусы, классический пример — «полиморф» в ВоВе лишает цель возможности атаковать, но лечит ее. Впрочем, конкретно в ВоВе у меня старые претензии к СС.
СС — это сброс аггро
Важный нюанс: в нашей боевой системе СС-эффект должен «сбрасывать» моба с персонажа после того, как СС закончился. Например, нападает на приста в партии моб, прист делает ему sleep. Моб 10 секунд спит, после чего заново проверяет, к кому можно пристроится. Возможно, к тому же присту, возможно, на воине освободились слоты. Освобождать слот сразу при применении СС нельзя: пока один моб спит, на приста в освободившийся слот побежит другой.
Цель СС спелла — это «ааааа, снимите это с меня»! Спаммить один и тот же СС на одну и ту же цель не весело, а тут все интуитивно понятно: ты усыпил моба и, скорее всего, о нем заботиться больше не придется. Моб проспался и забыл про тебя.
CC — это визуальный эффект
Вы не поверите, но близкий к идеалу СС опять-таки в Left4Dead, когда бумер брызгает на тебя блевотиной, и ты теряешь зрение на несколько секунд. Ты, натурально, визуально теряешь зрение, при этом ты не теряешь контроль над персонажем и можешь продолжать стрелять наугад, в основном — в своих товарищей.
Вот вам хороший способ разделить СС в ПвП и ПвЕ (бля, сколько сокращений в одном предложении): ослепленный моб может тупо прыгать на месте, потому что AI так ему сказал. Ослепленный игрок может проявить мастерство и делать что-то полезное.
Проститутки, вмонтированные в сауну
Очевидно, что в ПвП ничего сильнее СС быть не может, и его надо резать сразу, не дожидаясь. Аналог ПвП-шных тринкетов нужен.
ПвП-шные тринкеты должны быть отдельной игровой механикой (а не заплаткой), одинаковой для всех и вмотрированной в каждый класс на этапе разработки.
Примерно так:
У всех классов есть одинаковая полоска, которая работает как rage у воина, то есть в начале боя равна 0, а растет она тогда, когда на тебя действует вражеский СС. Скорость, с которой она растет, тоже может (как и rage) быть описана хитрой формулой, зависящей от кучи параметра — типа СС, твоего класса, получаемых во время СС повреждений, и так далее.
Главное, что для игрока это — полоска, которая растет, когда ему нехорошо. Просто и понятно. Когда полоска достигает 100%, игрок может использовать способность, которая снимает весь СС и делает игрока имунным к СС на N секунд, но сбрасывает полоску в 0.
Как бы тот же тринкет, но более сбалансированный, потому что «раз в 2 минуты для любого класса» — это хуйня с потолка.
Diminishing returns — тоже фигня: на описании спелла написано, что он действует 30 секунд, а на самом деле он действует 10 секунд в ПВП в первый раз, 5 — во второй и 2 — в третий, а в четвертый — уже не работает. А я — простая домохозяйка, зачем (и откуда) я должен все это знать?
В WoW есть классовые способности, типа «получить иммунитет», например, the beast within и прочие. Их заебешься балансировать и слушать вопли «хочу такое же!». С помощью этой системы «такое же» можно дать всем и балансировать за счет разной скорости роста этой полоски для разных классов.
Например
Пример сносного (нет, не идеального на этот раз) СС-спелла для мага: ледышка с дыркой кубик льда.
Противник замораживается на 10-15 секунд в большой видимый кусок льда, который разрушается после любых 3-5 ударов.
Как это работает
...в групповом ПвЕ: маг заморозил моба, какой-то дурак его стукнул — ничего не произошло, все живы.
...в групповом ПвП: маг заморозил игрока, члены его команды могут «разломать» СС, навалившись кучей и стукнув каждый по разу. Это сразу снимает проблемму «СС силен против тех классов, которые не могут его снимать». Все могут, просто кто-то более эффективно — прист может все так же диспеллить, например.
...в дуели: маг заморозил игрока, после чего не может сделать «тринкет+пиробласт» (то есть много-много повреждений, пока противник беспомощен), так как для разлома заморозки надо несколько ударов, а это — первый. В ПвП спелл получается — сюрприз! — дефенсивным, а не оффенсивным, как и должно быть. (Почему, например, fear у варлоков никогда не будет починен — потому что он оффенсивен).
MMORPG: Идеальная боевая система
Все уже знают, что я втихаря делаю свою 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 и разные движения в зависимости от состоянии здоровья — тоже.
А вот полоска жизней, которая висит отдельно поверх экрана — это уже отдельный интерфейс.
Очевидно, что в «идеальном онлайновом диабло» лечить надо только тех игроков, которые визуально упали и брыжжут кровищей, «злые» мобы визуально крупней, и так далее.
То же самое и в нашей идеальной ММО — все должно быть на экране, а не в интерфейсе.