Ролевая система это свод правил по которых живет вымышленный мир, не последнее место в которых занимают различные формулы.
В мире много ролевых систем. Есть очень известные вроде D&D, а есть известные лишь паре/ тройке человек. Очень часто, делая свою игру, все необходимые формулы придумываются на лету. И часто от их продуманности зависит гейплей игры и ее интересность.
У меня много подобных мыслей, но поделюсь лишь некоторыми. Мысля первая - В чем сила магов?
Задание сформулировано не совсем точно. Цель – разобраться почему один маг сильнее другого, в чем причина магического превосходства. Это необходимо для того, чтобы вывести приближенные к «реальным» формулы. Конечнo, все зависит от ролевой системы, но я попытаюсь учесть только общие параметры.
Итак, вероятно, что имея больший запас магической энергии, то есть маны, маг сильнее. Это пункт первый и самый важный. Но он правилен не всегда. Важное значение имеет то, как эта мана используется. В нашем случае это скорость с которой маг способен излучать ману и абсорбировать энергию стихий. Далее не менее важным являются способы использования маны, то есть количество и качество доступных заклинаний, а также навык в использовании этих заклинаний. То есть кроме обширных знаний магу требуется также и солидный опыт.
Значит, что мы имеем:
1. Мана, то есть ее объем. Этот показатель зависит во первых от врожденных способностей(Интелект), а во вторых от специальной практики. Соответственно в формуле расчета максимума маны должны присутствовать оба этих показателя. В нашем конкретном случае опыт персонажа имеет ступени выраженные уровнями. Сначит простейшая формула – Интеллект*уровень. Кроме того необходимо учесть что маг, возможно приобретет некоторые навыки, позволяющие ему немного увеличить запасы маны. Соответственно:
Мана = Интеллект * уровень * дополнительный коэффициент.
2. Каким бы ни был объем маны, если уступающий по этому показателю противник окажется способным быстрее создать и применить заклинание, он окажется победителем. От чего же зависит эта скорость. Опять же важными являются врожденные способности и практика, то есть в формуле должны быть задействованы Интеллект и уровень. (Важно – скорость излучения фиксирована, но скорость кастования заклинания переменна и зависит от опыта использования заклинания. Это относится к третьему пункту. )
3. Третий показатель это количество доступных заклинаний, их качество. В принципе к силе мага не имеет прямого отношения, а наоборот зависит от нее. .Чем больше маг знает заклинаний, тем шире его возможности в атаке и защите. Конечно, чем качественнее, то есть мощнее заклинание, то не поможет никакая хитроумная тактика. Вот здесь навыки использования имеют существенное влияние. Часто используя какое то одно заклинание, маг привыкает к его созданию, в результате чего оно начинает получатся быстрее(каждое заклинание имеет уровень освоения) и требует меньше маны, соответственно за то же время в него можно вложить больше силы – сделать намного мощнее. Но это опять же зависит от практики и раньше тем его показатели достигнут определенного уровня освоить мощное заклинание маг не сможет
Возьмем пример. Два мага выясняют кто из них сильнее. Это действие довольно примитивно. Используя чистую силу маги попросту давят друг на друга. Кто пересилит тот и сильнее. Здесь немаловажное значение имеет сила давления, то есть скорость излучения маны, если же она приблизительно одинаковая то решающим будет то, у кого первого она закончится. Если скорость отличается незначительно, то все зависит от того, успеет ли маг пересилить соперника раньше, чем закончится мана. Ну а если разница огромна, то противника просто сметет потоком маны. Делаем выводы.
Мысль вторая. Физический урон.
Цель. Понять как просчитать величину наносимого повреждения. От каких факторов это зависит.
В первую очередь выделим те характеристики персонажа, которые могут влиять на физический урон.
На первое место я поставлю используемое оружие. Не важно есть оно, или персонаж дерется с пустыми руками, ведь кулаки это тоже оружие. Оружие также имеет набор различных характеристик, но дабы не заморачиваться, мы будем плясать только от одной - наносимого им урона(сокращенно УО - урон от оружия).
На данном этапе получится формула
Урон = УО
Для простых систем хватит и такой, но не для нас, ведь она совершенно не учитывает характеристик персонажа.
Физическая сила - вот основной показатель, делающий урон индивидуальным. Чем сильнее персонаж, тем больше он сможет нанести повреждения одним и тем же оружием.
Пусть коэффициент высчитывается так Сила/10. Из чего ясно что если сила больше 10 и урон больше, если же сила меньше, то и урон, соответственно будет меньше.
Теперь наша формула примет такой, более интересный, вид
Урон = УО * Коэффициент силы
Но и этого мало. Ведь не трудно догадаться, что воин, впервые взявший в руки оружие, будет использовать его не так эффективно, как ветеран. Так что нужно еще учитывать и опыт в использовании этого оружия и воинский опыт вообще.
Урон = УО * Коэффициент силы * Коэффициент опыта
здесь Коэффициент опыта будет зависеть от того, как именно у вас определен опыт персонажа и навык владения оружием. Например у меня опыт персонажа, это его 1+(уровень/25 ), то есть на 25 уровне перс сможет наносить двойной урон и т.д. Навык владения - числовая величина от 1 до 20. Здесь каждая единица добавляет 5% к урону.
Формула будет такой
1+((навык владения * 5)/100)
Ну а весь
Коэффициент опыта = Опыт персонажа * Коэффициент навыка владения
Ну и дабы сделать нашу формулу еще интереснее, добавим некую толику случайности. Ведь не все же удары будут одинаковыми, и нанесут одинаковый урон. Это может быть число от 0 до максимума УО или силы, а можно взять и что-то другое.
И на последок. Не все повреждение, что можно нанести будет нанесено. Ведь могут существовать факторы, которые будут этому препятствовать. Основной из них это броня цели. Как работает броня тоже зависит от фантазии. Например это может быть число от 0 до 100, где каждая единица это один процент заблокированного урона, или же эта единица и будет единицей заблокированного урона. А может для этого будет использоваться вообще какая-то умопомрачительная формула.
В результате наших измышлений получится нечто вроде этого
Урон = УО * Коэффициент силы * Коэффициент опыта + Случайная величина – Броня
Чтобы лучше разобраться, приведу пример:
Допустим есть воин 30 уровня, сила равна 15. Он вооружен коротким мечем с уроном в 10 единиц. Навык использования этого меча равен 18.
Противник имеет 48 брони.
Проведем подсчет.
Урон от оружия = 10
Коэффициент силы = 15/10 = 1,5
Коэффициент опыта = (1+(30/25))*(1+(18*5/100)) = 4,18
Случайная величина = (пусть это будет от 0 до УО) = допустим 7
Броня = (1 брони – минус 1 % урона) = 48 %
Теперь:
Предположительный урон = 10*1,5*4,18+7 = 69,7
Нанесенный урон = 69,7-(69,7*48%) = 36,2
Вот так.
Кроме использованных в формулы можно привязать еще множество факторов. Главное в них не потеряться.
Мысль третья. Опыт
Что же такое опыт?
Опыт это некая числовая величина, в которой учитываются все достижения персонажа. Под достижениями подразумевается выполнение миссий, победы над врагами и монстрами, исследование новых территорий, обнаружение сокровищ, решение загадок и многое другое.
Каждое такое действие повышает опыт. Значение, на которое будет повыше опыт, зависит от вас, от того насколько геймдизайнер оценил сложность выполненных действий.
Сейчас мы разберем самую сложную и наиболее частую ситуацию - получение опыта за убийство врага. Почему сложную поймете в процессе разбора, а почему частую и так понятно.
Противники вашего персонажа могут быть абсолютно разными: больше, меньше, сильнее, слабее, быстрее, поэтому естественно, что все они не должны приносить персонажу одинаковое количество опыта.
С этой целью, учитывая мощь(здесь имеется ввиду общая оценка существа, его боевой потенциал) существа необходимо построить таблицу опыта.
Примерно так:
Здесь количество опыта берется на основе предполагаемого потенциала. Только от желания геймдизайнера зависит, будет волк сильнее гоблина или гоблин сильнее волка.
НО, боевой потенциал игрока не постоянен. Со временем персонаж становится сильнее, естественно предположить, что чем дальше, тем проще ему будет справляться с одними и теми же противниками. Так же естественно, чтобы такие легкие победы приносили ему меньше опыта.
Необходимо как то учесть соотношение между мощью персонажа и его противника. Нужно использовать еще один показатель. Для этих целей опять может подойти уровень. Если уровень игрока и уровень убитого им существа одинаковый, то игрок получает полное количество опыта. Если уровни отличаются, то вычисление идет по такой формуле:
Количество полученного опыта = ЦС*( уровень существа/уровень персонажа)
Здесь:
ЦС – цена существа, то есть количество опыта согласно таблицы
Привожу пример, как эта формула работает
Допустим, персонаж 5 уровня сражается с волком 10 уровня.
Количество полученного опыта = 30 * (10/5) = 60
Как мы видим, в случае победы игрок получит двойное количество опыта.
Теперь обратная ситуация. Персонаж 30 уровня сражается с волком 10 уровня.
Количество полученного опыта = 30 * (10/30) = 10
Соответственно, чем большее преимущество имеет персонаж, тем меньше опыта он получит.
С этим все ясно. Теперь переходим к ситуации посложнее. Допустим, что противников несколько. Понятно, что брать предыдущую формулу не имеет смысла. Ведь справится одновременно с двумя явно сложнее, причем с каждым новым противником сложность увеличивается на порядок.
Здесь можно пойти несколькими путями.
Первый, увеличивать количество опыта согласно количеству врагов. То если в приведенном выше примере напало два волка то подсчет ведем так:
КПО= (ЦС*( уровень существа/уровень персонажа))* количество врагов
Здесь КПО - Количество полученного опыта.
Количество полученного опыта = (30 * (10/30))*2 = 20
То есть за каждого волка будет получено 20 опыта.
Второй способ, и он мне нравится больше. Вообще не считать количество врагов, а учитывать интервал времени между их убийством.
Допустим, в качестве интервала мы выбрали 10 секунд. Если после первого убийства, до истечения 10 секунд происходит второе убийство, то за второе убитое существо дается двойное количество опыта. Далее если после второго убийства опять до истечения 10 секунд происходит третье, то количество опыта утраивается и так далее.
Весь КПО = Количество полученного опыта * номер врага
Здесь номер врага – порядковый номер врага, убитого до истечения интервала.
Пример:
Персонаж 20 уровня убивает 3 врагов. Все три убийства укладываются в заданный интервал
1. Орк 13 уровня.
2. Орк 17 уровня.
3. Шаман орков 10 уровня.
Считаем, сколько опыта отгребем:
1. Орк 13 уровня = (100 * (13/20))*1 = 65 опыта
Здесь *1 – это и есть порядковый номер врага.
2. Орк 17 уровня = (100 * (17/20))*2 = 170 опыта
3. Шаман орков 10 уровня = (250 * (10/20))*3 = 375 опыта
Как видим, здесь, хоть шаман и был хилым, опыта он принес намного больше.
Формулу можно еще улучшить, учтя насколько быстро, в отведенный интервал, произошло следующее убийство.
Например, так:
Весь КПО = КПО * (номер врага + ((интервал времени ¬– прошедшее время)/ интервал времени))
Пример:
Предыдущая ситуация. Добавим, что второй орк был убит спустя 5 секунд после первого, а шаман - спустя 8 после второго орка.
1. Орк 13 уровня = (100 * (13/20)) = 65 опыта
2. Орк 17 уровня = (100 * (17/20))*(2+((10-5)/10)) = 212 опыта
3. Шаман орков 10 уровня = (250 * (10/20))*(3+((10-8)/10)) = 400 опыта
Как видим, чем быстрее убит следующий противник, тем больше опыта нам дадут.
Ну, с этим тоже вроде разобрались. Теперь рассмотрим обратную ситуацию. Допустим, вы с напарником атакуете одного врага. В этом случае получить полное количество опыта будет нечестно.
Как поступить? Да все просто - поделить количество опыта пропорционально нанесенному урону:
Количество опыта = ЦС * (количество нанесенного урона/жизнь существа)
То есть пример:
Противник – Шаман орков – 10 уровень – 300 жизни
Персонаж - 10 уровня нанес 200 урона
Напарник - 15 уровня – 100 урона
Считаем для персонажа:
Количество опыта = 250 *(200/300) = 166 опыта
И используем полученное количество опыта в следующей формуле:
Количество полученного опыта = (166 * (10/10) = 166
Считаем для напарника:
Количество опыта = 250 *(100/300) = 83 опыта
Количество полученного опыта = (83 * (10/15) = 55
Кроме всего этого также не лишним будет учесть ваше численное превосходство:
Количество опыта = (ЦС * (количество нанесенного урона/жизнь существа))/1+количество напарников – количество врагов.
Эта формула подойдет для ситуации толпа на толпу. Но на основе изложенного здесь можно придумать еще много чего.
Надеюсь мои мысли будут кому-то полезны. Я не претендую на абсолютную непогрешимость и полную правоту. Это всего лишь мои мысли, и как и любые другие, они могут быть ошибочны. Моя цель, всего лишь подтолкнуть вас в верном направлении.
Выкладывайте свои соображения и идеи, а также замечания к уже выложенному. Делимся опытом, каким бы мизерным он не был.