Отправлено: 28.04.08 11:49. Заголовок: Не, я имею в виду, ч..
Не, я имею в виду, чтоб каждый навык прокачивался по 10. Тогда, если по магии: 1 и 2 уровень магии учатся сразу, 3 учится при магии = 1 или мудрости = 2, 4 учится при уровне магии 3 или мудрости 5, 5 учится при уровне магии 7 или мудрости 10. Тогда получается, что для того, чтобы изучить магию определённого уровня, проще получить навык магии, потому, что мудрость -- общая, а значит, магии должны требовать более её высокий уровень. Иначе тупо получается -- тебе учить магию Воды 1 уровня чтоб получить доступ к магии Воды 3 уровня, или учить мудрость чтоб получить доступ ко всем магиям 3 уровня? А мой вариант сбалансирует этот недостаток. Кроме этого, 10 уровней дадут большее разнообразие в формулах, бонусах и эффектах.
Отправлено: 29.04.08 14:52. Заголовок: p.s. другой вид функ..
цитата:
p.s. другой вид функции - n*a1 + 0.5*n*(n+1)
да, можно и без алгебраической суммы.
цитата:
Мудрость для этого также нужна.
Надо будет решить все это. Имхо:
1 и 2 уровень без школы - любой герой с книгой магии. 1 уровень со школой - тоже любой герой с книгой магии. 3-5 уровни магии без школы - герой со знанием соответствующей стихии, либо герой с навыком "мудрость" 2-4(5) - со школой - знание соответствующей школы(и стихии?) (5) - знание соответсвующей школы и стихии.
6 уровень - воронки стихий - знание соответствующей стихии и мудрости. 6 уровень - комбинированные элементали - знание 2 соответствующих стихий.
6 уровень - остальное - знание 2 требуемых школ.
Навыки групп заклинаний(ударные, благословительные, проклинательные, призыв) - позволяют изучать заклинания соответствующих типов на 1 уровень выше.
Отправлено: 29.04.08 15:12. Заголовок: Полностью с тобой со..
Полностью с тобой согласен. Но не совсем понял это:
цитата:
2-4(5) - со школой - знание соответствующей школы. (5) - знание соответсвующей школы и стихии.
Я бы сделал так: 2 -- 4 (школы) -- знание соответствующей школы или мудрости. 5 (школы) -- обязательное знание школы высшего (если 3 уровня навыков) либо 6 (если 10 уровей) уровней либо знание мудрости высшего уровня (в обеих системах). Знание стихии НЕ ОБЯЗАТЕЛЬНО для некоторых заклинаний. Если заклинание создано на базе стихийного (Священная стрела, Проклятая стрела = ул. Волшебная стрела; Тёмная молния = ул. Молния), знание стихии и самого заклинания ОБЯЗАТЕЛЬНО для всех уровней, если у тебя нет Мудрости (кроме 1).
Отправлено: 29.04.08 15:24. Заголовок: Для ул. магии(вроде ..
Для ул. магии(вроде Освященной стрелы, Темной молнии, Ярости и т.д.) требуется знание самого заклинания(не улучшеного) и базового(1-2 ур.), продвинутого(3) или экспертного(4-5) навыка школы.
для 2-3 ур. школы - можно знание мудрости. 4 ур. - знание школы. 5 ур. - знание школы и стихии/мудрости(эксперт)/знание навыка заклинаний соответствующей группы.
Слушайте, придумал неплохую формулу для опыта (с одной пачки): Вначале перед боем происходит проверка (через Fight value каждого существа) на размеры армии и её общую силу (по FV). Силы армий делятся друг на друга и записываются в а1 и а2 соответственно. Если побеждает 1 армия, то а = а2 (т.е. 2 армия/1 армия), иначе а = а1. (Random [x..z] + d * ((d + r) * a - c) - L div(50*d)) * q * B = t If t>=q then Exp=t else Exp=q где d -- уровень убитых существ, r -- ранг убитых существ, L -- уровень героя, q -- количество убитых существ, c -- уровень самого сильного существа в армии героя. x и z -- два числа, одно больше, другое меньше числа Y на 25--50%. Число Y вычисляется по формуле, учитывающей атаку, защиту, скорость, урон (МАХ и MIN), интуицию, ловкость, скорость и включает в себя 50% ХП существа. B -- бонусы за убийство сильного существа более слабыми (ниже уровнем). Общий опыт равен сумме этих формул. ПРИМЕР выложу позже.B = 1 при одинаковых уровнях либо уровень убитых существ ниже уровня ваших существ, 1,1 -- если убитые выше на 1 уровень, 1,25 -- если на 2 уровня, 1,5 -- 3 уровня, 2 -- 4 уровня, 2,5 -- 5 уровней, 3,5 -- 6 уровней, 5 -- если разница в 7 и более уровней.
Отправлено: 09.05.08 20:25. Заголовок: Random - можно заме..
Random [x..z] - можно заменить на fight value существа. r - ранг убитых - это что? Улучшенный/не улучшенный? Скобка "(d + r - c)" может заходить в минус.
-------------------- Предположим, что у противника одни не улучшенные грифоны в стеке, их 10 штук. Наш Герой 1 уровня. В нашей армии также есть один стек юнитов третьего уровня. Ранг приму за единицу, Смотрим:
a:= Random [x..z]; //Заменим на а, это основной коэфициент; Result:= a + 3*(3+1-3) - (1*10*1) div (50*3) = а + 3 - 1/15(округляется до 0) => t = a+3;
Исходя из этого, предлагаю "-L div(50*d))*q" изменить(ибо во многих случаях коэфициент будет <1).
В героях 4(и, возможно, 5) все горадо проще: Resut:= Опыт существа(В героях 3 - его здоровье) * Количество существ в стеке.
Отправлено: 10.05.08 12:12. Заголовок: Arseny пишет: В геро..
Arseny пишет:
цитата:
В героях 4 (и, возможно, 5) все горадо проще: Resut:= Опыт существа(В героях 3 - его здоровье) * Количество существ в стеке.
Правильно, и это меня бесило, когда на 50 уровне получаешь по 4 опыта за каждого гремлина и по 10 за копейщиков (тупость). А нужно, чтоб кол-во опыта изменялось в зависимости от твоего уровня. r -- ранг существа, если включён «Опыт армий» (т.к. у существ в ВОГ3,58f называлось не «Уровень», а «Ранг»).
цитата:
Random [x..z] - можно заменить на fight value существа
Да, но со случайным коэффициентом от - 30% до + 30%, как в Варкрафте 3 (там при убийстве опыт немного прыгает в промежутке от ~= -25 до 25%).
цитата:
Исходя из этого, предлагаю "-L div(50*d))*q" изменить(ибо во многих случаях коэфициент будет <1).
Оно и должно быть меньше 0! Это -- штраф за уровень, чтоб на высоком уровне не давалось мног опыта за существ первых уровней. Тогда герой уровня 1000 будет получать всего по 1 опыта за копейщиков, гремлинов, троглодитов и т.д, а не по обычному кол-ву опыта. Это будет как в играх-РПГ. Чем ты сильнее и чем слабее ты бьёшь существ, тем меньше тебе опыта идёт.Вот пример использования этой формулы: Возьмём Копейщиков. У них ХП 10, атака 30, защита 27 (тк МАХ атаки и защиты не 100, а 65535), скорость 4, урон 2-3, сопротивлений почти нет. Уроень нашего героя 120. У нас МАХ уровень существ 3. Пусть Y будет равным 10, а ранг 4. Тогда получится следующее: (Random [x..z] + d * (d + r - c) - L div(50*d)) * q * B = (Random [8..13] + 1 * (1 + 4 - 3) - 120 div50) * 70 = [560..910] Exp. Аналогично и другие существа и уровни.
Отправлено: 10.05.08 18:39. Заголовок: Да, но со случайным ..
цитата:
Да, но со случайным коэффициентом от - 30% до + 30%, как в Варкрафте 3 (там при убийстве опыт немного прыгает в промежутке от ~= -25 до 25%).
Не надо в формуле случаеность делать. Все должно быть четко.
цитата:
Тогда герой уровня 1000 будет получать всего по 1 опыта за копейщиков, гремлинов, троглодитов и т.д, а не по обычному кол-ву опыта. Это будет как в играх-РПГ. Чем ты сильнее и чем слабее ты бьёшь существ, тем меньше тебе опыта идёт.
Но у героя дельта уровней с каждым уровнем будет возрастать! Тогда героя еще сложнее будет прокачать до более высокого уровня.
В героях 3 дельта уровней = 1,2 от преведущей дельты, после 11 ур., но думаю, что надо уменьшить коэфициент на более высоких уровнях, чтобы реально было прокачать героя до, хотябы, уровня 70-ого.
Насчет твоей формулы:
А почему чем больше существ мы убили, мы меньше опыта получим? Например убили 1 и 100 черных драконов: "- L div(50*d)) * q" - рассмотрим этот кусочек, ибо только тут фигурирует их количетсво.
1 дракон: -L*1 div 50*7 = -L/350 - штраф; 100 драконов: -L*100 div 50*7 = -2L/7;
L/350 > 2L/7 только, если L < 0, чего быть не может. Тоесть, чем выше у героя уровень, чем меньше он получает опыта за большее количество юнитов.
(Random [x..z] + d * ((d + r) * a - c) - L div(50*d)) * q * B = t
Ты невнимательно смотришь формулу! q -- ЭТО ОБЩИЙ МНОЖИТЕЛЬ ВСЕЙ СКОБКИ!!!Вот опыт для первых 53 уровней: 1--500; 2--1000; 3--1500; 4--2000; 5--2500; 6--3000; 7--3600; 8--4200; 9--4800; 10--5400; 11--6000; 12--6800; 13--7600; 14--8500; 15--9500; 16--10600; 17--11750; 18--12900; 19--14100; 20--15300; 21--16600; 22--17900; 23--19300; 24--20700; 25--22200; 26--23800; 27--25400; 28--27000; 29--29000; 30--31000; 31--33300; 32--35600; 33--38000; 34--40400; 35--42800; 36--45200; 37--47600; 38--50000; 39--52500; 40--55000; 41--57500; 42--60000; 43--63000; 44--66000; 45--69500; 46--73000; 47--76500; 48--80000; 49--84000; 50--88000; 51--92000; 52--96000; 53--100000. Далее я предлагаю сделать дельту уровня 5%*SL, где SL = SL-1(или, возможно, правильнее написать L-54?)*0,99, начиная с 53. Тогда каждые 15--16 уровней опыт будет удваиваться. Если так делать и делать 8-байтное число для опыта, то можно будет сделать много уровней (не меньше 1000, посчитать точно негде).Перечитайте мой первый пост про формулу опыта.
Сообщение: 365
Зарегистрирован: 07.12.07
Откуда: Россия, Москва
Репутация:
3
Отправлено: 11.05.08 21:02. Заголовок: Чёт слишком сложно п..
Чёт слишком сложно получается,надо не уменьшать способность героя набирать опыт за одно и тоже кол-во войск,просто на малых кол-вах монстров ты фиг наберёж на седующий левел
Отправлено: 11.05.08 21:28. Заголовок: Ты невнимательно смо..
цитата:
Ты невнимательно смотришь формулу!
Все, теперь заметил.
цитата:
Чёт слишком сложно получается,надо не уменьшать способность героя набирать опыт за одно и тоже кол-во войск,просто на малых кол-вах монстров ты фиг наберёж на седующий левел
Помоему итак нормально. Если дельта растет, а количество опыта за юнитов - нет, то нормально все будет. Но я за понижение(и повышение) опыта из-за уровня героя, Мах уровня существа в армии и прочих параметров.
Отправлено: 10.06.08 16:15. Заголовок: Кстати, люди, напиши..
Кстати, люди, напишите прогу, в которой можно вычислить максимальный доступный уровень по моей формуле (пост №240), а так же чтоб она показывала сколько опыта нужно на такой-то уровень. Чтоб во-первых, знать, сколько уровней будет максимально, а во-вторых, распределение опыта по уровням. Насколько я знаю, написать её не сложно, просто я совсем далёк от математики, да и программированием не занимался года 3.
Отправлено: 12.06.08 11:36. Заголовок: Вообще надо, чтоб на..
Вообще надо, чтоб начиная со 100000 каждый следующий уровень был больше на 5%*SL, где SL = SL-1(или, возможно, правильнее написать L-54?)*0,99, начиная с 53. Не знаю, как это написать одной формулой.
Отправлено: 14.06.08 17:03. Заголовок: Не, не так. Скорее: ..
Не, не так. Скорее: IF L > 53 Then E := E0 + E0 * (5 * 0.99 ^ (L - 53))/100, по идее, так. Только надо проверить как эта формула будет работать. Я не знаю как её проверить.
Отправлено: 17.06.08 09:50. Заголовок: Да, я и хочу, чтоб д..
Да, я и хочу, чтоб для каждого следующего уровня требовалось меньше процентов опыта. Кол-во опыта, необходимого для уровня, будет возрастать, однако не так быстро, как при постоянной дельте 5%. Легче же набрать 1% при 1млрд опыта, чем 5%... И всё равно на высоких уровнях нужно будет много опыта, но не на столько, как при 5%. Да и МАХ кол-во уровней будет не, например, 1000, а тысяч 5 (цифры ~, от балды взял). Так что эта формула будет реально удобной. Посчитай её лимит, тогда точно узнаем, сколько уровней возможно, а так же проценты и необходимое кол-во опыта на каждый уровень.
Отправлено: 19.06.08 13:08. Заголовок: Можно просто, чтоб г..
Можно просто, чтоб где-то после 220 уровня не падал процент (99^(L-53)), т.е. на 221 уровне % будет, как на 220 и т.д. (там уже будет меньше 1%, вроде), либо чтоб после 220 уровня каждые 200 уровней процент уменьшался не каждый уровень, раз в 3 уровня, потом раз в 7 уровней и т.д. Этого хватит уровней на 5000 так, чтоб не было, что на следующий уровень нужно набрать меньше опыта, чем на предыдущий.
Отправлено: 26.08.09 14:09. Заголовок: Наконец дошли руки и..
Наконец дошли руки и до заклинаний. Буду теперь потихоньку выкладывать здесь заклинания -- цена, формулы расчёта, бонусы к ним по уровням навыка/поднавыков (наподобие как во 2 посте у Арсения).
Отправлено: 01.09.09 12:38. Заголовок: Парни! Я наконец при..
Парни! Я наконец придумал хорошую формулу. Правда, она подходит, если защита больше атаки. Формула такая: D = D0 * 0.98ΔD, где D -- общий урон, который будет нанесён, D0 -- урон, который был бы нанесён одним отрядом другому без учёта атаки/защиты, ΔD = Защита - Атака. Т.о. когда ΔD = 0, то будет наноситься полный урон без штрафа (т.к. 0.980 = 1), если защита больше на 1, то урон будет умножаться на 0.98, если на 2 -- то на 0.9604 и т.д. Вычисление считаю целесообразным вести до 4 цифр после запятой. Всё равно урон будет округлятся до 1 ед. Над формулой вычисления урона, когда атака больше защиты я ещё подумаю. Но хотелось бы типа такого же -- убывающая прогрессия, когда разница в 5 атаки даст около 10% бонус урона, 20% будут требовать 11 или 12 атаки, 30% -- 20-22, 40% -- 30-32, 50% -- 45-50 ед. и т.д.
Отправлено: 01.09.09 21:30. Заголовок: Над формулой вычисле..
цитата:
Над формулой вычисления урона, когда атака больше защиты я ещё подумаю.
Та же самая формула. Только показатель степени отрицательный. ΔD = -5 - коэффициент: 1,1062 ΔD = -12 - коэффициент: 1,2488 ... Коэффициент < 10%, при ΔD = 114; Коэффициент > 1000%, при ΔD = -114;
Отправлено: 02.09.09 09:19. Заголовок: Ага, а вот это мне и..
Ага, а вот это мне и не нужно. Т.к. при этом получается, что каждая следующая единица атаки даст немного больше, чем предыдущая. В результате при разнице в 100 атаки бонус урона за единицу будет 4 или 5% (а не 2!!!), а должен быть около 1,3%. Мне нужна УБЫВАЮЩАЯ формула, а не ВОЗРАСТАЮЩАЯ.
Отправлено: 03.09.09 13:16. Заголовок: Arseny пишет: По мое..
Arseny пишет:
цитата:
По моему наоборот; Возрастающая функция, но с убывающим приростом; Используй логарифму;
Ой, я это и хотел сказать. Т.е. за каждую следующую единицу атаки бонус должен быть немного меньше, чем за предидущую. Арсений, подумай, как это можно реализовать.
Парни, проверьте формулу DΔD = DΔD-1 + D0*1.02ΔD*0.01. Если я её правильно написал, то получится так: Общий урон (при Атаке>Защиты) равен урону с атакой на 1 ниже плюс 2 процента базового урона в степени разницы (Атака-Защита).
Отправлено: 24.11.09 14:53. Заголовок: Вот мне и нужно, что..
Вот мне и нужно, чтоб она зависела от базового урона. Я хотел формулу, чтоб было: разница в 1 атаки даёт 2% бонус, 2 атаки -- ≈3.98%, 3 -- ≈5.9605, 4 -- ≈7,9412, 5 -- ≈9,922 (цифры приблизительные, я не на калькуляторе считал). Т.е. за каждую следующую единицу бонус уменьшается. Правда я не совсем пойму обе твои фразы (я уже говорил, я прохалявил математику года два, а потом ни фига не догнал...), поэтому можешь написать пример (в виде двух колонок), допустим, до разницы в 300 атаки (урон возьми, допустим, 100, округление веди до единицы по всем правилам).
Отправлено: 30.11.09 16:28. Заголовок: Я не знаю как написа..
Я не знаю как написать полную формулу -- это во-первых; а во-вторых -- формула всё равно будет завязана на предыдущее значение (т.е. следующее высчитывается на основе предыдущего и разницы атаки/защиты в общем). Если урон возрастает от 1 по 1 формуле, то тогда именно она (а не вторая). Потому как и крестьянин сможет нанести 10 и больше урона при собственном уроне 1 без Удачи/крита и т.д. только за счёт нескольких тысяч Атаки.
Отправлено: 30.11.09 17:43. Заголовок: Look, Прогрессию an ..
Look, Прогрессию an = an-1 + 0,02*a0n можно записать так: an = a0 + 0,02(an1 + an2 + an3 + ... + ann);
Теперь, допустим, разница атаки и защиты - 10; Базовый урон = 20; Получаем: Урон = 20 + 0,02*(20 + 400 + 8000 + 160000 + 3200000 + ...) = очень много; ((
В другом случае(когда процент тоже был в степени) ситуация немного получше, но тоже не веселая :(.
Плюс, бонус от дельты атаки и защиты сильно зависит от базового урона(если Подставить базовый урон = 1 в предыдущую формулу, бонус получим гораздо меньше).
БЛИИИННННН!!!!!!!!!!!! Это ЖОПА. НУ КАК ЕЩЁ МОЖНО ВЫРАЗИТЬ ФОРМУЛУ, ЧТОБ СЛЕДУЮЩИАЯ ЕДИНИЦА АТАКИ ДАВАЛА МЕНЬШЕ БОНУС, ЧЕМ ПРЕДЫДУЩАЯ НА 2 ПРОЦЕНТА. Т.е. (я уже писал на предыдущей странице) 1я атаки даёт бонус 2%, 2я атаки даёт где-то 1,98% (всего 3,98), 3я ед даёт около 1,962% (всего около 5,942%), 4я даёт 1,946 (всего 7,908%) и т.д. Блин, Арсений, попробуй сам придумать формулу, которая не получается у меня. Т.е. возростающая прогрессия с убывающим коэффициентом. Если выйдет, то она подойдёт и когда атаки будет больше (т.е. будет увеличивать урон), и когда атаки будет меньше защиты (т.е. уменьшать урон всё медленнее). Я просто не хочу использовать что-то вроде как в Героях -- если атака больше, то каждая ед даёт +5% урона, если меньше, то уменьшает по 2,5%. Это слишком условно. Нужно именно динамическое изменение урона (это есть в любых продвинутых игрушках -- посмотри тот же Варкрафт 3).
АРСЕНИЙ, ! ТО, ЧТО НАДО!!!! Только можно, тогда, чтоб уменьшалось не на 2, а на 3 или даже 4% за раз? Я посмотрел, 2% -- маловато. Т.е. 1=2%, 2=3,94 (или 3,95), 3=5,91?? (или 5,90??), 4=7,87???? (или 7,86????), где "?"= цифра (я не калькулятор точно высчитывать). Тогда быстрее процент уменьшаться будет.
Все даты в формате GMT
2 час. Хитов сегодня: 25
Права: смайлы да, картинки да, шрифты нет, голосования нет
аватары да, автозамена ссылок вкл, премодерация вкл, правка нет