Пятница, 21.07.2017, 21:35
Conquest: Frontier Wars
Главная | Эффективность юнитов - Форум | Мой профиль | Выход
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 212»
Модератор форума: AllGrey 
Форум » Conquest » Conquest 2 - Frontier Wars Forever ™ » Эффективность юнитов (Методика анализа баланса по R_3 (камень-ножницы-бумага))
Эффективность юнитов
AllGreyДата: Четверг, 14.03.2013, 21:39 | Сообщение # 1
Генералиссимус
Группа: Администраторы
Сообщений: 325
Репутация: 11
Статус: Offline
• Эффективность юнитов
Методика анализа баланса по R_3 (камень-ножницы-бумага)


 
R_3Дата: Четверг, 14.03.2013, 21:39 | Сообщение # 2
Контр-Адмирал
Группа: Друзья
Сообщений: 22
Репутация: 1
Статус: Offline
AllGrey, если хочешь, я мог бы поделиться своей методикой анализа баланса в стратегических играх. CFW - не единственная стратегия, в которой я достиг определенных высот. Хотя в последние годы я почти не играю в компьютерные игры, но раньше, когда я играл, я придумал метод, который позволяет анализировать баланс в играх, в которых используется схема "камень-ножницы-бумага". Такая схема используется в большинстве игр, и ее кажущееся преимущество в том, что она не позволяет привести показатели эффективности юнитов к одному параметру и выбрать, какие юниты лучше, а какие хуже. Отчасти это правда, но я придумал метод, как значительно упростить для себя понимание игры с любым количеством разных юнитов и выявить малейший дисбаланс, чтобы потом использовать его в свою пользу. Может быть, моя схема показалась бы тебе полезной для проверки баланса своего мода.
 
AllGreyДата: Четверг, 14.03.2013, 21:39 | Сообщение # 3
Генералиссимус
Группа: Администраторы
Сообщений: 325
Репутация: 11
Статус: Offline
Я только ЗА, твой опыт может оказать пользу не только мне.
С удовольствием ознакомлюсь с твоим методом, думаю будет что обсудить.


 
TechnoMageДата: Четверг, 14.03.2013, 21:39 | Сообщение # 4
Контр-Адмирал
Группа: Модераторы
Сообщений: 28
Репутация: 1
Статус: Offline
Было бы интересно почитать, опыта никогда не бывает много.
Возможно кое что возьму и для себя.
 
AllGreyДата: Четверг, 14.03.2013, 21:40 | Сообщение # 5
Генералиссимус
Группа: Администраторы
Сообщений: 325
Репутация: 11
Статус: Offline
R_3, так что по поводу схемы "камень-ножницы-бумага"? Теоретически я понимаю как это выглядит, но все же, хотелось бы понять каким образом ты применял это на практике, желательно чтоб на каком либо примере.

 
R_3Дата: Четверг, 14.03.2013, 21:40 | Сообщение # 6
Контр-Адмирал
Группа: Друзья
Сообщений: 22
Репутация: 1
Статус: Offline
Ох, я честно несколько раз пытался засесть за написание поста, но каждый раз выходит какой-то научный труд и я не знаю, как это доходчиво описать... Я завтра постараюсь написать как получится)

Добавлено (19.01.2013, 14:41)
---------------------------------------------
Потихоньку начну набирать свою теорию)

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

Итак, говоря о балансе юнитов, мы подразумеваем их эффективность друг против друга во время сражения. Разумеется, во время битвы, кроме непосредственно параметров урона и защищенности юнитов, значение имеют и многие другие обстоятельства: дальность стрельбы и скорость, их расстановка на карте и наличие различных препятствий, использование специальных способностей юнитов. В результате получается чрезвычайно большое количество возможных ситуаций, которые вместе составляют огромную многомерную матрицу, вдоль каждой из осей которой расположен весь спектр вариантов того или иного параметра. Полностью понять игру - это значит, смоделировать эту матрицу у себя в воображении и найти в ней узловые моменты, в которых те или иные юниты показывали бы себя наиболее универсально при любых прочих обстоятельствах. Увы, человеческого интеллекта, по крайней мере, моего, недостаточно, чтобы сделать это. Поэтому я предлагаю методику последовательных приближений, чтобы, постепенно добавляя рассмотрение разных параметров и выделяя выгодные и невыгодные нам, решить в итоге эту задачу. Сначала мы найдем способ численно оценить механическую эффективность юнитов друг против друга, а потом наложим тактические соображения.

Но сначала необходимо коснуться другого аспекта игры. CFW - не варгейм, в котором игроку на начало партии дается определенный набор юнитов и он должен победить противника, превзойдя его в тактике. Нет, CFW это классическая RTS, и это означает, что игрок может сам строить юнитов, расходуя на это ресурсы, которые сам же и добывает. Глобально, в каждый момент времени игрок решает, какую часть ресурсов ему потратить на усиление своей военной мощи, а какую - на развитие экономики, пожертвовав военной силой сейчас, но создав задел для еще большего усиления в будущем. Балансировка между этими двумя составляющими создает основу для стратегического планирования своего развития в течение партии и, собственно, наделяет игру стратегической составляющей. Нас же в контексте этого поста интересует то, что, в итоге, наши возможность построить армию в каждый момент времени ограничены теми ресурсами, которые мы можем на нее потратить. Таким образом, вопрос эффективности юнитов друг против друга следует рассматривать с точки зрения того, насколько ресурсы, облеченные в форму того или иного юнита, эффективны против ресурсов противника, которые он также облек в форму определенного юнита. Иными словам, очевидно, что Дредноут сильнее Корвета, однако мы должны смотреть на этот вопрос по-другому: если с одной стороны некоторое количество ресурсов потрачено на Дредноуты, а с другой - такое количество ресурсов потрачено на Корветы, то кто из них победит?

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

Следовательно, для оценки эффективности юнитов нам необходимо привести их к единому показателю стоимости. Однако, юниты различаются не только стоимостью в разных видах ресурсов, но и временем строительства, а также, в их стоимость заложены некоторые неочевидные параметры, как, например, стоимость и время строительства верфей, на которых они производятся. Как выйти из этой ситуации? Я предлагаю ввести понятие условного ресурса. В некоторых играх, где время строительства юнитов пропорционально их цене, введение условного ресурса, к которому приводятся все остальные ресурсы с учетом того, в какой пропорции они добываются, позволяет сразу снять эту проблему. В CFW дела обстоят несколько иначе, поэтому я предлагаю рассчитать эффективность юнитов несколько раз: один раз, принимая за условный ресурс время их строительства, другой раз - сумму их стоимости в руде и газе, поскольку они добываются в одинаковом темпе, и третий - в экипаже. На самом деле, экипаж можно объединить с рудой и газом, но для каждого мода коэффициент будет разным, исходя из того, с какой скоростью экипаж добывается в данном моде. Поскольку я не знаю данных для CFWF, то я оставляю этот вопрос на усмотрение AllGrey, сам же буду рассматривать ситуацию с тремя условными ресурсами, хотя, конечно, с двумя было бы удобнее. Забегая несколько вперед, отмечу, что если игра сбалансирована правильно, то окажется, что с одним условным ресурсом эффективны одни юниты, а с другим - другие. Это значит, что те юниты, которые, например, медленно строятся, зато дешевые, а другие можно построить быстро, но потратив много ресурсов. Это лишь одна из граней баланса и не отменяет того, что они должны различаться боевыми параметрами, но эта составляющая должна быть, чтобы не возникало универсальных юнитов. К этому вопросу я еще вернусь ниже.

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

Уффф, переходим сложной части)

Добавлено (19.01.2013, 15:16)
---------------------------------------------
Итак, вначале рассмотрим такую ситуацию. Пусть у нас два юнита, А и Б, которые сражаются друг с другом. Юнит А имеет щит, равный Ша, здоровье За, и наносит, с учетом своего бонуса против типа брони юнита Б, урон, равный Уа в секунду. Соответственно, для юнита Б это будет Шб, Зб и Уб. Пусть бой происходит в идеальных условиях, юниты одновременно начали стрелять друг по другу и не использую специальное оружие.

Для юнита А его сила против юнита Б может быть рассчитана по формуле: корень квадратный(Уа*(За/(1-Ша))). Для юнита Б сила против юнита А: корень(Уб*(Зб/(1-Шб))).

Понятие силы, которое получается по этой формуле, обратно пропорционально количеству юнитов, которое должно быть с каждой стороны, чтобы бой шел на равных. Сейчас я пояcню, что я имею ввиду.

Пусть у нас теперь происходит не сражение юнитов один на один, а сражение двух флотов. первый флот состоит из юнитов А, второй из юнитов Б. При условии, что обоими флотами управляют одинаково хорошие игроки, и оба вручную задают цели (как это и происходит в мультиплеере), чтобы поочереди убивать вражеские корабли, сила каждого из этих флотов будет равна силе юнита, умноженной на их количество. (Это важно! В противном случае, если флоты неуправляемы и хаотически палят куда попало, формула должна быть другой).

Иными словами, если по формуле выше сила юнита А против юнита Б равна 5, а сила юнита Б против юнита А равна 2, то, чтобы два флота были равны, во втором должно быть в два с половиной раза больше кораблей. Тогда бой будет происходить на равных. Например, 10 против 25. В случае, если в первом флоте будет меньше кораблей - он проиграет, в противном случае - выиграет.

Теперь объединим это с введенным выше понятием условной стоимости юнитов. Мы можем взять любую пару юнитов А и Б и, с учетом их условной стоимости, смоделировать битву двух флотов равной условной стоимости, состоящих из этих юнитов. Внимательный читатель при этих словах наверняка подумал, что вышеприведенные соображения не подходят для оценки эффективности авицаносцев, тиаматов и протчих кораблей, атакующих при помощи запускаемых более маленьких корабликов, поскольку для них тяжело оценить урон в секунду. Это не совсем так, и к этому вопросу я вернусь немного ниже.

Итак, пусть у нас сражается два флота, один состоит из юнитов А, другой из юнитов Б. Пусть юнит А имеет условную стоимость Са, а юнитв Б - Сб. Пусть у нас два флота равны по силе. Как определить, сколько условного ресурса должно быть потрачено на флот А, и сколько - на флот Б? очень просто. Введем параметр Каб, равный стоимости ФЛОТА Б, деленной на стоимость флота А. Поскольку по условиям задачи флоты сражаются на равных, этот параметр означает, во сколько раз больше или меньше надо потратить ресурсов, чтобы, строя юниты А, на равных противостоять юнитам Б. По сути, это и есть эффективность юнита А против юнита Б. Если он больше 1, то юнит А эффективнее юнита Б, потому что на юниты Б пришлось потратить во столько раз больше ресурсов. Если меньше 1, то наоборот.

Итак, формула будет: Каб = (Сб*корень(Уа*(За/(1-Ша))))/(Са*корень(Уб*(Зб/(1-Шб))).

Если я нигде не запутался smile

Далее, мы можем нарисовать табличку, в столбиках и строчках которой будут перечислены все юниты, а в ячейках прописана эффективноть юнита из строчки против юнита из столбца. Это самый первый, грубый и не учитывающий многих аспектов взгляд на игровой баланс. Однако он уже важен для оценки общих контуров баланса в игре. Если баланс хороший, то не будет строчек с преобладающими числами больше 1, как и не будет строчек с неэффективными юнитами. Числа будут распределены по таблице вразнобой, но не совсем вразнобой, а концентрируясь пятнами, следуя логике того, какие юниты эффективны против каких. При этом, с разными условными ресурсами какртина будет немного меняться. Если же у нас некоторые юниты уже на этом этапе выделяются, то баланс ясно нуждается в корректировке.

Для наглядности и удобства такую табличку хорошо рисовать с помощью какой-нибудь программы, чтобы она автоматически заполнила ее и расскрасила ячейки в зависимости от значений в них, например: меньше 0.8 - красный, от 0.8 до 1.2 желтый, больше 1.2 зеленый. Тогда мы сразу увидим наглядно грубый "скелет" баланса.

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

Повторюсь, это лишь первый этап, который не учитывает многих тактических моментов. Но это само по себе очень важно, потому что:

Игроку позволяет ОДНОЗНАЧНО понять, какие юниты строить против каких

Разработчику позволяет грубо, но численно, а не из общих соображений, оценить общие очертания баланса.

Продолжение следует, будем говорить о составных флотах, дальности стрельбы и тактике.

Добавлено (19.01.2013, 15:28)
---------------------------------------------
Да, я совсем забыл написать, что там, где урон, надо учесть и маневренность.

 
SaniokДата: Четверг, 14.03.2013, 21:40 | Сообщение # 7
Пилот
Группа: Пользователи
Сообщений: 1
Репутация: 0
Статус: Offline
В основном мысля мне нравится, для начинающих это хорошая идея. Если сравнить мод с оригиналкой то в моде создается впечатление что играю в CFW в первые.
 
TechnoMageДата: Четверг, 14.03.2013, 21:40 | Сообщение # 8
Контр-Адмирал
Группа: Модераторы
Сообщений: 28
Репутация: 1
Статус: Offline
Емм.. да, нужно время чтоб это все переварить.
 
AllGreyДата: Четверг, 14.03.2013, 21:40 | Сообщение # 9
Генералиссимус
Группа: Администраторы
Сообщений: 325
Репутация: 11
Статус: Offline
R_3, вчера вечером прочитал твой научный труд и вся моя ночь пошла "коту под хвост" (не мог уснуть) хмм... или это кружка кофе так повлияла.... нет все таки я спишу эту ночь на тебя  biggrin .
Ну а если серьёзно то большой тебе респект, жду с нетерпением продолжения. rolleyes
Не хочу прерывать творческий процесс, дабы не спугнуть Музу, но ты не пояснил как получить условную стоимость (Са или Сб), насколько я понимаю условная стоимость должна быть выражена в коэффициенте, тогда как просчитать Са и Сб, а если это уже обобщённая условная стоимость Са или Сб = (Св это время постройки) + (Срг это руда+газ) + (Сэ это экипаж)/3, тогда ка вычислить Св, Срг Сэ, формулы ты не написал. Теоретически ты все расписал и я суть понял, но как ты видишь все это сквозь призму формул, так сказать на практике. Возможно я бегу впереди паровоза и ты планируешь позже просветить этот аспект, тогда просто игнорируй этот абзац.

Комментировать и задавать вопросы пока не буду, чтоб как говорится не прерывать собеседника на полуслове. Думаю будет лучше если ты все допишешь до конца, а потом мы немного, некоторые нюансы уточним, а некоторые обсудим.


 
R_3Дата: Четверг, 14.03.2013, 21:40 | Сообщение # 10
Контр-Адмирал
Группа: Друзья
Сообщений: 22
Репутация: 1
Статус: Offline
Я не думаю, что в ближайшие дни напишу продолжение, потому что там совсем сложно... Математическую часть я почти завершил, дальше умозрительные заключения, а их сложно описывать. Поэтому, все вопросы лучше обсудить сейчас.

Насчет условной стоимости - я не вижу возможности свести воедино (руду + газ), экипаж и время строительства, более того, я считаю такую задачу ненужной, потому что в игре реально ограничителем в каждый момент времени выступает один фактор, как бы сбалансированно ты не развивался. И в большинстве случаев это не время строительства, поскольку верфей всегда можно построить достаточно, были бы ресурсы. И уж точно не командные очки, потому что в сетевой игре не следует упираться в их предел, потому что тогда получается, что ты прекратил строить армию, а противник продолжает. Поэтому я предлагаю делать несколько разных табличек, для разных условных ресурсов. На первый взгляд может показаться, что при этом теряется универсальность метода, но нет. Эти таблички лишь инструмент, с помощью которого мы щупаем баланс игры с разных сторон, и нужно к их анализу подходить с умом. В большинстве случаев, на табличку, где в качестве условного ресурса взято время строительства, можно вообще не смотреть, потому что в CFW баланс таков, что этот параметр не имеет большого значения, увы. Сравнивая (газ+руда) и экипаж, надо помнить, что экипаж важен только для тех кораблей, которые стоят много экипажа. Вообще же, свести экипаж и газ с рудой к одному ресурсу можно, но коэффициент будет зависеть от того, в какой пропорции эти ресурсы в твоем моде добываются и вообще присутствуют на карте. но можно и не сводить к одному. Опять же, повторюсь, что если баланс идеален, то с одним условным ресурсом одни корабли будут рулить, а с другим-другие. Поэтому, даже хорошо несколько табличек иметь, чтобы сравнивать между собой. ну а так вообще, повторюсь, эти таблички - лишь инструмент, дающий срезы баланса, а к их данным надо подходить с умом и понимать, что вот когда строишь тиаматы, тут конечно экипаж важен, а когда корабли, которые стоят по 20 экипажа - то не важен...
 
Форум » Conquest » Conquest 2 - Frontier Wars Forever ™ » Эффективность юнитов (Методика анализа баланса по R_3 (камень-ножницы-бумага))
Страница 1 из 212»
Поиск:

2017 © «AllGrey Modding» Corporation