Тема: "Формула" расчета вероятности присоединения пленников.  (Прочитано 28530 раз)

18 Декабря, 2009, 17:04
0
Дабы не возникало лишних вопросов впоследствии - вот как рассчитывается шанс на присоединение освобожденных пленников (в версии..эммм...0.5 видимо). Цифры можно обсуждать, предлагать свои условия и следствия.

Если игрок не является вассалом, юниты > 20 уровня не будут присоединяться.

отн_с_фр: отношения игрока с фракций юнита;
разн_в_ур: разница в уровнях между игроком и юнитом (учитывается только положительная разница, т.е. ур. игрока > ур. юнита);
саем_персун: в партии игрока есть такие же юниты;
известность: известность игрока;
фр_игрока: фракция игрока, если он чей-то вассал;
фр_юнита: фракция юнита;
убеждения: уровень навыка "убеждение" у игрока;

Шанс = (убеждение *5) + (отн_с_фр > 0 ? отн_с_фр /2 : отн_с_фр *3) + (если (разн_в_ур) > 20 : +30; если (разн_в_ур) > 10: +15; иначе: +7;) + (саем_персун ? +10 : +0) + (известность / 30) + (фр_игрока == фр_юнита ? +20 : +0);

Пояснения: конструкция (что-то ? 1 : 2) означает, что если условие ("что-то") до ? верно, будет выполнено 1, если нет - 2.
« Последнее редактирование: 18 Декабря, 2009, 17:22 от ConstantA »
Ответ #1 18 Декабря, 2009, 18:06
0
[...]
Если игрок не является вассалом, юниты > 20 уровня не будут присоединяться.
[...]
Шанс = (убеждение *5) + (отн_с_фр > 0 ? отн_с_фр /2 : отн_с_фр *3) + (если (разн_в_ур) > 20 : +30; если (разн_в_ур) > 10: +15; иначе: +7;) + (саем_персун ? +10 : +0) + (известность / 30) + (фр_игрока == фр_юнита ? +20 : +0);
Ето как?
« Последнее редактирование: 18 Декабря, 2009, 18:12 от yart »
Ответ #2 18 Декабря, 2009, 18:14
0
1) Предложил бы исключить из формулы саем_персун: хоть это и реалистично, но вредит балансу.
2) известность лучше делить не на 30, а на 150, т.к., во-первых, известность и так является ценным ресурсом и ещё больше увеличивать её ценность не стоит, во-вторых, быстро достигает величины в 1500+.
3) предложил бы ввести фактор маршальства (шанс +10% для своей нации).
4) планку уровня неприсоединения чужих юнитов неплохо бы поднять до 23, чтобы заблокированной осталась только последняя динейка.

yart
Да, 192%. Что не так?
Ответ #3 18 Декабря, 2009, 18:30
0
yart, собственно все правильно, ГГ большого уровня, навык убеждения максимален, убеждают самый низкий уровень своей фракции. 192% означает что пойдет на службу и с радостью, тем более что разговор идет про освобожденных ГГ из плена

Вот если бы было 200% и выше, тогда должен еще и других уговаривать )
Ответ #4 18 Декабря, 2009, 18:50
0
Chekan
Если больше 200%, то он должен будет материализоваться возле компа игрока и, со словами "Слушаю и повинуюсь, о мой господин!" выполнить одно желание. Например, сгонять за пивом :)

Как-то сложно представить себе событие, с вероятностью больше единицы :)

ConstantA
Может быть, имеет смысл переделать так:
Х = (убеждение *5) + (отн_с_фр > 0 ? отн_с_фр /2 : отн_с_фр *3) + (если (разн_в_ур) > 20 : +30; если (разн_в_ур) > 10: +15; иначе: +7;) + (саем_персун ? +10 : +0) + (известность / 30) + (фр_игрока == фр_юнита ? +20 : +0)
Шанс = (Х<=100 ? Х/100 : 1) , как считаешь?
Ответ #5 18 Декабря, 2009, 19:28
0
yart,
Шанс := min (Шанc, 100);
Поэтому значения выше ста допустимы.
Затем выбирается случайное значение из промежутка 0-100 и если оно <= шансу, юнит добавляется как вариант выбора.
У непрокачанного ГГ тоже должны быть шансы
Поскольку модульная работает с только целыми значениями, расчет идет по стобальной шкале
Ответ #6 18 Декабря, 2009, 20:23
0
ConstantA
Как быть с отрицательной вероятностью?

Юнит материализуется возле компа игрока, но на пожелание сгонять за пивком, двинет его (игрока) вилами/топором/копьём по чеклану? :)

1) Предложил бы исключить из формулы саем_персун: хоть это и реалистично, но вредит балансу.
Никак не могу взять в толк, чем оно вредит балансу?
« Последнее редактирование: 18 Декабря, 2009, 20:27 от yart »
Ответ #7 18 Декабря, 2009, 20:30
0
Переменные:
отн_с_фр = -5
разн_в_ур = 0
саем_персун = фалсе
известность = 0
фр_игрока = русь
фр_юнита = !русь
убеждения = 0
Ну, что-то сомневаюсь я, что такая вводная вообще возможна...

Результат расчёта: Шанс = -8
If chance<0 then chance:=0
;)
Ответ #8 18 Декабря, 2009, 20:52
0
Результат расчёта: Шанс = -8
Юнит материализуется возле компа игрока, но на пожелание сгонять за пивком, двинет его (игрока) вилами/топором/копьём по чеклану? :)
Да не влияет это. Хоть -1000. Поскольку случайное значение берется из промежутка (не могу правильное название вспомнить :( ) 0-100, оно не может быть меньше -8, значит - юнит не будет присоединятся.
Ответ #9 18 Декабря, 2009, 20:57
0
1. Ну, что-то сомневаюсь я, что такая вводная вообще возможна...

2. If chance<0 then chance:=0
;)
1. Значица так:
отн_с_фр = -5 /*Старт. ГГ первого уровня врезается в битву между своим и чужим лордом. Кстати, по формуле здесь -15*/
разн_в_ур = 0 /*После битвы ему достается в качестве кандидата в отряд смерд/poehel/хлоп (крестьянин, в общем :)) из пленников вражеского лорда. По формуле здесь +7*/
саем_персун = фалсе /*В армии ГГ еще никого нет. Совсем :) (0)*/
известность = 0 /*Старт же. В битве ГГ волынил и шхерился по кустам, чтобы не прибили не дай Бог. Никого не убил, даже случайно. Впрочем, при известности до 14, по формуле получается 0, при известности до 100, получается 3. Некритично.*/
фр_игрока = русь /*тут понятно :) (0)*/
фр_юнита = !русь /*тут тоже :) (0)*/
убеждения = 0 /*здесь, думаю, тоже :) (0)*/

2. Надо прикинуть варианты. Чуть позже отпишу.
Ответ #10 18 Декабря, 2009, 21:27
0
1) Предложил бы исключить из формулы саем_персун: хоть это и реалистично, но вредит балансу.
Никак не могу взять в толк, чем оно вредит балансу?
Убеждение, отношения с фракцией, известность - это всё надо зарабатывать. Саем_персун - вещь либо слишком случайная, либо слишком лёгкая.

Ещё предложил бы убрать либо влияние известности, либо влияние уровня, посколько они идут бок-о-бок и фактически дублируют друг друга. Причём с моей точки зрения убрать лучше именно известность, потому что уровень отследить проще (иными словами, я плохо помню своё состояние на момент 1000 известности, зато примерно представляю его на момент 20 уровня).
Ответ #11 18 Декабря, 2009, 22:57
0
1. Значица так:
отн_с_фр = -5 /*Старт. ГГ первого уровня врезается в битву между своим и чужим лордом. Кстати, по формуле здесь -15*/
разн_в_ур = 0 /*После битвы ему достается в качестве кандидата в отряд смерд/poehel/хлоп (крестьянин, в общем :)) из пленников вражеского лорда. По формуле здесь +7*/
саем_персун = фалсе /*В армии ГГ еще никого нет. Совсем :) (0)*/
известность = 0 /*Старт же. В битве ГГ волынил и шхерился по кустам, чтобы не прибили не дай Бог. Никого не убил, даже случайно. Впрочем, при известности до 14, по формуле получается 0, при известности до 100, получается 3. Некритично.*/
фр_игрока = русь /*тут понятно :) (0)*/
фр_юнита = !русь /*тут тоже :) (0)*/
убеждения = 0 /*здесь, думаю, тоже :) (0)*/
2. Надо прикинуть варианты. Чуть позже отпишу.
Оставив в стороне состояние психического здоровья человека, который на первом уровне вступает в битву 2 лордов (где его не убьет разве что крестьянин), я отмечу только, что если фр_юнита = !русь, то отношения с другими фракциями автоматом идут в минус, поэтому присоединиться в битву на их стороне нельзя. А если у игрока нашлись деньги, чтобы заплатить за мир, то в 99.99% случаев известность тоже будет иметься.
Ответ #12 18 Декабря, 2009, 23:45
0
JoG
Я могу еще чутка поиграть с цифрами и выдать картинку с отрицательной вероятностью по данной формуле в других условиях. Это непринципиально, как мне кажется. :) Главное, что есть вероятность такой вероятности :) Или как-то так.
А насчёт психов - так тут где-то отписывались орлы, которые ухитрялись на нулевом уровне выиграть стартовую битву. Так что всё возможно :) Это ж игра.

Да не влияет это. Хоть -1000. Поскольку случайное значение берется из промежутка (не могу правильное название вспомнить :( ) 0-100, оно не может быть меньше -8, значит - юнит не будет присоединятся.
Фкурил :)

Убеждение, отношения с фракцией, известность - это всё надо зарабатывать. Саем_персун - вещь либо слишком случайная, либо слишком лёгкая.

Ещё предложил бы убрать либо влияние известности, либо влияние уровня, посколько они идут бок-о-бок и фактически дублируют друг друга. Причём с моей точки зрения убрать лучше именно известность, потому что уровень отследить проще (иными словами, я плохо помню своё состояние на момент 1000 известности, зато примерно представляю его на момент 20 уровня).
По саем_персун - может быть просто уменьшить влияние на вероятность? Я ниже описал.

Далее:
Привязка к уровеню в формуле даёт возможность присоединять всяких крестьян и прочих ополченцев высокоуровнему ГГ, что положительно скажется на использовании игроком пехоты и логично само по себе. С известностью же ГГ штука совсем интересная - в формуле она оказывает только положительный эффект, независмо от отношений с фракциями. Мне же видится другая картинка: чем известнее наш ГГ, тем меньше вражеских юнитов хотело бы служить в его армии и наоборот. Плюс репутация, она же honor, она же уважение. Её вообще никто не хочет учитывать.

У меня вывод по предложеной формуле такой:
1. фр_игрока==фр_юнита
На начальных уровнях вероятность присоединения любого юнита своей фракции болтается в районе 0,5. Соответственно с ростом уровня и известности вероятность быстро приближается к единице, независимо от навыка убеждения, при условии нейтральных или положительных отношений со своей фракцией. При отрицательных же отношениях, основную роль играет уровень навыка убеждения. Это логично. Камрад Paleh предлагает убрать влияние однотипного отряда на вероятность присоединения, но я думаю, что надо его оставить, но уменьшить. При текущей, авторской, раскладке, аналогичный отряд увеличивает вероятность на 10%. Это многовато. Думаю (саем_персун ? +5 : +0) -> 5% будет в самый раз.

Вот примеры в авторской раскладке:

Активней всех будут присоединяться крестьяне :)

2. фр_игрока!=фр_юнита
На начальных уровнях вероятность присоединения любого юнита достаточно низкая - порядка 0,1-0,2. С ростом уровня и известности ГГ ситуация сохраняет стабильность в случае враждебных действий ГГ против фракции юнита, и наблюдается рост вероятности, в случае нейтральных отношений между ГГ и всё той же фракцией юнита. Здесь, кстати, очень большое значение будет иметь навык убеждения. Чем он выше, тем больше ГГ может залазить в минуса в отношениях. Хорошим подспорьем является наличие в армии ГГ аналогичных юнитов. Логично, но стоит подрезать, как и в п.1 до 5%, бо многовато.

Примеры, также в авторской раскладке:


Итого: формула в-принципе, на мой взгляд, хорошая. Возможно стоит только подредактировать влияние саем_персун. Но! Есть другое предложение, только в цифирях я его озвучу чуть позже. Надо немного попроверять.
__________________

В общем:
1.Шанс = (убеждение*3) + (лидерство) + (отн_с_фр>0 ? отн_с_фр/2 : отн_с_фр*3) + (разн_в_ур>20 ? (хонор>=0 ? хонор/2+10 : хонор+10) : (разн_в_ур>10 ? (хонор>=0 ? хонор/2+5 : хонор+5) : (хонор>0 ? хонор/2 : хонор-10))) + (саем_персун ? 5 : 0) + (известность/200+отн_с_фр) + (фр_игрока==фр_юнита ? 20 : -10)
2.Шанс = (Шанс<0 ? Шанс = 0 : (Шанс>100 ? Шанс = 100 : Шанс))
3.Шанс = (война_с_фр_юнита ? Шанс*0,6 : Шанс)

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

Если поменять пп.2 и 3 местами, то вероятность присоединения в случае войны будет гораздо выше.

Основные отличия от авторской формулы:

Чё надо доработать:

Если надо примеры - то это завтра. Сегодня выдохся.
ЗЫ Извините за простыню.

Добавлено: 19 Декабря, 2009, 09:14
И еще: может быть для всяких разных бандитов не делать проверку на вероятность присоединения к армии ГГ? Пускай присоединяются всегда.
« Последнее редактирование: 19 Декабря, 2009, 09:14 от yart »
Ответ #13 19 Декабря, 2009, 21:03
0
А если ГГ изначально играет за мятежников какой-либо фракции?
Ответ #14 19 Декабря, 2009, 21:55
0
А если ГГ изначально играет за мятежников какой-либо фракции?

ГГ будет бегать со всякими разными бандитами на которых не действует вероятность присоединения. ("присоединяются всегда")  :)
Ответ #15 21 Декабря, 2009, 01:30
0
А если ГГ изначально играет за мятежников какой-либо фракции?
А это актуально для "Русь XIII век"? :)

Насколько я понял, поддержка мятежников игрой будет похерена в ближайшем патче/релизе. Или я чего-то недопонял?
Ответ #16 21 Декабря, 2009, 01:53
0
Melvok, бандиты/дезертиры составляют свою минорную "фракцию" и от отношения с ними зависят шансы на наем из плена, качатся можно будет не только на бандитах )
Ответ #17 21 Декабря, 2009, 02:06
0
Chekan
А ето как?
Это получается, можно с бандитами улучшать/ухудшать отношения? О_о
Каким макаром это делается? Сколько играю, ни разу такой возможности не встречал.

не было, будет... а потом возможно снова не будет, во всяком случае в текущей(закрытой) версии патча эта возможность есть, но "все течет, все меняется"
Чекан
« Последнее редактирование: 21 Декабря, 2009, 03:05 от Chekan »
Ответ #18 04 Января, 2010, 23:15
0
Господа ну что за глупости, я конечно не хочу вступать в долгие исторические дискуссии, но разве большинству солдатни, не было па барабану под чьими знамёнами ходить, воровать грабить и тд? Ну какой здравомыслящий солдат пойдёт по миру когда у него есть отличный шанс присоединиться к лорду который выиграл туеву хучу битв, который не знает поражений у которого всегда много жрачки и стабильно платиться жалование? Всегда армии собирались из поверженных вражих армий. Римскую империю строили далеко не римляне ;))

к примеру вспомнить Пунические войны,  войны на истребление и до победного...
Чекан
« Последнее редактирование: 05 Января, 2010, 00:49 от Chekan »
Ответ #19 05 Января, 2010, 00:02
0
Господа ну что за глупости, я конечно не хочу вступать в долгие исторические дисскуссии
А придется :)
но разве большинству солдатни, небылоли пабарабану под чьими знамёнами ходить, воровать грабить и тд? Ну какой здравомыслящий солдат пойдёт помиру когда у него есть отличный шанс присоединиться к лорду который выйграл туеву хучу игр, который незнает поражений у которогов сегда много жрачки и стабильно платиться жалование? Всегда армии собирались из поверженных вражих армий. Оимскую империю строили далеко не римляне ;))
Специфика региона. Три разные культуры, три (или даже четыре, если брать Литву) разные религии. Я не представляю тевтонцев в войске лорда Руси, так же как и монголов в войске Тевтонского ордена. Как союзники - да, как постоянная часть отряда - это бред, ИМХО.
Ответ #20 10 Января, 2010, 11:24
0
С личным прискорбием (очень нравилось "на халяву"получать топовых юнитов) соглашусь с о спецификой региона, хотя низкоуровневый тевтонец - это не "брат-рыцарь". Предлагаю внести корректировку - если ГГ победил превосходящее по силам войско это добавляет шанс найма. Сами подумайте, как привлекателен такой лидер для профессионала, у такого полководца служить и безопаснее и сытнее. Даже Наполеон, назначая маршалов, интересовался: "а он удачлив?" А уж для средневековья понятие удачи - это главное! Вспомните скандинавские саги! М/у тем временем и 13 веком гораздо меньше разница менталитетов, если вообще есть ;)
Ответ #21 12 Января, 2010, 15:51
0
ConstantA
Финальная формула выглядит как та, что в первом посте, или что-то изменилось?
Ответ #22 12 Января, 2010, 16:51
0
Известность делится на 50, разница в уровнях дает + равный собственно самой разнице.
Ответ #23 12 Января, 2010, 22:17
0
ConstantA
По поводу присоединения пленников. Мне на другом форуме задали резонные, в принципе, вопросы, по поводу присоединения пленников и отказа смердов присоединиться:
Цитировать (выделенное)
Почему не увеличивается вероятность для смердов пойти ко мне, если у меня есть старые охотники?
Зачем смердам моя _мировая_ известность? Они люди маленькие, должны смотреть на отряд и мораль отряда. Или и в 13 веке думали, что смерд должен иметь доступ к межгосударственной информации?

Несколько непонятен первый вопрос.
А почему вероятность вообще должна увеличиваться, даже если у меня есть те же смерды? Старые охотники - они старые пердуны и зануды, нелюдимые бородачи, средневековые живодеры, вероятность еще и уменьшаться должна.
По второму:
Люди маленькие сидят по лавкам и лапти плетут, а не нанимаются всяким разным в отряды. В 13 веке люди интересовались политикой, имхо больше, чем сейчас. Неугодного князя погнать, более удачливого лидера пригласить, бучу устроить. "Слухом земля полнится".
В целом, в этом вопросе есть свой резон, я хотел переделать систему известности, сделать её по типу "кругов на воде", но это сложно и пока есть более насущные задачи.
С.

Updated:
Первый вопрос был именно по поводу общей логики влияния same_person на вероятность присоединения.
Второй вопрос... гм, скорость распространения новостей в 13 веке вообще была небольшая, особенно во всякие деревни (другое дело, что в моде "деревни" это на самом деле по истории довольно крупные города). Да и какая разница крестьянам кто сейчас княжит? Это киевляне/новгородцы могли устроить революцию, а крестьянам-то какое до этого дела? И так будут землю обрабатывать и оброк платить, и так.
Идея распространения новостей "кругами" хорошая :).
« Последнее редактирование: 13 Января, 2010, 06:42 от JoG »
Ответ #24 04 Февраля, 2010, 14:46
0
Эээ...
Убеждение == 5 (+25)
отн_с_фр == 100 (+50)
разн_в_ур == положим, +5
саем_персун == +10
известность == 1000 (+20)
фр_игрока_суть_фр_юнита == +20

Итого 25+50+5+10+20+20 == 130
Т.е. зашкаливает
Так почему они, сволочи, не все присоединяются? Сколько корованы с пленными ни грабь...
Далее, перед грабежом тех самых корованов с пленными, кои в Корсунь тащатся, я выделяю из дружины своей пару-тройку компаньонов с небольшими отрядами, в зависимости от числа пленных при короване, себе оставляя где-то 30-40 человек свободного места. Атакую корован, ко мне присоединяется от 20 до 40 пленников, а вот партии компаньонов оказываются забиты под завязку. В основном, правда, татниками, бандитами, и прочей лимитой, но таки это уже войско (да и кошерная элита попадается), два-три корована - и можно город брать... Это баг ведь, не так ли? Вообще, с этими компаньонами надо что-то делать, ибо отчасти чит, отчасти - дичайшая боль головная, но об этом в другой теме.

Еще, вот хотел спросить: когда требуешь от вражьего лорда перед боем освободить пленных, шанс, вроде, повыше, или нет? По крайней мере, мне так показалось.
 

0 Пользователей и 1 Гость просматривают эту тему.

Теги: