Привет всем!
Знаю, что вопрос очень размыт, но довольно давно стал его себе задавать.
WoW - это легендарная MMORPG, игра с которой выросли многие ныне уже зрелые люди. Это не просто игра, это мир в котором игроки вольны взаимодействовать друг с другом или с окружающей их виртуальной реальностью. Pvp, Wpvp, рейдовый контент, общения и знакомства - это лишь часть того, чем занимаются игроки. И для всего этого нужен какой-то баланс. Почему у мага фаерболл кастуется 2.5 сек, а у Лока шадовБ 2 сек?
Почему стандартный шанс блока у моба 5%, но не 5.5%? Почему за задание, игрок получает 30 серебряных, а не 29. Почему торгаш покупает хлам за 1 голду, а не за 1г и 2с. Почему все работает так, как работает и как это все посчитать. И как связать все остальное и создать играбельный мир, чтобы ничего не выбивалось из общей системы? Ведь это ММОРПГ, и очень большой проект. Мне не нужны формулы, ведь многое уже есть в сети, мне необходим абстрактный ответ. Буду очень признателен за возможные ссылки на разные материалы.
Дружище тебе нужно обратиться в контору специальную где все тебя обучат и все расскажут. Geekbrains как одна из них.
https://youtu.be/fF545uHzIQ4?t=59
зочем?
Ну программисты, как правило, очень сильные математики, и создать модель для них не такая уж сложная задача.
Да и математика тут простая без поверхностей и комплексных чисел… арифметика.
И постоянные можно округлять в широких рамках, поэтому 30 а не 29.
Баланс в вов это фантастика.
Как создаётся баланс в WoW и других играх?
Берется список нужных статов, затем по цифровой клавиатуре пускают кота и после его беготни случайным образом раскидывают полученные цифры по статам для каждого класса. Если получилась какая-то лютая дичь, то опыт повторяют. Если дичь получилась не очень лютая - принимаем изменения, объявляем что таков путь и что в дальнейшем мы обязательно что-то придумаем. Для шамана можно просто поменять пару иконок вместо операции выше. Как-то так.
Перерисовка кнопок шамана… флешбеки. ))
гейм дизайн как и все начинается с простого, условно создается 10 заготовок-персонажей безликих, всем дается условных 100ед хп 10 ед урона, архитекутрно-сценарно требуется танк - выделяем одного даем ему 150хп, снижаем урон на 5
и тд и тп, добавляем абилки одному снижение агро, другому увеличение
с ростом абилок и свойств все это загоняем в уравнения и пытаемся “сбалансить” примерные значения в пределах нормального распределения
получаем юнитов с плюсами и минусами в определенных ролях
Оборотнем. Оборотнем ему нужно обратиться.
На столько сильные, что рога нагибает всех, а ферал находится в помойке…
Они джунов с соседнего политеха нанимают, за корпоративный ланч они двигают ползунки и потом в чате Slack угарают
О, это крайне сложная и интересная тема. Ребята, не стоит вскрывать её, ну и так далее…
Начать стоило бы с того, чтобы определить, что означает слово “баланс” в твоём понимании и для чего он нужен. А то пока ты написал про более простые вещи, ну да и ладно.
То есть, во-первых, есть соображения эстетики - по возможности делать числа круглыми, запоминающимися. Базовое время каста заклинаний обычно кратно 0.5 с - чтобы не ломать голову людям на пустом месте.
Во-вторых, некоторые базовые значения сначала берутся “с потолка”, основываясь просто на фантазии - и поверх них уже строится вся модель.
Вот смотри, на пальцах.
Мы придумываем заклинания для разных классов.
Сначала мы прикидываем, сколько должны колдоваться заклинания, чтобы игрок не вынужден был бешено молотить по кнопкам, но и не засыпал от уныния. Получим, что оптимальное время - это 2-3 с. Причём 3 с - это уже довольно долгий каст, а 1,5 с уже будет быстрым.
Затем мы прикидываем, сколько здоровья будет у монстров или игроков на каждом этапе игры. Но сейчас сузим задачу - пусть речь идёт о максимальном уровне. И мы решили, что на нём здоровье обычных крипочков будет в районе 3000.
И вот мы придумали, что у мага будет огненный шар. Пусть он колдуется долго - 3 секунды. И наносит много урона - пусть будет 600. Тогда на обычного монстра нужно 5 огненных шаров, и бой будет не очень долгим, но и не моментальным.
Это 200 урона в секунду (УВС). Без вещей, талантов и прочих бонусов и баффов, про них пока не думаем. И вот эти 200 УВС мы берём за норму, по которой мы оцениваем все заклинания.
Значит, если у чернокнижника будет стрела тьмы, которая колдуется 2,5 с (чтобы не быть совсем идентичной файрболу), то у неё должно быть около 500 урона.
Ещё у мага будет ледяной болт. Пусть он колдуется ещё быстрее, 2 с. Для разнообразия. Сколько урона он должен наносить, 400? Нет, поскольку у льдышки есть дополнительный эффект - замедление цели, что очень круто при каче и в ПВП (о нём мы пока тоже не думаем, но уже знаем, что оно будет). Значит, надо сделать небольшой штраф. Тогда пусть будет не 400, а 350 урона.
А у жреца, скажем, есть кара, которая за 2,5 с наносит не 500 урона, а всего 400. Просто потому что свет бьёт слабенько Но чтобы компенсировать это, мы дадим ему взрыв разума, который наоборот, за 1,5 с каста вваливает не 300, а целых 500 урона! Но как заставить пристов не кидать только взрывы? Правильно, сделать ему перезарядку. Тогда прист бьёт взрывом по кд, а в промежутке делает 2-3 кары. Получилась простейшая ротация. Нетрудно даже посчитать, в плюсе или в минусе останется жрец.
Или мы делаем какое-то ДоТ-заклинание с кастом в 2 с. Постепенный урон гораздо хуже мгновенного, и часть заклинания может потратиться впустую, если цель умрёт раньше. К тому же нет смысла делать это заклинание повторно, пока ДоТ не кончится - это создаёт “мнимое” кд. Так что нормально будет дать такому заклинанию не 400, а 800 или даже 1000 урона (смотря какова его длительность). А если будет сочетание мгновенный урон + ДоТ, как иммолейт у локов, то можно сделать 200 + 400.
Ну и так далее, напридумываем кучу всего для разных классов, только нюансов гораздо больше - например, появляются мгновенные заклинания, и они гораздо удобнее в использовании. Ради них приходится делать ГКД, чтобы нельзя было проспамить одну кнопку 10 раз подряд. Тогда их время каста условно равно ГКД, но за удобство надо расплачиваться либо пониженной эффективностью, либо, как чаще бывает в WoW, повышенной стоимостью маны. А мана - это ещё один ресурс, новая переменная в нашей системе.
Тут можно придумать ещё сверхдофига всего, главное - продолжать генерировать все числа по похожей системе. Их всё равно ещё придётся потом шлифовать, но без системы всё развалится вообще моментально.
Итого в первой итерации получаются наборы заклинаний для магических классов. Если внутри класса есть слишком слабые и ненужные спеллы - есть повод говорить о дисбалансе. Если у одного класса набор в целом слишком сильный или слабый - тоже (но не факт, может, по дизайну, класс берет свое чем-то другим). Если таких поводов много, то всё надо переделывать.
В следующей итерации мы так же добавим таланты. Теперь снова рассчитаемся УВС всех способностей, теперь уже не голых, а с учётом разных билдов. Тут уже точно придется всё переделывать и не один раз. Потом добавляются предметы и бонусы от них, и рассчитать всё становится ну просто нереально, вариантов слишком много. Придется довериться ранее выведенным формулам и надеяться, что не получится, черт побери, очередного фуривара, дамажащего в полтора раза больше всех остальных. Причём в ПВЕ хотя бы можно пытаться рассчитать типичные виды боёв, хотя и тут слишком много возможностей, а в ПВП не стоит даже и пробовать, что-то подправить можно лишь интуитивно.
Короче, в сложной системе (а WoW - охренетительно математически сложная система) наступает момент, когда можно лишь забить и отдать свою поделку на тест. Тестеры тоже проверят лишь крошечную часть возможных комбинаций, но, если очень повезёт, найдут какие-то самые вопиющие косяки. Тогда нужно будет придумать, как их исправить - иногда для этого надо сносить половину сделанного. А затем прогнать все расчёты заново и снова отдать на тест. Если же времени тестировать больше нет, то вы просто релизите то, что получилось, и да храни вас Макаронный Монстр.
К этому моменту все уже давно понимают, что уравновесить все спеки во всех ситуациях (кач, инсты, рейды, БГ, арены) просто невозможно, и даже не думают попытаться начать мечтать об этом. Ну и да, баланс классов - это лишь малая доля из всех чисел в игре, просто самая заметная и обсуждаемая игроками. В остальных, менее критичных местах схема похожая, только значения не выверяются так тщательно, да и вообще могут быть как высчитаны хитрой формулой с 5 параметрами, так и просто взяты наугад. Собственно, в этом и прикол, и ответ на твои исходные вопросы
Если правда интересна эта тема, можно читнуть курс “Принципы игрового баланса Яна Шрайбера” (нет прав дать ссылку), там всё с самых основ.
Почитай https://habr.com/ru/company/pixonic/blog/459504/
, для начала сойдет.
В вове да и в любых онлайн играх конечно модели более сложные, потому что нужно балансировать классы не только с точки зрения противостояния мобам (PvE), но и с учетом противостояния другим классам (PvP). Но базовая идея та же.
Дальше в дело вступают математические модели со множеством параметров, которые переносятся в программный код, и которые затем прогоняются множество раз, собирается усредненная статистика. Если где-то получаются перекосы, то аналитики подкручивают те или иные параметры (урон от абилки, скорость ее каста и т.п.) и снова прогоняют моделирование. Понятное дело, что таким образом невозможно идеально отбалансить вообще всё, но хотя бы примерно.
Потом уже после того как игра готова и люди в нее играют, собирается обратная связь от игроков, на основе которой разработчики принимают решение о балансировке – какой-то класс понерфить, какой-то баффнуть. Всё происходит итеративно, каждый новый баланс-патч вносит корректировки.
С классикой такого не произошло, т.к. она была основана на оригинальной версии Wow 1.12 и уже содержала все кумулятивные балансировки, а разрабы решили не париться и не продолжать баланс.
Ну разбойник не может быстр обегать, плавать, хилить рейды, себя и превращаться в медведя…
В этом и есть баланс - кажыдй класс в чем то хорош и игрок имеет выбор.
Если - в игре будут одни друиды… кто будет играть в такую игру? Хотя баланс будет идеален.
Близзы пошли по такому сценарию и уравняли всем классам урон дали самохил - кучу одинаковых абилок -к чему это привело - к акуталу в который люди отказываются играть.
Когда твой персонаж убивает как разбойник, танчит как ДК и хилит как жрец… это не баланс, это ОП. И разработчики в 2004 году это понимали.
Я немного поправил
Все уравновесить возможно т.к. вов это математическая модель и не самая сложная в мире. При этом в вове есть большое преимущество, т.к. все параметры задают сами разработчики. Скажем тебе не надо снимать параметр с прибора например термометра (который сам по себе имеет погрешность) и т.д.
В БК будет вообще тема, потуги мага убить лока будут обречены
Вот только полное уравновешивание всего никому не нужно, поэтому уже фиг знает сколько лет работает запланированный дисбаланс. Который приносит драму, срaчи, гайды, ожидания, разочарования, радость, злость и прочий движняк для развлечения игроков.
Ага, но не возможно и не нужно, разные же вещи.
Не, от обратного надо - условно 100% выдает перс в топ шмоте с оптимальной раскладкой талантов, а потом пошли резать, скажем до 70%. Кинули 15% на таланты и 15 на шмот, все просто же.