XGM Forum
Сайт - Статьи - Проекты - Ресурсы - Блоги

Форуме в режиме ТОЛЬКО ЧТЕНИЕ. Вы можете задать вопросы в Q/A на сайте, либо создать свой проект или ресурс.
Вернуться   XGM Forum > Warcraft> Академия: форум для вопросов> Желтая пресса: обучающие статьи
Ник
Пароль
Войти через VK в один клик
Сайт использует только имя.

 
Nomad

offline
Опыт: 6,677
Активность:
Практическое пособие начинающим балансерам в Вар3. Часть 1.
Практическое пособие начинающим балансерам в Вар3.


Часть 1. Крипы и башни.


Достижение баланса – одно из самых тяжелых и нудных дел, но в то же время одно из самых важнейших. Много хороших карт с отличным геймплеем, дизайном были испорченны лишь плохим балансом. Это в большей степени касается мультиплеерных карт, где от того, насколько сбалансирована мапа, зависит продолжительность её «жизни».

Для начала было бы неплохо, если бы вы ознакомились с «теорией» здесь
Там описаны основные моменты баланса. Ознакомившись (я всё же надеюсь, что вы таки прочитали ту статью ;)) перейдём к «практике». Ещё одно условие: вы должны знать чего хотите и план должен уже быть в голове.

Итак, сразу предупреждаю, что здесь будет разбираться техника балансирования для мультиплеерных карт вида AEON. Хотя отдельные моменты применимы и для других типов карт.

«Место стрелы», рельеф.

Крипы(aka форса, мобы и т.д.). Пояснять «что это» надеюсь не надо. Как известно, они идут из противоположных сторон и встречаются в одном месте, назовём её «место стрелы».
Отсюда первый вывод: Расстояние между «местом стрелы» и точкой респавна с каждых сторон должно быть одинаковым. Ибо возможен дисбаланс, если одни придут раньше и ближе к базе врага. Казалось бы мелочь, однако это надо учитывать. Вообще-то это работа рельефщика, и ваша обязанность указать ему на это. Если же вы и являетесь рельефщиком, и по совместительству балансером, несколько советов:

- Соблюдайте симметрию.
Зависит от направления «течения» форсы и поля боя. Допустим, течение в карте должно быть «из-угла-в-угол» (вроде известной всем Доты). Проведите кистью среднего размера в редакторе рельефа от одного угла в другой.
Начните с самого угла карты (на пересечении с тёмной областью) и проводите ровно, не зажимая левую клавишу, а отдельными точными щелчками доводите под одним и тем же углом в противоположный конец карты. Что? Не попало? Ах да, я забыл карту, с течением «из-угла-в-угол» нужно делать квадратной. Всё равно не попало? Э, батенька, да у вас руки кривые. Для удобства пользуйтесь сеткой(hotkey G в ВЕ).
Именно на этой прочерченной линии и должны встречаться отряды. Если у вас течение представляет собой «с-одной-стороны-в-другую» (вроде 7 corridors), то эта линия должна точно быть средней линией прямоугольника вашей карты.

- Избавляйтесь от препятствий.
На пути форсы не должны быть деревья/бочки/камни и т.д. Используйте карту путей (hotkey P) для удобства. Ширина дороги должна быть одинаковой для обеих сторон.

- Башни нужно располагать так же симметрично и равноудалено от «места стрелы». Пользуйтесь сеткой для правильного расположения. Башня также не должна быть препятствием на пути форсы.

Для проверки запустите триггер спауна готовых или пробных юнитов.

Примечание: Если вы до сих пор не знаете, как сделать триггер спауна, ниже приведено, как это делается(взято из статьи X-monstera «Типы UMS карт»)
Цитата:
Events: Every 60 seconds of game time
Conditions:
Actions:
custom script: local location destination = (Center of Region такой-то)
custom script: local group order
Unit Create 5 Footman for (Игрок, который управляется компьютером) Facing (Default Building Degrees)
custom script: set order = GetLastCreatedGroup()
Order (order) to Attack Move to (destination)
Pick Every Unit of (order) and do Unit - Make (Picked Unit) Explode on Death
custom script: call DestroyGroup (order)
custom script: call RemoveLocation (destination)


Баланс крипов относительно крипов.


Есть 2 вида балансирования крипов: принцип «зеркала» и «количество vs. качество».
С первым, всё легко. За примером далеко ходить не надо: такой принцип использован в Доте. Противоборствующие стороны полностью идентичны, за исключением графического оформления. Иногда это является самым правильным решением. Избавляет от многих проблем и геморроя по балансированию «крипов относительно крипов». Исход битвы зависит от первого удара и от скилла игрока, контролирующего находящегося рядом героя.

Возможно, что вам не нужно «зеркало» (делать тебе нечего, читатель!), возможно, ваш сюжет/концепция/бред-в-голове требует разных противоборствующих сторон. Например, человечков много, но они слабые, а мутанты мощные, но их мало. Либо у вас своя система повреждений - защиты. Тогда необходимо использовать формулы эффективности и фрагментации. Если вы всё-таки читали статью Мефиста, вы поймёте, о чём я.
В редакторе это отлаживается так: открывается новая карта, в редакторе объектов создаются все виды форсы. Нужно взять что-то за основу. Обычно за неё берётся самый слабый юнит. Мы ставим ему значения характеристик, а затем, уже более мощных юнитов подгоняем под него. Например, крестьянин(пейзан)у нас самый слабый юнит. Пехотинец должен побеждать 3(не больше) таких пейзанов. Мы подгоняем его (пехотинца) характеристики так, чтобы он делал это. А грант, например, побеждает 2 пехотинцев, но сливает рыцарю и т.д.
Т.е мы берём за константу, например максимальное здоровье крестьянина = Х. Тогда здоровье пехотинца будет 2,1Х (или 210% от здоровья крестьянина) и т.д(в таких случаях очень помогают таблицы, см. примечание ниже). Теперь мы можем гибко изменять их характеристики. После того, как мы сделали характеристики всем предполагаемым юнитам, нужно протестировать наш бред. Для этого расставляем «пачку» (все юниты, появляющихся в одном спауне, aka волна) по карте напротив вражеской «пачки», либо ещё лучше запускаем триггер спауна. И смотрим, если одна из сторон просто разорвала вторую, значит нужно что-то менять. Иногда нужно смотреть, выдержит ли один милишник(обычная атака) против 2 дальнобойщиков, сколько продержится дальнобойщик против милишника и т.д. Для этой цели расставляем их по карте напротив друг друга.
Этот процесс трудоёмкий и очень нудный. Уверен, вы устанете нажимать ctrl+F9. Такова чёрная работа балансера…

Примечание: очень важно иметь все характеристики юнитов перед глазами. Поэтому вам будет легче заниматься балансированием, если вы сделаете таблицу характеристик. Microsoft Excel вполне подойдёт, кроме того, в эту программу встроено большое количество формул, которые возможно понадобятся вам.


Баланс крипов относительно башен.

Обычно карты такого типа предполагают наличие башен, сдерживающих подходы к базе. Либо они берут количеством (шеренга башен по сторонам дороги) с малым ХП и небольшим уроном, либо своей «убойностью». Например, у нас на одном течении 7 башен, тогда каждая из них должна выдерживать максимум 3 целых (без повреждений) «пачек»/волн без поддержки героев. Мощные башни (например, как в Доте) должны выдерживать минимум 5 волн. В общем, это зависит от ваших желаний и предполагаемого геймплея. Не забывайте, что не только вражеская форса может атаковать башни, но и вражеские герои. Учитывайте и их урон тоже. Настраивается так же путём проб и многочисленных перезапусков. Если вас не устраивает результат, изменяйте характеристики башни, но в любом случаи, вы ещё будете делать изменения вовремя альфа/бета тестирования. Сейчас главное, сделать так, чтобы результат входил в вашу концепцию или задумку.

Примечание: Выносливость башен можно увеличивать не только за счёт ХП показателя, но и брони. Большая броня позволит вам избавиться от громадных значений максимального здоровья. Формула брони такова:
DMG_REDUCTION = COEFF * ARMOR / (1 + COEFF * ARMOR)
COEFF по умолчанию равен 0.06 (в Игровых константах).


Баланс крипов относительно героев.

Как известно, форса – источник денег для героев. Однако вынужден вам сказать, что экономика и цены заслуживает отдельной статьи, что и будет мной детально описано в следующих частях. Как и о героях и о балансе их спеллов будет отдельная статья. Нужно заметить, что после того, как вы сделали крипов, героев нужно будет подгонять под них. Здесь всё также зависит от вашей идеи, темпа игры. Заставить игроков осторожно играть, сделав героев слабыми и уязвимыми против крипов. Или сделать massacre, где герои косят крипов пачками. Выяснив это, характеристики героев будет легче делать, взяв за основу показатели крипов.

Надеюсь вы получили какую-то пользу от прочтения этой статьи. Буду рад замечаниям и советам. Намечаются другие части этой статьи.
Старый 06.01.2006, 12:52
NETRAT

offline
Опыт: 83,712
Активность:
Молодца, пособие по балансу - нигде еще не видел, щаз буду читать ...
Старый 06.01.2006, 13:46
Mefist
Is it cocktail hour yet?
offline
Опыт: 98,190
Активность:
Хорошо, как только допишешь - сразу на сайт. Я сам хочу походее написать про ТД, если я свою доделаю =)
Старый 06.01.2006, 14:29
Nomad

offline
Опыт: 6,677
Активность:
Всем спасибо, просто балансирование незаслуженно мало обсуждается, хоть это и одно из самых главных составляющих. А есть какие-нибудь замечания?
И ещё. Какую следующую часть делать: про героев или экономику?

A2M_Nomad добавил:
29 просмотров... Неужто нечего сказать?
Старый 06.01.2006, 19:06
Wulfrein
где я?
offline
Опыт: 88,142
Активность:
Хорошо забацал!
Про героев давай - начал с юнитов, юнитами и продолжай!
Экономику на сладкое оставь :)
Старый 06.01.2006, 19:10
NETRAT

offline
Опыт: 83,712
Активность:
Я вот что хотел спросить когда у меня внезапно перезагрузился комп: у тебя есть какие готовые формулы или алгоритмы для улучшения игрового баланса? хотя бы приблизительно - дело в том, что если их можно формализовать, то есть возможность написать некую программку, которая может помочь в оттачивании баланса или хотя бы указать на некоторые явно имбовые места. Однако для этого нужна некоторая аксиоматика

NETRAT добавил:
чтение многих форматов у мя уже есть ..
Старый 06.01.2006, 19:15
exploder
iOS zealot
offline
Опыт: 19,394
Активность:
Да, про балланс забывать нельзя... но статья несколько "абстрактна", побольше бы формул, конретных примеров... тогда ее практическая ценность возрастет...
Старый 06.01.2006, 20:17
MapMan
Corey 8 Taylor
offline
Опыт: 21,554
Активность:
Это очень хорошо... так так... для нашей с Warden'ом карты в стиле AOS то что надо... Респект аффтору:) Хотелось бы поскорей увидеть Часть2,3!!:)
Старый 06.01.2006, 22:04
Nomad

offline
Опыт: 6,677
Активность:
NETRAT знаешь, баланс - это такая вещь, к-ая настраивается индивидуально для отдельной игры/карты. Поэтому было сложно писать эту статью, потому что универсальных формул практически не существует. Конечно, елси делать все карты по одному шаблону, лишь изменяя оформление, такая прога была бы возможна. Однако ж нет, каждому ведь хочется выделится(обвинять их за это не стоит =)), добавить что-то своё!
Сам посуди: если бы баланс создавался исключительно по матем.характеристикам, это было бы не столь тяжёлым делом, т.к математиков не так уж мало. Но не всё так просто, нужно учитывать кучу других факторов. Рельеф(выгодные позиции), экономику(черезчур много денег), связки героев(какие герои, взаимодействуя, приносят имбу) и т.д. Не думаю, что всё это реально засунуть в один общий тестер, к-ый учтёт всё это. Тут уже придётся делать (!) собственный АИ, т.к ещё раз повторяюсь, просто мат.формулами здесь не обойтись. Потому такая аццкая работа по балансированию! И потому столько патчей выходит.
Кроме того, не думаю, что если бы такие программы существовали, те же близзард или тот же Ледяной лягух ими бы не воспользовались. Боюсь, всё делается ручками, и бесконечными тестами :(.
exploder я понимаю тебя. Но поверь мне, формулы тебе ничего не дадут. Эти формулы черезчур..ээ..НЕ гибкие. Если ты читал статью, переведённую Мефистом ты бы прочитал:
"В более сложных системах, например современный RTS, балансирование математическим способом достойно докторской степени. © Tom Cadwell.
Каждя мапа требует индивидуального подхода и поэтому индивидуального балансирования. Да, многие люди (к-ые не/или плохо разбираются в этом) считают, что можно обойтись парой универсальных формул и идеальный баланс готов. Вынужден ваш огорчить таких формул не существует. У каждой формулы свои узкие полномочия, нередко их и составляют специально для конкретной игры/мапы или даже ситуации.

З.Ы: тогда скоро начну писать 2-ую часть: Герои.
Старый 07.01.2006, 10:25
Wulfrein
где я?
offline
Опыт: 88,142
Активность:
У Р А !
Старый 07.01.2006, 11:48
Mefist
Is it cocktail hour yet?
offline
Опыт: 98,190
Активность:
там есть мелкие недочеты, позже напишу
Старый 07.01.2006, 14:39
NETRAT

offline
Опыт: 83,712
Активность:
A2M_Nomad э, нет, практика всегда рождает теорию, так что если алгоритмов не видно, не значит, что их нет. Близзы, вероятно использовали некоторые алгоритмы для баланса первого приближения ... Математиков не так уж мало? - где, что-то я упустил из виду. Упор, возможно, именно на "указать на некоторые явно имбовые места"
Старый 07.01.2006, 15:20
TiM
Старичок
offline
Опыт: 8,594
Активность:
Не думаю, что невозможно создать прогрмамку по настройке баланса. Просто нужно себе Очень хорошо представить все факторы и постараться засунуть их в одну прогу, именно это называется перегруз мозгов, достойный докторской степени © Tim.
А вы заметили, что в варкрафте не таких заклинаний, которые просто наносили демейдж и больше ничего? В доте такого полно, вот за это я не очень её люблю... Поэтому я предпочитаю вар3.
Кстати, заметили, что pips перешел с орков на хуманов, при этом не сказав ничего насчет баланса, объяснив это лишь личными намерениями... вот бы кто из госу перешел с хуманов на орков ;), посмеялись Бы!

TiM добавил:
Заметили, что я постоянно пишу слово заметили?
Старый 07.01.2006, 16:39
Mefist
Is it cocktail hour yet?
offline
Опыт: 98,190
Активность:
Цитата:
Расстояние между «местом стрелы» и точкой респавна с каждых сторон должно быть одинаковым.

Не согласен. Главное расчитать, чтобы встречались в одной точке. Пример тому боковые пути в доте и Tides of Blood

Цитата:
да, я забыл карту, с течением «из-угла-в-угол» нужно делать квадратной

Тоже не согласен :), этот вывод ошибочен из-за первого

А ты сам пробовал делать рельеф? поверь, пользоваться сеткой для расположения башен и прочего будет достаточно проблематично

Цитата:
За примером далеко ходить не надо: такой принцип использован в Доте. Противоборствующие стороны полностью идентичны, за исключением графического оформления

Если мне не изменяет память, до в Доте они чуть-чуть разные

Еще один момент на счет рельефа, нужно учесть, что если юнит стреляет в цель, которая находится выше его (это бывает только при использовании склонов ВЕ), от он имеет шанс промахнуться. Шанс настраивается в константах

Цитата:
Примечание: Выносливость башен можно увеличивать не только за счёт ХП показателя, но и брони. Большая броня позволит вам избавиться от громадных значений максимального здоровья. Формула брони такова:
DMG_REDUCTION = COEFF * ARMOR / (1 + COEFF * ARMOR)
COEFF по умолчанию равен 0.06 (в Игровых константах).

Также, помните про типы атаки\брони
Старый 07.01.2006, 17:49
Iron
Листовой
offline
Опыт: 24,427
Активность:
Извините за оффтоп, но я нашел одну имбонутую фичу в Доте.
В ней декорации разрушеных заклинаниями деревьев восстанавливаются каждые 5 мин. (не через 5 мин. после разрушения конкретного дерева, а в 5, 10, 15, 20,... минут игры). Я со своей коммандой (ну так из колледжа пацаны) выношу Рохана через 15 мин после начала игры. Как? А вот как, я беру рикимарика (сатир такой маленький) и вырубаю 1-ой магией лес возле Рохана, ровно в 14:45 я заманиваю в лес, где он меня замачивает, однако в 15:00 деревья появляются, и он заперт, все герои дальнего боя (обычно берем 3-х) его нарезают за минуты полторы. При этом Рохан только изредка может кидаться по ним камушками.
Старый 07.01.2006, 17:52
NETRAT

offline
Опыт: 83,712
Активность:
Mefist да, я думаю, Номад имел ввиду именно "путь" (длину пути), а не расстояние, впрочем, действительно следует исправить
Цитата:
Если мне не изменяет память, до в Доте они чуть-чуть разные
все-таки они абсолютно одинаковые

Формула про броню верная, советую напомнить про типы брони

Iron ты об этом баге лягуху напиши - он, как известно, много что через одно место сделал, ценное замечание
Старый 07.01.2006, 19:16
Nomad

offline
Опыт: 6,677
Активность:
Цитата:
Не согласен. Главное расчитать, чтобы встречались в одной точке. Пример тому боковые пути в доте и Tides of Blood

Эээ...не понял. А разве они не пересекутся когда-нибудь в какой-то общей точке? Т.е ты хочешь сказать не важно где, главное чтобы они пересеклись, так что ли? :? Наверное, мы друг-друга не поняли, по-крайней мере я тебя.
Цитата:
Номад имел ввиду именно "путь" (длину пути), а не расстояние

Расстояние и есть длина пути(траектории). А вот расстояние и перемещение - да, разные понятия.
Цитата:
Если мне не изменяет память, до в Доте они чуть-чуть разные

Видимо, ты давно в неё не играл, потому что они ПОЛНОСТЬЮ одинаковые.
Цитата:
Также, помните про типы атаки\брони

Ну да, они же в игровых константах легко изменяются.
Старый 07.01.2006, 21:25
Mefist
Is it cocktail hour yet?
offline
Опыт: 98,190
Активность:
Вот такой вариант я имел ввиду, говоря о длине пути и самой форме карты. Когда длины пути не равны и она не квадратная. Он тоже иеет место быть
А в доте раньше немного разные были ...
Старый 07.01.2006, 23:54
NETRAT

offline
Опыт: 83,712
Активность:
Расстояние - не есть длина пути! Расстояние - длина КРАТЧАЙШЕГО пути. Если вдуматься, разница существенная, это и имеет в виду Мефист
Старый 08.01.2006, 01:47
Nomad

offline
Опыт: 6,677
Активность:
Теперь понял о чём вы. Да, просто я видимо не так выразился. Расстояние от оси симметрии проходящей через точки стрелы и респауном равны.
Старый 08.01.2006, 16:18

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы можете скачивать файлы

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 12:11.