Как да балансирате картата си - Създаване на карти - Статии - Dota Gamers - Pro, Warcraft3, Dota, Статии,
2. Магически числа Намерих фактори за два аспекта на един воин. Ще ги нарека "Магически числа". Те са дадени по-долу:
Стойност на едно HP: 5.3544563483342 Стойност на едно ефективно HP: 0.18159375101708
Тези числа са идеалните стойности за една щета в секунда (Pvs) и една ефективна здравна точка, базирани точно на бенчмарка на Blizzard. Те могат да се използват, за да се намери колко злато е необходимо за един воин (не за сграда) в карта за развитие. Разбира се, има подобни и за други аспекти, но тези два са най-важните.
- Изчислете PVS за пехотинец. Ето формулата за изчисляване на количеството PVA на всеки воин: (2*Основни щети+Брой кости+Брой костни фасети)/(Време за презареждане*2)
За пехотинец: (2*11+1+2)/(2*1,35) = 25/(2*1,35) = 9,26
- Изчислете броя на ефективните животи, които един воин има. Ето формулата за изчисляване на ефективните точки за живот на всеки воин: точки за попадение*(защита*0,06+1) Забележка: Стойността на "0,06" е "Повишаване на бронята".
Пехота: 420*(2*0,06+1) = 420*1,12 = 470,4
Вярвате ми или не, следващата част е най-трудната. Стойността на PVA за всяка единица е: PVA*Магическо число на PVA (дадох го в точка 2.)
Пехотинец: 9,26*5,35 = 49,58 (златна стойност за нанесени щети на пехотата)
Стойността на ефективния живот за всяка единица е: Брой животи*Магически брой животи (друго число в точка 2.)
За пехотинец: 470,4*0,18 = 85,42 (златна стойност за точките на живот на пехотата)
И така, цената на един пехотинец ще бъде равна на 85,42 + 49,58 = 135,00 единици. злато. След като използвахме магияномер на Blizzard, трябва да видим дали пехотинецът има същата цена в играта. Обещавам, че ще дам бисквитка на всеки, който ми покаже скрийншот без фотошоп, който казва, че цената по подразбиране на мрънкане не е 135 (давайте, повярвайте в RO).
Щети - Основни щети, брой кости, брой ръбове на кост. (Други фактори като способности или предмети могат лесно да бъдат включени тук)
Ефективни животи - Максимален брой животи (база), основна защита. (Отново тази стойност може да бъде повлияна от способности или елементи)
Числата не включват: Радиус (на атаки, визия) Способности (които са по-сложни от просто промяна на PVA или животи) Скорост на движение (различна от 270 или каквато и да е скорост, която сте използвали при изчислението) Тип движение (висене, земя, летене, амфибия и т.н.) Надстройки (те са балансирани помежду си)
За тези стойности можете сами да определите цената. Те обикновено имат специален коефициент, който трябва да умножите по базовата стойност, която сте намерили за воина (както го намерихме за пехотинеца) или, в някои случаи, просто умножете базовата стойност по стойността на DPS или ефективните животи (вижте точка 8 за примери). Ще говоря и за феномена дърво. Изглежда, че дървото е същото като златото, но в играта е само за промяна. Например, ако единица на карта струва 500 единици. злато, тогава можете да разделите цената му на 300 злато и 200 дърво или каквато комбинация искате, ще бъде същата.
5. Как да намерите магически числа За да разберете какво ще бъде написано тук, трябва да имате поне основни познания по математика (все пак повече е по-добре). И така, както видяхте, двата „Magicчисла" са константи (постоянни стойности). За да ги намерите, трябва да се поставите в моята позиция, преди аз да ги открия. Така че нека им дадем имена в зависимост от техните стойности:
D е стойността на един PVA. H - стойността на един ефективен живот.
Нашата задача е да намерим тези константи по известни стойности. За да направите това, трябва да направите 2 заключения: - Известно е, че тези числа са константи. Единственото изключение е f(x) = kx, където f(x) е количеството злато, необходимо за закупуване на един воин, k е константа, а x е стойността на параметъра на воина. - Константите винаги са еднакви за всички единици.
Справедливи ли са тези заключения? Не. Можем ли да потвърдим това допълнително? Не. Те обаче, според мен, са валидни за PVS и ефективните животи. Можете да ги отработите на всеки воин. Тези магически числа са намерени чрез решаване на уравнение с две неизвестни. За да направим това, трябва да вмъкнем две стойности. Ето тези, които използвах:
D*9.26 + H*470.4 = 135 и D*12.19 + H*742 = 200
Първата стойност е стойността на златото, необходимо за закупуване на воин (в моя пример пехотинец). Второто е същата цена, но за бик. Това са 2 бойци в меле без никакви специални способности. Сега трябва да намерим D или H. Получаваме следното:
Извадихме D от първото уравнение (за пехотинеца). Сега нека просто съставим уравнение с едно неизвестно. Получаваме:
(14,58 – 50,80*Н)*12,19 + Н*742 = 200 => Н = 0,1815
Една от стойностите е намерена. Второто е по-лесно за намиране, когато сме намерили H. Просто го заместете в първоначалното уравнение и извлечете D от него.
D*9,26 + 0,1815*470,4 = 135 => D*9,26 = 135 - 0,1815*470,4 => D = (135 - 0,1815*470,4)/9,26 = 5,354
Сега намерихме и двете стойности. Доказах, че тези стойности са правилни запехотинец и бик, но за други войски са близки, но не са абсолютно точни.
6. Как да намерите други магически числа Първо, забележете, че "Магически числа" са константи във функцията. В параграф 2 написах числата във формата:
f(x) = kx, където f(x) е количеството злато, необходимо за закупуване на един воин, k е константа, а x е стойността на параметъра на воина.
Реших да не правя това, за да избегна лоши отношения с хора, които не са добри в математиката. И все пак поради това може да се прокрадне съмнението, че "отношенията" са числа с една функция. Не е, различни стойности - различни функции. Също така вярвам, че една функция е свързана с друга. Ще покажа как са свързани помежду си малко по-късно. За да намерите стойностите на другите аспекти на един воин, трябва да сте сигурни, че те взаимно се компенсират за всеки воин. Например, ако искате да знаете колко ще ви струва да можете да летите, трябва ли да използвате стойности на гаргойл ((PVS и ефективни животи) + (стойност на летене) = (стойност на виелица за гаргойл))? Не, не можете да направите това, тъй като скоростта на гаргойла е 350, което е различно от 270 (което използвахме като базова линия при намирането на константите за грухтене и бик, те бяха в уравнението) и трябва да се компенсира по същия начин като обхвата. Следователно ще има уравнение не с едно, а с три неизвестни. И самата форма на уравнението не е толкова лесна, колкото за две стойности - PVA и ефективен живот. Както отбелязах в началото на този параграф, f(x) = количеството злато, изразходвано за закупуване на един воин от определен тип, може да съдържа много функции. Ето как би изглеждало решението на проблема за гаргойла. Обърнете внимание, че x тук изразява различни променливи.
D(d) = DVA разходи, d = DVA. H(h) = ценаефективен живот, h = ефективен живот. S(x) = цена на скоростта - базова скорост. R(x) = цена на атака от разстояние K1 = константа на полет, обикновено между 1 и 2.
Много повече функции могат да се добавят към f(x), за да се изчисли общата цена на един воин. За да направите това, трябва да намерите модел за всяка функция заедно с f(x), което може да бъде дори досадно.
7. Използване на магически числа в нестандартни карти Така че числата са константи. Имайки предвид, че можем да ги променим, ние също трябва да знаем, че промяната на един параметър ще трябва да промени всички останали войски. Ако искате войските да струват голямо количество злато, трябва да умножите цените си по 10. Аз съм привърженик на малките цени, така че коригирам константите към тези, които описах в част 4. Не е нужно да създавате войски и да ги използвате, за да намерите „Магически числа“. Тези числа комбинират параметрите на всички войски. Цялата идея за намиране на числата се появи, защото Blizzard знаеха какво правят, когато приключиха с балансирането на Warcraft III.
t е времето, d е разстоянието и v е скоростта (намерете по формулата d \ t. В нашия случай това е скоростта на тичащото чудовище.)
Така че, ако обхватът на атака на кулата е 700 (стойност, измерена в пиксели), когато чудовището се движи по права линия със скорост 300 (пиксела в секунда), тогава кулата ще може да стреля по него за:
t = 2*700/300 = 2 + (1/3) = 4,667 секунди.
Използвайки скоростта на атака на кулата, можете да изчислите колко пъти кулата ще може да атакува това чудовище. Тази стойност е:
A - броят на атаките, t - времето, през което чудовището е било под обстрел, s - скоростта на атака на кулата.
Знаейки, че стойността на времето е 4,667 секунди, можем да изчислим A:
Разбира се, ако едно чудовище тича, тогава кулата ще бъде върху негое фокусирано, но ако бягат 20 такива чудовища, тогава кулата ще атакува 20*1,556 пъти, включително интервал между всяко чудовище от 2,333 секунди.За по-обобщаване на тази стойност, ще кажа, че една секунда ще позволи:
(4,667 + (20 - 1))/1,5 = 15,78 атаки.
20 - 1 - 20 секунди минус едно вече изчислено с помощта на 4,667 секунди. Ако сте направили това, би било добре да изчислите цената на кулата по следната формула:
(Цена за броя атаки на всяка вълна) + (Цена за максимални щети (с изключение на PVA))
Разбира се, действителното разстояние на удар на кулата, през която чудовището преминава, зависи от това как играчът поставя кулата. Разстоянието между кулите също е важно за TD. Ако играчът може да построи лабиринт, тогава разстоянието между кулите може да бъде от (0,8 * диаметър) до вероятно (3 * диаметър) (в зависимост от това дали кулите са тънки или масивни).