Восемь лет спустя
kv75
дневник заведен 05-10-2003
постоянные читатели [82]
закладки:
цитатник:
дневник:
местожительство:
Москва, Россия
интересы [13]
шахматы, грибы, Пратчетт, Иваси, Morrowind, Guild Wars
[1] 08-05-2008 07:37
Альпы

[Print]
Элизабет
10-02-2006 08:36 GW и арифметика
Немного предыстории.

В GW, как и в большинстве других ролевых игр, есть такое понятие, как опыт (Experience points). Опыт даётся за выполнение миссий и квестов, а также за убийство монстров. А ещё в GW есть уровень (Level). От уровня персонажа зависит его здоровье и наносимый урон. После накопления определённого количества опыта персонаж получает следующий уровень, а вместе с уровнем ещё и attribute points (речь сейчас не о них) и скилл-пойнты (SP). Но фокус в том, что максимальный уровень, который может получить персонаж – 20. 20 уровень набирается примерно к середине сюжетной линии, и дальше по мере набора опыта уровень не растёт, а даются только скилл-пойнты.

Скилл-пойнты нужны для покупки заклинаний у торговцев. На каждое купленное заклинание тратится скилл-пойнт и определённое количество денег (чем дальше, тем больше). При этом из 156 заклинаний, доступных элементалисту-монаху, только 80 даются бесплатно (за квесты). Остальные 76 нужно либо покупать, либо вытягивать из боссов. Учитывая, что 2 Signet of Capture даются бесплатно, получаем, что для сбора всех доступных заклинаний элементалист-монах должен набрать за свою жизнь 74 скилл-пойнта.

Скилл-пойнты даются как за уровни (и "виртуальные уровни" в дальнейшем), так и за миссии и некоторые квесты. И вот решил я понять, сколько же скилл-пойнтов к данному моменту я получил именно за опыт (пересчитывать миссии и вспоминать квесты, за которые я мог получить скилл-пойнты, мне не хотелось).

Итак, я имел 47 скилл-пойнтов и 263856 опыта. Следующий скилл-пойнт, как мне любезно подсказал интерфейс, будет получен при достижении 272600 опыта.

На одном из сайтов я нашёл сведения, из которых вывел простую формулу арифметической прогрессии: между уровнями (L-1) и L нужно набрать D(L)=800+600*L опыта (L>=2, так как первый уровень персонаж имеет сразу). Просуммировав, нетрудно получить, что общий опыт, необходимый для достижения уровня L, составляет S(L)=100*(3*L+14)*(L-1). Проверив на своих дополнительных низкоуровневых персонажах, я убедился, что формула вроде верна.

И тут меня ждало разочарование. При попытке приравнять S(L)=272600 я обнаружил, что целочисленного решения нет. То есть для моих "виртуальных уровней" эта формула уже не работает!

Первой гипотезой была следующая: раз уровень после 20-го не меняется, возможно, что его дают за фиксированную разницу опыта. То есть логично было предположить, что S(20)=140600, а дальше D(L)=D(21)=13400. Но и эта гипотеза оказалась неверной.

На другом сайте я нашёл сведения, что после 20-го уровня даётся 1 скилл-пойнт на каждые 15000 опыта. Подставил в первую гипотезу вместо 13400 15000, но тоже не получил ничего разумного.

И только тут я догадался! Третья моя гипотеза заключалась в том, что D(L) растёт, пока не превосходит 15000, а потом обрезается на этой отметке. То есть D(23)=14600, а D(24)=D(25)=15000. Проверяем... S(23)=182600.
(272600-182600)/15000=6. Работает! Таким образом, мой "виртуальный уровень" на данный момент составляет L=23+6-1=28, а за опыт я получил 28-1=27 скилл-пойнтов. Остальные 47-27=20 скилл-пойнтов – за квесты и миссии.

Ваш комментарий:
Камрад:
Гость []
Комментарий:
[смайлики сайта]
Дополнительно:
Автоматическое распознавание URL
Не преобразовывать смайлики
Cкрыть комментарий
Закрыть