Shadow-Worlds Classic

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> Калькулятор скилов для смены профы, Описание, алгоритм работы, обсуждение... трактат о скилах
antok
сообщение 27.7.2012, 14:02
Сообщение #1


Администратор
**************

Группа: Главные администраторы
Сообщений: 4912
Регистрация: 24.2.2008
Из: Moscow
Пользователь №: 1



http://www.shadow-worlds.org/pages/ru/skillcalc.jsp

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

Если кто-то считает, что алгоритм неправильный, может с подробным обоснованием написать это тут и обсудить с администрацией/остальными игроками. Однако если какие-либо изменения в калькулятор будут вноситься, то те, кто уже произвел над своим чаром изменения по старой версии, подвергнутся изменению с новыми коэффициентами только в случае своего согласия на это.
Так что не игнорируем тему, а стараемся все вместе сделать нашу игру лучше wink.gif

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

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

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

Замечу, что цитата разговора между мною и Санрайзом от Море, вызвавшая такое количество возмущений, где указано, что скилл Атома должен был быть от 56 до 111, ошибочна. Там я неправильно подсчитал низшую границу скила, она должна была быть не 56, а около 90. Так что вариант Санрайза был довольно близок к истине для именно того скила. Конечно, если взять скил не 142, а другой, то для него расчет был бы другим результаты двух разных методов расчета так близко не совпали.
И вот этот диапазон - это как раз и есть значение скила до применения коэффициента сложности, подробнее будет расписано в примере ниже. Раз уж у нас есть так сильно интересующий всех чар, на котором и можно привести реальный пример из жизни =)

Коэффициенты сложности.
1. Воин - маг. Оружие - магия.
- Так как воин бьет в два раза быстрее мага, то сразу берется коэффициент 2.
- Прокачка меча, копья, топора, кинжала, лука идет с разной скоростью по мобам и игрокам. Если качать на мобе, то за каждый удар добавляют 2 очка, а не 1. То есть на мобе можно качнуть скил в два раза быстрее. Однако если скилл 111 прокачан на мобах, это не значит, что если бы его качали только на игроках, она был бы равен 55.5. В два раза то не сам скилл уменьшается, а увеливается количество ударов. Поэтому скилл 111, прокачанный чисто на мобах, будет равен 89, прокачанному только на людях.
Сколько же на самом деле было ударов по мобам, а сколько по игрокам, мы сказать не можем. Поэтому придется взять какой-то примерный коэффициент. Предположим, что 2/3 своего скила обычный воин качает на мобах и только 1/3 приходится на игроков. Значит "засчитываем" воину только 2/3 его ударов (1/3 за игроков и половину от 2/3 на мобах). Количество ударов у нас делится на коэффициент сложности, и чтобы вышло 2/3, надо поделить 3/2.
Суммарный коэффициент получаем 2 * 3/2 = 3.
- Далее надо подумать и о том, что меч в общем-то качается проще магии. На меч же не тратится магия, а значит ты не ограничен в его прокачке своим регеном. В принципе топ маги тоже не сильно ограничены регеном... Есть перки, дающие ману, реген. Тату. Значит коэффициент должен быть не супер большой. Думаю, что делить в полтора раза количество ударов будет вполне адекватно.
Итого, суммарный коэффиент = 2 * 3/2 * 1.5 = 4.5

2. Воин - Лучник. Оружие - лук.
- Так же, как и маг, лучник стреляет в два раза медленнее воина, а значит опять надо делить на 2.
- Прокачка по мобам и игрокам лука аналогична воину, так что тут все нормально.
- А вот сама по себе прокачка лука все же по сложнее прокачки оружия. Стрелы кончаются, урон от уровня... Ставим и тут 1.5
Итого, суммарный коэффицент = 2*1.5 = 3

3. Лучник - Маг. Лук - магия.
Тут я решил пойти простым путем... Высчитывать плюсы и минусы лучника относительно мага крайне сложно. Они совсем разные. Но тем не менее должен быть баланс при пересчете разных классов. А значит можно вывести коэффициент из двух уже расписанных соотношений.
лучник -> маг = (лучник -> воин) -> маг. (лучник -> воин) - это 1/3 - обратное к воин->лучник. А воин->лучник равен 4.5, значит:
(лучник -> воин) -> маг = 1/3 * 4.5 = 1.5

Итоговая табличка коэффициентов сложности оружия-магии-лука:
double RCCOEF[][] = //коэффициент сложности перевода с одной профы в другую
{ //воин маг лучник
{ 1, 4.5, 3 }, //воин
{ 1/4.5, 1, 1/1.5 }, //маг
{ 1/3.0, 1.5, 1 }, //лучник

4. Щит между разными профами
Кто-то говорил, что магу щит качать гораздо сложнее воина. А может быть просто надо правильно настроить макрос? Я не про скорость прокачки, понятно, что ударов надо больше гораздо, но сам факт прокачки не сложнее.
Давайте на конкретном примере чара 45го уровня:
на 45левле примерно 50маны - рег 50 (примерно, для удобства подсчета), это 2.5 фиолы. Есть чар, вкачавший 98 лечи (топ). это фиола +57хп.
Значит 57хп*2.5= 132хп за рег. Какой воин на 45 уровне может отрегить столько хп? Итого выходит, что реген хп у мага даже больше, чем у воина. Конечно магу надо внимательнее следить за процессом прокачки, либо более точно настраивать макрос. Ну не тянет это никак на усложнее. Коэффициента нет, 1к1 можно удары переливать.
А вот у Лучника реальные проблемы... Он качает ловку и удачу, нет у него ни регена маны, ни хп... К сожалению я с трудом могу представить как именно Лучник качает себе щит, наверно есть какие-то схемы. Может кто посоветует, либо как-то обоснует и изменим коэффициент. Пока ставим просто "от балды" жесткий вариант, коэффициент = 3. Обратный коэффициент не буду пока ставить 1/3, чтобы вдруг не появился какой-то необоснованный плюс при перестате лучника в другие классы. Пусть будет 1/2.

Итого, табличка пересчета для щита:

double SHCOEF[][] = //коэффициент для скила щита
{ //воин маг лучник
{ 1, 1, 3 }, //воин
{ 1, 1, 3 }, //маг
{ 0.5, 0.5, 1 }, //лучник

4. Резист и лечение.
По коэффициентам сервера практически равны для всех классов.
Лечение немного быстрее качается у магов за счет маны. Но сам по себе скил легок для прокачки.
Резист... да вообще пофиг кому качать, если не считать варианта с прокачкой его воинами на шаманах. Но тоже не кажется мне сильно критичным.
В общем не стал с этими скилами делать пересчет. Мне кажется их можно не менять при смене профы и это не внесет никакого адского дисбаланса.

=========================================================
=========================================================
=========================================================

Теперь обещанный пример пересчета меча в магию у Атома.


Требуется выяснить чему равно 142 меча в пересчете на магию...
142 меча = 526026,5347 удара
526026,5347 делим на рассчитанный коэффициент сложности 4.5 , получаем 116894,7855
Подбираем подходящий для магии...
86 111133,0693
87 115225,5446
88 119417,2277
Как видим, это скилл 87. Атому было выставлено 86. Можете проверить на калькуляторе...

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



№ - ударов до следующего - сколько всего ударов надо, чтобы с 10 до текущего поднять.


10 29,10891089 29,10891089
11 38,01980198 67,12871287
12 48,11881188 115,2475248
13 59,40594059 174,6534653
14 71,88118812 246,5346535
15 85,54455446 332,0792079
16 100,3960396 432,4752475
17 116,4356436 548,9108911
18 133,6633663 682,5742574
19 152,0792079 834,6534653
20 171,6831683 1006,336634
21 192,4752475 1198,811881
22 214,4554455 1413,267327
23 237,6237624 1650,891089
24 261,980198 1912,871287
25 287,5247525 2200,39604
26 314,2574257 2514,653465
27 342,1782178 2856,831683
28 371,2871287 3228,118812
29 401,5841584 3629,70297
30 433,0693069 4062,772277
31 465,7425743 4528,514851
32 499,6039604 5028,118812
33 534,6534653 5562,772277
34 570,8910891 6133,663366
35 608,3168317 6741,980198
36 646,9306931 7388,910891
37 686,7326733 8075,643564
38 727,7227723 8803,366337
39 769,9009901 9573,267327
40 813,2673267 10386,53465
41 857,8217822 11244,35644
42 903,5643564 12147,92079
43 950,4950495 13098,41584
44 998,6138614 14097,0297
45 1047,920792 15144,9505
46 1098,415842 16243,36634
47 1150,09901 17393,46535
48 1202,970297 18596,43564
49 1257,029703 19853,46535
50 1312,277228 21165,74257
51 1368,712871 22534,45545
52 1426,336634 23960,79208
53 1485,148515 25445,94059
54 1545,148515 26991,08911
55 1606,336634 28597,42574
56 1668,712871 30266,13861
57 1732,277228 31998,41584
58 1797,029703 33795,44554
59 1862,970297 35658,41584
60 1930,09901 37588,51485
61 1998,415842 39586,93069
62 2067,920792 41654,85149
63 2138,613861 43793,46535
64 2210,49505 46003,9604
65 2283,564356 48287,52475
66 2357,821782 50645,34653
67 2433,267327 53078,61386
68 2509,90099 55588,51485
69 2587,722772 58176,23762
70 2666,732673 60842,9703
71 2746,930693 63589,90099
72 2828,316832 66418,21782
73 2910,891089 69329,10891
74 2994,653465 72323,76238
75 3079,60396 75403,36634
76 3165,742574 78569,10891
77 3253,069307 81822,17822
78 3341,584158 85163,76238
79 3431,287129 88595,0495
80 3522,178218 92117,22772
81 3614,257426 95731,48515
82 3707,524752 99439,0099
83 3801,980198 103240,9901
84 3897,623762 107138,6139
85 3994,455446 111133,0693
86 4092,475248 115225,5446
87 4191,683168 119417,2277
88 4292,079208 123709,3069
89 4393,663366 128102,9703
90 4496,435644 132599,4059
91 4600,39604 137199,802
92 4705,544554 141905,3465
93 4811,881188 146717,2277
94 4919,405941 151636,6337
95 5028,118812 156664,7525
96 5138,019802 161802,7723
97 5249,108911 167051,8812
98 5361,386139 172413,2673
99 5474,851485 177888,1188
100 5589,50495 183477,6238
101 5705,346535 189182,9703
102 5822,376238 195005,3465
103 5940,594059 200945,9406
104 6060 207005,9406
105 6180,594059 213186,5347
106 6302,376238 219488,9109
107 6425,346535 225914,2574
108 6549,50495 232463,7624
109 6674,851485 239138,6139
110 6801,386139 245940
111 6929,108911 252869,1089
112 7058,019802 259927,1287
113 7188,118812 267115,2475
114 7319,405941 274434,6535
115 7451,881188 281886,5347
116 7585,544554 289472,0792
117 7720,39604 297192,4752
118 7856,435644 305048,9109
119 7993,663366 313042,5743
120 8132,079208 321174,6535
121 8271,683168 329446,3366
122 8412,475248 337858,8119
123 8554,455446 346413,2673
124 8697,623762 355110,8911
125 8841,980198 363952,8713
126 8987,524752 372940,396
127 9134,257426 382074,6535
128 9282,178218 391356,8317
129 9431,287129 400788,1188
130 9581,584158 410369,703
131 9733,069307 420102,7723
132 9885,742574 429988,5149
133 10039,60396 440028,1188
134 10194,65347 450222,7723
135 10350,89109 460573,6634
136 10508,31683 471081,9802
137 10666,93069 481748,9109
138 10826,73267 492575,6436
139 10987,72277 503563,3663
140 11149,90099 514713,2673
141 11313,26733 526026,5347

526026,5347
после деления на 4.5
116894,7855




==============================================
==============================================
=============== ИТОГИ и ВЫВОДЫ ================
==============================================
==============================================

Собственно почему было столько недовольных. Потому что скилл 142 Атома не мог равняться 86.
Так подумали те, кто видят сложность прокачки скила магом и легкость прокачки воином. Но кто из тех, кто так думает, реально сам качал такие скилы? Посмотрите на таблицу выше... Возможно коэффициент 4.5 и не идеально корректен, но близок. И идеальный скил так или иначе все-равно попадет куда-то в диапазон 70-90. Просто из расчетов. А эмоции при расчетах лучше оставить в стороне =)

Еще один пример, когда эмоции и кажущаяся сложность не дадут правильно воспринять пересчет. Щит. Тут вообще пример отличный.
Берем щит 115. Как вы думаете, в какой скил у мага он превратится?
А ведь магу не так уж сложно щит качать, это выше описано. Просто долго, коэффициент то на сервере 0.1, вместо 1.5 у воина. Вот и ленятся щит магу качать. А кто не ленится, тот в ужасе и считает, что нереально...
... нереально, что 115 щита воина-эльфа равны 44 (без малого) щиту мага - эльфа...
А вот и реально.
115 (эльф-воин) = 565765,7143 удара
44 (эльф-маг) = 566974,2857

Не верится, да? А вы попробуйте... Другой вопрос, что чем выше, тем сложнее. 44-50 еще куда не шло, а знаете сколько надо ударов, чтобы накачать те самые 115, но магу? 11879100
То есть магу надо 118кк, а воину 565к !!!!
Вот в чем разница, чем дальше, чем сложнее и нереальнее! А 44то можно качнуть и будет вроде как чуть больше, чем в 2 раза ниже, чем 115 =)
=====================

От чего еще вся эта неправдоподобность? Вы формулу скила видели?
#define SkillCalc(curskill_p,SKILL_COEF) ((0.3*(curskill_p-4))*(6*(curskill_p-4)))/SKILL_COEF
Это напрямую с сервера. Формула, используемая для расчета всех скилов в св. Как на Эпохе, так и в Классике.
curskill_p - это текущий скил.
SKILL_COEF выводится из коэффициентов проф и рас.
Формула показывает необходимое количество ударов для перехода с предыдущего на текущий скил.
Обратите внимание, если избавиться от всяких цифирек и присмотреться, то видно, что количество ударов растет в квадрате -
curskill_p Х curskill_p . Квадратичная формула. Не все еще забыли, как выглядит график функции х^2 ? Чем выше скилл, тем очень-очень-очень сильнее растет требование к количеству ударов. И скилл 50 от скила 25 совершенно не на том же расстоянии, что 100 от 50. Поэтому маг до 44 может докачать щит, а вот до 100 уже никак. Несколько лет разве что...


--------------------
Личные сообщения на форуме отключены. Обращайтесь на antok_bin@mail.ru
Перейти в начало страницы
 
+Цитировать сообщение
Bok
сообщение 27.7.2012, 14:37
Сообщение #2


Тургаз
*******

Группа: Продвинутые пользователи
Сообщений: 214
Регистрация: 29.10.2009
Пользователь №: 1309



Тоха сколько ты старался ,я уверен весь этот текст прочтет и поймет 1-2 человека, все остальные будут грузить даже не прочитав.
Перейти в начало страницы
 
+Цитировать сообщение
АТОМ
сообщение 27.7.2012, 15:56
Сообщение #3


Тургаз
*******

Группа: Продвинутые пользователи
Сообщений: 232
Регистрация: 10.6.2012
Пользователь №: 2197



Цитата(Bok @ 27.7.2012, 15:37) *
Тоха сколько ты старался ,я уверен весь этот текст прочтет и поймет 1-2 человека, все остальные будут грузить даже не прочитав.



+


--------------------
ник в игре - Ахмад ибн Нургали Задрака Мухамед Улькуйда Акбара Халаха Захара Ахмед ибн ЖКХ Альфразени
Перейти в начало страницы
 
+Цитировать сообщение
antok
сообщение 27.7.2012, 17:37
Сообщение #4


Администратор
**************

Группа: Главные администраторы
Сообщений: 4912
Регистрация: 24.2.2008
Из: Moscow
Пользователь №: 1



Цитата(Bok @ 27.7.2012, 15:37) *
Тоха сколько ты старался ,я уверен весь этот текст прочтет и поймет 1-2 человека, все остальные будут грузить даже не прочитав.

Это все было написано в том числе не только с целью разъяснений (хотя это тоже немаловажно в свете последних воплей), но и с целью возможного уточнения каких-либо коэффициентов. Если только 1-2 человек заинтересует эта проблема, значит остальные добровольно, не читая, подписываются под тем, что на самом деле их все устраивает и возражений они никаких не имеют, а следовательно все их претензии в дальнейшем ничем не обоснованы wink.gif

И не надо писать, как некоторые любят, что это наша работа - считать баланс, а их это не волнует. Если так, то мы с ней не просто справились, а даже обосновали почему так. И не на словах "ну не может скил 144 равняться даже 70", а на цифрах, взятых с конкретных формул и механики игры. Всякие "кажется" и "я думаю" не считаются доказательством того, что расчет неправилен и явно уступают проделанной выше работе.


--------------------
Личные сообщения на форуме отключены. Обращайтесь на antok_bin@mail.ru
Перейти в начало страницы
 
+Цитировать сообщение
Amfi
сообщение 27.7.2012, 18:02
Сообщение #5


Паладин
**********

Группа: Пользователи
Сообщений: 533
Регистрация: 18.6.2008
Из: Мамы
Пользователь №: 160



Огромный респект Антоку,за проделанную работу в подсчетах...
Перейти в начало страницы
 
+Цитировать сообщение
antok
сообщение 27.7.2012, 20:52
Сообщение #6


Администратор
**************

Группа: Главные администраторы
Сообщений: 4912
Регистрация: 24.2.2008
Из: Moscow
Пользователь №: 1



Появилось предположение, что резист все-таки надо пересчитывать...
Как минимум из-за того, что у лучника нет регена маны и хп, то есть так или иначе резист ему качать сложнее. Либо просто сложнее и дольше, либо дороже - чаще лечиться у лекаря.

Может кто-нибудь просветить на эту тему?
А так же насколько критично, что воин, в отличии от всех остальных, может позволить качать себе рез на мобах?


--------------------
Личные сообщения на форуме отключены. Обращайтесь на antok_bin@mail.ru
Перейти в начало страницы
 
+Цитировать сообщение
Bok
сообщение 28.7.2012, 11:42
Сообщение #7


Тургаз
*******

Группа: Продвинутые пользователи
Сообщений: 214
Регистрация: 29.10.2009
Пользователь №: 1309



как я думаю упростить лучнику в прокачке резиста на + 0,3
но это так догадки
Перейти в начало страницы
 
+Цитировать сообщение

Ответить в данную темуНачать новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

Текстовая версия Сейчас: 20.5.2024, 15:09