Понедельник, 23 Декабря 2024, 17:29

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 2
  • 1
  • 2
  • »
Мысли вслух: Своя ролевая система.
nilremДата: Четверг, 08 Октября 2009, 15:23 | Сообщение # 1
Просветленный разум
Сейчас нет на сайте
Ролевая система это свод правил по которых живет вымышленный мир, не последнее место в которых занимают различные формулы.
В мире много ролевых систем. Есть очень известные вроде 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+количество напарников – количество врагов.

Эта формула подойдет для ситуации толпа на толпу. Но на основе изложенного здесь можно придумать еще много чего.

Надеюсь мои мысли будут кому-то полезны. Я не претендую на абсолютную непогрешимость и полную правоту. Это всего лишь мои мысли, и как и любые другие, они могут быть ошибочны. Моя цель, всего лишь подтолкнуть вас в верном направлении.
Выкладывайте свои соображения и идеи, а также замечания к уже выложенному. Делимся опытом, каким бы мизерным он не был.

Прикрепления: 7782460.png (5.2 Kb)


Windmill 2

WindMill 2D Game Engine
anisimovДата: Четверг, 08 Октября 2009, 15:59 | Сообщение # 2
старожил
Сейчас нет на сайте
Урон холодного оружия можно считать как зависимость "без уружия"*"мин коээфциент повреждения" данного оружия.
Например если у вас меч 10-15. А удар без оружия на данном уровне 6. То будет 6*10=60, а при крите 6*15=90.
Удар для метательного оружия.
Силу удара луков и и арбалетов измеряют либо в Ньютонах, либо в Килограммах. На западе в Фунтах. Сила удара стандартного боевого лука какими пользовались в средние века примерно 20-25 килограмм.


http://vkontakte.ru/id56359373
Строю Город, обустраиваю Остров. Присоединяйтесь.


Сообщение отредактировал anisimov - Четверг, 08 Октября 2009, 16:05
nilremДата: Четверг, 08 Октября 2009, 16:11 | Сообщение # 3
Просветленный разум
Сейчас нет на сайте
Quote (anisimov)
Например если у вас меч 10-15. А удар без оружия на данном уровне 6. То будет 6*10=60

Ну а как єто мотивировать? Почему оружие увеличивает урон в несколько раз в сравнении с безоружной атакой.


Windmill 2

WindMill 2D Game Engine
anisimovДата: Четверг, 08 Октября 2009, 16:21 | Сообщение # 4
старожил
Сейчас нет на сайте
Холодное оружие служит продолжением руки бойца, это скажет вам любой специлист по холодному оружию. Опять же физика. Правда тут есть ещё такие факторы как материал, конструкция оружия. Но главное понять суть. Холодное оружие рассматривается как продолжение руки бойца и его действие зависит от усилия прилагаемого бойцом.

http://vkontakte.ru/id56359373
Строю Город, обустраиваю Остров. Присоединяйтесь.
nilremДата: Воскресенье, 27 Декабря 2009, 18:39 | Сообщение # 5
Просветленный разум
Сейчас нет на сайте
Добавил в первый пост Третью мысль, касающуюся опыта персонажа.
Читаем, делимся своими соображениями.


Windmill 2

WindMill 2D Game Engine
PesetsДата: Воскресенье, 27 Декабря 2009, 19:30 | Сообщение # 6
постоянный участник
Сейчас нет на сайте
Quote (nilrem)
Формулу можно еще улучшить, учтя насколько быстро, в отведенный интервал, произошло следующее убийство.

Имхо, очень шаткое место. Напрямую зависит от того, насколько динамичные будут битвы в целом. Если битва может продолжаться порядка минуты, то игроку будет гораздо выгоднее нейтрализовать одного из противников, оставив у него немного жизней, потом заняться следующим и в итоге убить их почти одновременно. По-моему это глупо.
Я бы вообще не считал временные интервалы (если это не шутер с элементами рпг), а факт сражения с несколькими противниками считал бы примерно так:
-Есть некая переменная, обозначающая коэффициент умножения опыта, изначально 1
-Когда игрок убивает противника, получаемый опыт рассчитывается по базовой формуле и умножается на коэффициент. Коэффициент увеличивается на 1.
-Если после смерти противника, больше нет противников, сражающихся с игроком, коэффициент сбрасывается до 1.
Таким образом, факт сражения с несколькими противниками вообще не будет зависеть от времени, но учитываться будет.

Quote (nilrem)
Да все просто - поделить количество опыта пропорционально нанесенному урону:

Если в игре будет разделение классов (хотя бы по стандартной схеме - танк, хилер, дамагер), то такая формула не прокатит.
Я бы попробовал считать нечто более абстрактное, например "активность игрока в течение битвы". Она может определяться, например, количеством потраченной маны или количеством нанесенных ударов и примененных способностей. Вообще это будет зависеть от ролевой системы.
Тогда опыт будет делиться между игроками, исходя из отношения их активности. И при хорошо поставленной формуле для вычисления активности мы получим абсолютно честное распределение опыта между игроками различных ролей/классов.



nilremДата: Воскресенье, 27 Декабря 2009, 19:51 | Сообщение # 7
Просветленный разум
Сейчас нет на сайте
Quote (Pesets)
не будет зависеть от времени

Вариант, когда можно куда-то заныкаться и восстановить силы, здоровье, а потом вылезти и добить ослабленного, не имеющего аптечек компьютерного врага, не мой выбор.
Кроме того интервал может быть и больше 10 секунд, например та же минута. И можно будет спокойно, не добив одного, переключится на второго.

Quote (Pesets)
Если в игре будет разделение классов (хотя бы по стандартной схеме - танк, хилер, дамагер), то такая формула не прокатит.

Тут я с тобой полностью согласен.


Windmill 2

WindMill 2D Game Engine
PesetsДата: Воскресенье, 27 Декабря 2009, 20:20 | Сообщение # 8
постоянный участник
Сейчас нет на сайте
Quote (nilrem)
Вариант, когда можно куда-то заныкаться и восстановить силы, здоровье, а потом вылезти и добить ослабленного, не имеющего аптечек компьютерного врага, не мой выбор.

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

Quote (nilrem)
И можно будет спокойно, не добив одного, переключится на второго.

Это если рассчет идет по первой формуле. Если же по второй, да еще и с интервалом в 60 секунд, то для N-ого противника множитель будет колебаться от N+0.016 до N+1, в зависимости от интервала между убийствами.
Таким образом если будет что-то вроде:
xx:00с - убит противник с базовым опытом 100
xx:59с - убит второй противник с базовым опытом 200
(уровни для простоты будем считать равными)
Игрок получит ~ 503 опыта. Причем независимо от того, дрался ли он с обоими противниками одновременно или же убил одного, восстановил силы и убил второго.
А если же что-то вроде:
xx:00с - убит противник с базовым опытом 100
xx:01с - убит второй противник с базовым опытом 200
Игрок получит ~ 696 опыта. Но в данном случае мы имеем гарантию, что бой проходил одновременно с двумя противниками.
Еще очень интересный вариант:
xx:00c - игрок начинает битву с противником с опытом 200
xx:10c - игрок убивает попутно мелкого противника с опытом 10
xx:20c - игрок убивает еще одного такого же
xx:25c - игрок убивает первого противника
Итого игрок получит 10+28+783=821 опыта. Выводы очевидны.



nilremДата: Воскресенье, 27 Декабря 2009, 21:02 | Сообщение # 9
Просветленный разум
Сейчас нет на сайте
Quote (Pesets)
Итого игрок получит 10+28+783=821 опыта. Выводы очевидны.

Да, но и по первой формуле в этом случае получится 30+30+600 = 660.

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

зы: Pesets, ты не только критикуй мои формулы, но и предлагай свои.


Windmill 2

WindMill 2D Game Engine
PesetsДата: Воскресенье, 27 Декабря 2009, 21:55 | Сообщение # 10
постоянный участник
Сейчас нет на сайте
Quote (nilrem)
Pesets, ты не только критикуй мои формулы, но и предлагай свои

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

КПО = БО / уровень * СУМ / МАКС_БО
Где
КПО - количество получаемого опыта
БО - базовое количество опыта (табличное значение * уровень существа)
СУМ - суммарное значение БО всех противников, сражавшихся с игроком во время текущей битвы. Его можно считать по схеме, которую я описывал для счетчика.
МАКС_БО - БО самого "жирного" противника из толпы

Добавлено (27.12.2009, 21:55)
---------------------------------------------
Тогда если мы будем сражаться с противником в 100 опыта и попутно раздавим штук восемь мелких по 5 опыта, коэф. будет 1.4
А если двух по 100 и, скажем, одного по 50, то будет 2.5





Сообщение отредактировал Pesets - Воскресенье, 27 Декабря 2009, 22:08
nilremДата: Воскресенье, 27 Декабря 2009, 22:27 | Сообщение # 11
Просветленный разум
Сейчас нет на сайте
Quote (Pesets)
КПО = БО / уровень * СУМ / МАКС_БО

А можно более внятный пример по формуле, с теми же двумя орками и шаманом.


Windmill 2

WindMill 2D Game Engine
anisimovДата: Воскресенье, 27 Декабря 2009, 22:48 | Сообщение # 12
старожил
Сейчас нет на сайте
Средняя ударная сила группировки противника вычисляется по самому сильному униту в группировке. Допустим у нас есть отделение пехоты вооружённое автоматами Калашникова. Отделение это где-то 6 человек. У командира есть ещё табельное оружие, допустим пистолет ПМ. И тот же автомат Калашникова. Кроме того у каждого бойца есть по четыре гранаты. Но у одного бойца есть ручной пулемёт РПШ. Так вот он и есть самый сильный юнит в отделении. Следовательно средняя ударная сила отделения вычислияется по пулемётчику.

http://vkontakte.ru/id56359373
Строю Город, обустраиваю Остров. Присоединяйтесь.
nilremДата: Воскресенье, 27 Декабря 2009, 22:52 | Сообщение # 13
Просветленный разум
Сейчас нет на сайте
Quote (anisimov)
Средняя ударная сила группировки противника вычисляется по самому сильному униту в группировке. Допустим у нас есть отделение пехоты вооружённое автоматами Калашникова. Отделение это где-то 6 человек. У командира есть ещё табельное оружие, допустим пистолет ПМ. И тот же автомат Калашникова. Кроме того у каждого бойца есть по четыре гранаты. Но у одного бойца есть ручной пулемёт РПШ. Так вот он и есть самый сильный юнит в отделении. Следовательно средняя ударная сила отделения вычислияется по пулемётчику.

Ты это зачем сейчас сказал?


Windmill 2

WindMill 2D Game Engine
anisimovДата: Воскресенье, 27 Декабря 2009, 22:56 | Сообщение # 14
старожил
Сейчас нет на сайте
А не ясно? Таким образом можно считать опыт получаемый в бою с разным количеством противников, формула то универсальная. Хоть для двух противников, хот для двух тысяч. Подсчёт ударной силы группировки ведётся по самому сильному юниту. Или самой сильной группировке в более крупной группировке. Вообще как показывает практика, хорошую эффективность дают не очень сложные формулы.

http://vkontakte.ru/id56359373
Строю Город, обустраиваю Остров. Присоединяйтесь.


Сообщение отредактировал anisimov - Воскресенье, 27 Декабря 2009, 22:57
nilremДата: Воскресенье, 27 Декабря 2009, 23:25 | Сообщение # 15
Просветленный разум
Сейчас нет на сайте
Quote (anisimov)
А не ясно? Таким образом можно считать опыт получаемый в бою с разным количеством противников, формула то универсальная.

Действительно, несуществующую формулу можно считать универсальной.
Где формула?

Quote (anisimov)
Подсчёт ударной силы группировки ведётся по самому сильному юниту.

Нонсенс. В одной группировке может быть 5 человек, в другой 50. В обоих пулеметчики. Значит их ударная сила одинакова?
Такая у тебя логика.

Quote (anisimov)
хорошую эффективность дают не очень сложные формулы.

Выше как раз такие. Не сложные, но вот эффективные ли...


Windmill 2

WindMill 2D Game Engine
TLTДата: Понедельник, 28 Декабря 2009, 02:06 | Сообщение # 16
Сейчас нет на сайте
Quote (nilrem)
Мана = Интеллект * уровень * дополнительный коэффициент.

Мана в тех же играх на ДД системе (например, недавно вышла Dragon Age) - количественный показатель, который на качество и мощь магии не влияет НИКАК. Это количество некой силы (маны), которое имеется у мага как показатель у воина "усталость". И за количество маны игрок покупает то или иное заклинание. На то или иное заклинание требуется какое-то количество маны. Тот маг, у которого больше маны не сильнее и не круче. У него может быть манны 100 ед, а в арсенале слабые магические заклинания типа "огненная стрела". А у другого мага будет 50 ед маны, но у него будет в навыках заклинание типа "огненный шторм", которое требует для исполнения 20 ед, но за 2 применения убьет другого мага.

Т.е. я бы манну рассматривал только как количественный показатель, который зависит по традиции от прокачки каких-то основных показателей типа интеллекта.


Дао, выраженное словами, не есть истинное Дао.
PesetsДата: Понедельник, 28 Декабря 2009, 09:27 | Сообщение # 17
постоянный участник
Сейчас нет на сайте
Quote (nilrem)
А можно более внятный пример по формуле, с теми же двумя орками и шаманом.

Ок, берем вышеописанную ситуацию:
1. Орк 13 уровня.
2. Орк 17 уровня.
3. Шаман орков 10 уровня.
Персонаж 20го уровня. Будем считать, что до смерти первого противника, в бой вступили все три противника (т.е. игрок сражается со всеми тремя одновременно).
Считаем опыт:
1. Орк, БО = 100*13 = 1300
2. Орк, БО = 100*17 = 1700
3. Шаман, БО = 250*10 = 2500
МАКС_БО = 2500
СУМ = 5500
Опыт за 1 Орка: (1300/20) * 5500 / 2500 = 65 * 2.2 = 143
Опыт за 2 Орка: (1700/20) * 5500 / 2500 = 85 * 2.2 = 187
Опыт за Шамана: (2500/20) * 5500 / 2500 = 125 * 2.2 = 275

Теперь для примера просчитаем ситуацию, когда игрок будет сражаться с противикаи последовательно (но противники будут вступать в бой друг за другом, так, что счетчик "комбо" не сбрасывается):

Тогда опыт будет рассчитываться так:
Опыт за 1 Орка: (1300/20) * 1300 / 1300 = 65 (т.к. против игрока сражался только 1 орк)
Опыт за 2 Орка: (1700/20) * 3000 / 1700 = 85 * 1.7 = 150 (т.к. игрок сражался с 2мя орками подряд, без передышки)
Опыт за Шамана: (2500/20) * 5500 / 2500 = 125 * 2.2 = 275

Вотъ

Quote (anisimov)
Средняя ударная сила группировки противника вычисляется по самому сильному униту в группировке.

Что я, собственно, и сделал.

Добавлено (28.12.2009, 09:27)
---------------------------------------------
В итоге, если игрок будет драться с каждым противником отдельно, он получит в сумме 275 опыта
Если последовательно, то 490
Если одновременно, то 605



anisimovДата: Понедельник, 28 Декабря 2009, 15:41 | Сообщение # 18
старожил
Сейчас нет на сайте
Quote (nilrem)
В одной группировке может быть 5 человек, в другой 50. В обоих пулеметчики. Значит их ударная сила одинакова?

Нет не так. Средняя ударная сила группировки вычисляется по силе самого сильного юнита группировки. Разумеется с учётом численности и группировки. Но независимо от численности группировки 6 бойцов или 600 принцип подсчёта средней ударной силы одинаков.

То есть если у нас в батальоне самым сильным юнитом будет танк, то и считать ударную силу надо по танку, а не по гранатомётчику. Хотя если группировки вооружены по разному.

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

То есть если у нас будет так. Четыре автоматчика, снайпер, пулемётчик. Против, четыре автоматчика, снапер, пулемётчик. То самым сильным юнитом будет пулемётчик в обеих группировках. По нему и считается средняя огневая мощь.

Формула универсальна, и от численности группировки не зависит, она учитывает состав группировки. Разумеется это самая простая формула.


http://vkontakte.ru/id56359373
Строю Город, обустраиваю Остров. Присоединяйтесь.


Сообщение отредактировал anisimov - Понедельник, 28 Декабря 2009, 15:43
YemSalatДата: Понедельник, 28 Декабря 2009, 19:46 | Сообщение # 19
заслуженный участник
Сейчас нет на сайте
Мне кажется что финальная формула будет ну ооочень здоровой, можно например расчитывать отношение наносимого урона одной команды и защиты против такого типа урона другой, и так для каждого вида урона и защиты
в результате, как-бы предугадывая у какой команды больше шансов на победу, а опыт давать чисто по нанесенным повреждениям, так на мой взгляд реальнее


no0 - 2d шутер
Ваня Через Дорогу - симулятор вани
FPS inspector - проверь мощность своего компьютера
Baloons! - онлайн рекорды!

CombatForce - в разработке

Сообщение отредактировал YemSalat - Понедельник, 28 Декабря 2009, 19:47
PesetsДата: Понедельник, 28 Декабря 2009, 20:19 | Сообщение # 20
постоянный участник
Сейчас нет на сайте
Quote (YemSalat)
Мне кажется что финальная формула будет ну ооочень здоровой

Все вышеуказанные формулы работают буквально за считанные такты... Не вижу тут ничего здорового...
Quote (anisimov)
Четыре автоматчика, снайпер, пулемётчик. Против, четыре автоматчика, снапер, пулемётчик. То самым сильным юнитом будет пулемётчик в обеих группировках. По нему и считается средняя огневая мощь.

Это если пулеметчик имеет абсолютное превосходство над остальными юнитами. В противном случае, надо будет учитывать, могут ли, например, четыре автоматчика противостоять пулеметчику...и так далее...



  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг