Распределение опыта
#10
Формула:

ПолучаемыйОпыт = ЕкспаМоба/КоэффициентПересчета

ЕкспаПерса / (ЕкспаМоба * КоэффициентМассива* ЧастныйКоэффициент * КоэффициентЛокации) = КоэффициентПересчета

Експа перса= Текущий опыт персонажа;

ЕкспаМоба = Опыт получаеый за убийство моба;

КоэффициентМассива = Коэффициент подбора массива опыта, т.е. сколько раз надо убить какого либо конкретного монстра, чтобы опыт получаемый за него стал неощутим. Пример - если убить зомбика за которого дают 5000 500 раз - то после этих 500 раз 5000 опыта даваемые за него станут неактуальными, и т.д. (Коэффициент подбираем опытным путем и может разница в завитсимости от типа/вида монстров)

ЧастныйКоэффициент = вводится для точной настройки (для разработчиков). Этот коэффициент представляет собой утилиту для уточнения. Выставляется разработчиками отдельно для каждого монстра. Чем Коэффициент выше 1 - тем "позже" герой начнет получать 100% опыта за монстра, чем ниже 1 (прим. 0,01, но не отрицательное значение) - тем меньше опыта надо иметь персу, чтобы получать 100%.

КоэффициентЛокации = тоже для разработчиков. В зависимости от сложности локации. Чем коэффициент выше - тем более опытным персом реально качаться в этой локации, чем он ниже - тем менее опытный перс сможет получать там опыт.

Приведу пример:
Опыт Качаемого перса = 1 000 000
Монстр - Зомбик = 5 000 опыта
КоэффициентМассива = 500
ЧастныйКоэффициент = (допустим зомбик признан разработчиком чууть выше среднего по сложности умертвщления, т.к. регененрирует бысто и т.д., а значит более опытный перс должен драться с ним) = 1,13
КоэффициентЛокации = (зомбики стоят кучно по 2-6 - убивать сложно, значит только опытный перс сможет качаться там) = 1,2

КоэффициентПересчета = 1000000 / (5000 * 500 * 1,13 * 1,2) = 1000000 / 3 390 000 = 0,2949852

Согласно коэффициенту получается, что для перса с 1 000 000 опыта Зомбик много сложноват, а значит, ежели он его убил - то он либо читер, либо его "протаскивают", значит он не достоин 100% опыта и за этого монстра получит:

ПолучаемыйОпыт = ОпытМонстра*КоэффициентПересчета

ПолучаемыйОпыт = 5 000 * 0,2949852 = 1474 опыта.

Т.е. вообще, даже если низкоуровневый перс сможет убить это моба - то, пока он не набьет себе 3 390 000 опыта за него будет давться меньше чем 100% експы... После 3 390 000 он будет получать все 100%, но тогда уже эти 5 000 будут не так уже и актуальны :-).

Пересчитаем по мною прделоженному принципу деления опыта в партии (высокоуровневый протаскивает низкоуровневого):

Низкоуровневый перс не мог убить моба, если его протаскивали. Значит по мною предложенному принципу он получит всего 30% опыта.

Считаем:
Получаемый опыт = (5 000 * 0,2949852) * 0,3 = 442 опыта :-)

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

Монстр - гоблин = 4 опыта
Все коэффициенты настройки = 1, коэффициент массива 500

КоэффициентПересчета = 1 000 000 / (4 * 500 * 1 *1) = 2 000
ПолучаемыйОпыт = 4 * 2 000 = 8 000

Но это легко профиксить введя процедуру проверки:
Если КоэффициентПересчета > 1 , тогда Коэффициент пересчета = 1 . Тогда при достижении определенного количества опыта за монстра будет даваться всегда 100% опыта, и не более.

Можно также ввести КоэффициентПартии. За счет которого поощрять партийное ведение игры, т.е. при партийной игре будет даваться больше опыта. Сделать его например таким: КоэффициентПартии = 1 + (0,04 * КоличествоЛюдей). При Мультиплее в 6 человек - КоэффициентПртии = 1 + (0,04 * 6)= 1 + 0,24) = 1,24. Затем делить на этот коэффициент коэффициент пересчета, етм самым увеличивая продолжительность давания опыта, либо (еще лучше) умножать получаемый персами опыт на этот коэффициент.


В целом пока все.
Вопросы?

[ 18 мая 2002: Изменил: Alexey. A. ]</p>


Сообщения в этой теме
Распределение опыта - от Alexey_v - 18.05.2002, 15:46

Перейти к форуму:


Пользователи, просматривающие эту тему: 2 Гость(ей)